WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

Java Architecture for XML Binding (JAXB) позволяет Java разработчикам ставить в соответствие Java классы и XML представления. JAXB предоставляет две основные возможности: маршаллирование Java объектов в XML и наоборот, то есть демаршализация из XML обратно в Java объект. Другими словами, JAXB позволяет хранить и извлекать данные в памяти в любом XML-формате, без необходимости выполнения определенного набора процедур загрузки и сохранения XML. Он похож на xsd.exe и XmlSerializer в .NET Framework.

JAXB особенно полезен, когда спецификация является сложной и меняющейся. В этом случае, постоянные изменения схемы XML определений для синхронизации их с определениями Java могут занять много времени и быть подвержены ошибкам.

JAXB является частью Java SE платформы и является одной из API в Java EE платформе, и является частью Java Web Services Development Pack (JWSDP). Он также является базисом для WSIT. JAXB является частью SE версии 1.6.

JAXB 1.0 был разработан в рамках Java Community Process как JSR 31.[1] Как и в 2006, JAXB 2.0 разрабатывается в рамках JSR 222.[2] Эталонная реализация для этих спецификаций доступна как CDDL open source license на java.net.

Использование

Инструмент «xjc» может использоваться для конвертации XML схемы и схем других файловых типов (как в Java 1.6, RELAX NG, XML DTD, и WSDL поддерживаются экспериментально) в классовые представления.[3] Классы помечаются при помощи аннотаций из пространства имен javax.xml.bind.annotation.*, например, @XmlRootElement и @XmlElement. Последовательности XML-списков представлены атрибутами типа java.util.List. Сериализаторы и десериализаторы создаются через экземпляр JAXBContext

Кроме того, JAXB включает в себя инструмент «schemagen», который может по существу выполнять обратное к «xjc», создавая XML-схему из набора аннотированных классов.

Связывание типов данных по умолчанию

В таблице ниже перечислены отображения типов данных XML схемы (XSD) и типов данных Java в JAXB.[4]

XML Schema Type Java Data Type
xsd: string java.lang.String
xsd: integer java.math.BigInteger
xsd: positiveInteger java.math.BigInteger
xsd: int int
xsd: long long
xsd: short short
xsd: decimal java.math.BigDecimal
xsd: float float
xsd: double double
xsd: boolean boolean
xsd: byte byte
xsd:QName javax.xml.namespace.QName
xsd: dateTime javax.xml.datatype.XMLGregorianCalendar
xsd: base64Binary byte[]
xsd: hexBinary byte[]
xsd: unsignedInt long
xsd: unsignedShort int
xsd: unsignedByte short
xsd: unsignedLong java.math.BigDecimal
xsd: time javax.xml.datatype.XMLGregorianCalendar
xsd: date javax.xml.datatype.XMLGregorianCalendar
xsd: g javax.xml.datatype.XMLGregorianCalendar
xsd: anySimpleType (для элементов этого типа) java.lang.Object
xsd: anySimpleType (для атрибутов этого типа) java.lang.String
xsd: duration javax.xml.datatype.Duration
xsd:NOTATION javax.xml.namespace.QName

Версии

  • Java SE 7: JAXB 2.2.3 (JSR 222, maintenance release 2)[5]
  • Java SE 6: JAXB 2.0 (JSR 222)[6]

Также смотрите

Примечания

  1. JSRs: Java Specification Requests. JSR 31: XML Data Binding Specification. Проверено 15 февраля 2011.
  2. JSRs: Java Specification Requests. JSR 222: Java Architecture for XML Binding (JAXB) 2.0. Проверено 15 февраля 2011.
  3. xjc - Java Architecture for XML Binding. Проверено 15 февраля 2011.
  4. Using JAXB Data Binding: Standard Data Type Mapping.
  5. Java SE7: Java XML Technology Enhancements. Проверено 21 марта 2012.
  6. Java SE 6: Features and Enhancements. Проверено 21 марта 2012.
  7. Деннис Сосновски. XML and Java technologies: Data binding, Part 2: Performance. Проверено 15 февраля 2011.
  8. XML Binding Frameworks in the Context of Service-Oriented Architecture. Проверено 15 февраля 2011.

Ссылки

Статьи


Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии