Java Architecture for XML Binding

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая 80.91.178.204 (обсуждение) в 13:24, 7 августа 2013 (Также смотрите). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

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-схему из набора аннотированных классов.

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

The table below lists the mappings of XML Schema (XSD) data types to Java data types in 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 (for xsd:element of this type) java.lang.Object
xsd:anySimpleType (for xsd:attribute of this type) 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.

Внешние ссылки

Статьи