Следующие разделы описывают, как использовать примеры приложения, которые включаются в пакет RI JAXB. Пакет RI JAXB доступен от http://jaxb.java.net. Загрузите и установите пакет RI JAXB. Примеры располагаются в jaxb-ri-install/samples/ каталоге. Эти примеры демонстрируют и полагаются на функции ключа JAXB и понятия. Следуйте за этими процедурами в представленном порядке.
После чтения этого раздела следует чувствовать себя довольными достаточно JAXB, что Вы можете:
Генерируйте классы Java JAXB из XML-схемы
Используйте полученные из схемы классы JAXB, чтобы неупорядочить и упорядочить контент XML в приложении Java
Создайте дерево контента Java использование полученных из схемы классов JAXB
Проверьте контента XML во время немаршалинга и во времени выполнения
Настройте привязку схемы к Java JAXB
Этот документ описывает три набора примеров:
Основные примеры (Изменяют, Упорядочивают, Неупорядочивают, Проверяют), демонстрируют основные понятия JAXB, такие как немаршалинг, маршалинг, и проверка допустимости контента XML, используя настройки по умолчанию и привязку.
Настроить примеры (Настраивают Встроенный Преобразователь Типа данных, Внешний, Настраивают), демонстрируют различные способы настроить привязку значения по умолчанию XML-схем к объектам Java.
Примеры Java к схеме показывают, как использовать аннотации, чтобы отобразить классы Java XML-схемы.
Отметьте: основные и настраивают примеры, основаны на сценарии Заказа на поставку. Каждый использует XML-документ, po.xml, записанный против XML-схемы, po.xsd. Эти документы получаются из Части 0 XML-схемы W3C: Учебник для начинающих, отредактированный Дэвидом К. Фаллсайдом.
Основные и настраивают каталоги в качестве примера, содержат несколько основных файлов:
po.xsd является XML-схемой, которая привыкла как входной к JAXB обязательный компилятор, и от которого будут сгенерированы полученные из схемы классы Java JAXB. Для Настраивания примеров Преобразователя Встроенного и Типа данных этот файл содержит встроенные обязательные настройки.
po.xml является XML-файлом Заказа на поставку, содержащим демонстрационный контент XML, и это - файл, неупорядоченный в дерево контента Java в каждом примере. Этот файл является почти тем же самым в каждом примере; есть незначительные различия в контенте, чтобы выделить различные понятия JAXB.
Main.java является основным Java class для каждого примера.
build.xml является файлом проекта Муравья, предусмотренным Ваше удобство. Используйте инструмент Муравья, чтобы генерировать, скомпилировать, и выполнить полученные из схемы классы JAXB автоматически. Файл build.xml изменяется через примеры.
MyDatatypeConverter.java в примере inline-customize является Java class, используемый, чтобы обеспечить пользовательские преобразования типа данных.
binding.xjb во Внешнем Настраивает пример, внешний обязательный файл объявлений, который передают к JAXB обязательный компилятор, чтобы настроить значение по умолчанию привязка JAXB.
Следующие таблицы кратко описывают основное, настраивают, и Java к схеме примеры JAXB.
Иллюстрирует, как использовать внешний обязательный файл объявлений, чтобы передать обязательные настройки для схемы только для чтения к JAXB обязательный компилятор.
Демонстрирует, как использовать ObjectFactory class, чтобы создать дерево контента Java и упорядочить это к данным XML. Это также демонстрирует, как добавить контент к свойству JAXB List.
Иллюстрирует, как использовать @XmlAccessorOrder и аннотации отображения @XmlType.propOrder в классах Java, чтобы управлять порядком, в котором контент XML упорядочивается или неупорядочивается по типу Java.
Иллюстрирует, как использовать интерфейс XmlAdapter и аннотация @XmlJavaTypeAdapter, чтобы обеспечить пользовательское отображение контента XML в и из HashMap (поле), которое использует interger (int) в качестве ключа и строки (String) как значение.
Иллюстрирует, как использовать аннотацию @XmlType, чтобы отобразить class или тип enum к типу XML-схемы.
Опции Компилятора JAXB
JAXB XJC схема обязательный компилятор преобразовывает, или связывает, исходная XML-схема к ряду классов контента JAXB в языке программирования Java. Компилятор class, xjc, обеспечивается как: xjc.sh на Солярисе/Linux и xjc.bat на Windows в пакете RI JAXB. xjc class включается в JDK библиотека class (в tools.jar).
И xjc.sh и xjc.bat берут те же самые параметры командной строки. Можно вывести на экран быстрые инструкции использования, вызывая сценарии без любых опций, или с переключателем -help. Синтаксис следующие:
Если dir будет определен, то все файлы схемы в каталоге будут скомпилированы. Если jar будет определен,/META-INF/sun-jaxb.episode то обязательный файл будет скомпилирован.
Параметры командной строки xjc следующие:
-nv
Не выполняйте строгую проверку допустимости входной схемы или схем. По умолчанию xjc выполняет строгую проверку допустимости исходной схемы перед обработкой. Отметьте, что это не означает, что обязательный компилятор не будет выполнять проверки допустимости; это только выполнит менее - строгая проверка допустимости.
-extension
По умолчанию XJC обязательный компилятор строго осуществляет правила, обрисованные в общих чертах в главе Совместимости Спецификации JAXB. В значении по умолчанию (строгий) режим Вы также ограничиваетесь использованием только обязательных настроек, определенных в спецификации. При использовании переключателя -extension Вам разрешают использовать Расширения Поставщика JAXB.
Файл-b
Определите один или более внешних обязательных файлов, чтобы обработать. (У каждого обязательного файла должен быть свой собственный переключатель -b.) Синтаксис внешних обязательных файлов гибок. У Вас может быть единственный обязательный файл, который содержит настройки для многократных схем, или можно повредить настройки в многократные файлы привязки. Кроме того, упорядочивание файлов схемы и обязательных файлов на командной строке не имеет значения.
dir-d
По умолчанию XJC обязательный компилятор генерирует классы контента Java в текущем каталоге. Используйте эту опцию, чтобы определить альтернативный выходной каталог. Каталог должен уже существовать; XJC обязательный компилятор не создает один для Вас.
Пакет-p
Определите альтернативный выходной каталог. По умолчанию XJC обязательный компилятор генерирует классы контента Java в текущем каталоге. Выходной каталог должен уже существовать; XJC обязательный компилятор не создает один для Вас.
Прокси-httpproxy
Определите прокси HTTP/HTTPS. Форматом является [user[:password]@]proxyHost[:proxyPort]. Старые опции -host И -port все еще поддерживаются Ссылочной Реализацией для обратной совместимости, но они были осуждены.
-httpproxyfilef
Работы как опция -httpproxy, но берут параметр в файле, чтобы защитить пароль.
Аргумент-classpath
Определите, где счесть клиентское приложение файлами class используемый настройками <xjc:superClass> и <jxb:javaType>.
Файл-catalog
Определите файлы каталога, чтобы разрешить внешние ссылки на сущность. Поддерживает TR9401, XCatalog, и XML ОАЗИСА формат Каталога. Для получения дополнительной информации см. XML Объект и документ Преобразователей URI или исследуйте пример приложения преобразователя каталога.
-readOnly
Вынудите XJC обязательный компилятор отметить сгенерированные источники Java как только для чтения. По умолчанию, XJC, обязательный компилятор не защищает от записи исходные файлы Java, которые это генерирует.
-npa
Подавите генерацию аннотаций уровня пакета в **/package-info.java. Используя этот переключатель заставляет сгенерированный код усваивать те аннотации в другие сгенерированные классы.
-no-header
Подавите генерацию заголовка файла с меткой времени.
-target (2.0|2.1)
Ведите себя как XJC 2.0 или 2.1 и генерируйте код, что doesnt используют любой XJC 2.2 функции.
-enableIntrospection
Позвольте корректной генерации Булевых методов get/методов set включить Бобовой пчеле Самоанализа.
-contentForWildcard
Генерирует свойство контента для типов с многократным xs:any полученные элементы.
-xmlschema
Обработайте входные схемы как XML-схему W3C (значение по умолчанию). Если Вы не определяете этот переключатель, Ваши входные схемы обрабатываются как XML-схема W3C.
-verbose
Будьте дополнительны многословный в выходе компилятора.
-quiet
Подавите выход компилятора, такой как информация о продвижении и предупреждения.
-help
Выведите на экран краткую сводку переключателей компилятора.
-version
Выведите на экран информацию о версии компилятора.
-fullversion
Выведите на экран компилятор полная информация о версии.
-Xinject-code
Введите определенные фрагменты кода Java в сгенерированный код.
-Xlocator
Включите исходной поддержке расположения сгенерированного кода.
-Xsync-methods
Генерируйте методы средства доступа с ключевым словом synchronized.
-mark-generated
Отметьте сгенерированный код с -@javax.annotation. Сгенерированная аннотация.
-episode FILE
Генерируйте файл эпизода для раздельной компиляции.
Опция Генератора Схемы JAXB
Генератор Схемы JAXB, schemagen, создает файл схемы для каждого пространства имен, на которое ссылаются в Ваших классах Java. Генератор схемы может быть запущен при использовании соответствующего сценария оболочки schemagen в каталоге bin для Вашей платформы. Генератор схемы обрабатывает исходные файлы Java только. Если Ваши источники Java ссылаются на другие классы, те источники должны быть доступными от Вашей системной переменной окружения ПУТИ К КЛАССУ; иначе ошибки произойдут, когда схема будет сгенерирована. Нет никакого способа управлять именем сгенерированных файлов схемы.
Можно вывести на экран быстрые инструкции использования, вызывая сценарии без любых опций или при использовании опции -help. Синтаксис следующие:
schemagen [-d path]
[java-source-files]
Опция пути-d определяет расположение сгенерированного процессором, и javac - генерировал файлы class.
О Привязке Схемы к Java
Когда Вы работаете, JAXB обязательный компилятор против XML-схемы po.xsd, используемой в основных примерах (Неупорядочьте Чтение, Измените, Упорядочивают, Неупорядочивают, Проверяют), JAXB, обязательный компилятор генерирует пакет Java под названием primer.po, содержащий классы, описанные в следующей таблице.
Таблица: полученные из схемы Классы JAXB в Основных Примерах
Класс
Описание
primer/po/Items.java
Открытый интерфейс, который связывает со схемой complexType по имени Items.
primer/po/ObjectFactory.java
Общедоступный class, расширяющий com.sun.xml.bind.DefaultJAXBContextImpl; используемый, чтобы создать экземпляры указанных интерфейсов. Например, метод ObjectFactorycreateComment() инстанцирует объекта Comment.
primer/po/PurchaseOrderType.java
Открытый интерфейс, который связывает со схемой complexType по имени PurchaseOrderType.
primer/po/USAddress.java
Открытый интерфейс, который связывает со схемой complexType по имени USAddress.
Эти классы и их определенная привязка к исходной XML-схеме для основных примеров описываются в следующей таблице.
Таблица: Привязка схемы к Java для Основных Примеров