Кіріспе
Java EE бағдарламалық қондырғысы
Jakarta XML Binding (JAXB; бұрын Java Architecture for XML Binding) – Java EE әзірлеушілеріне Java кластарын XML форматтарына бейімдеуге мүмкіндік беретін бағдарламалық қондырғы. JAXB екі негізгі мүмкіндік ұсынады: Java нысандарын XML-ге түрлендіру және керісінше, яғни XML деректерін Java нысандарына қайта түрлендіру. Басқаша айтқанда, JAXB бағдарламаның кластық құрылымы үшін арнайы XML жүктеу және сақтау процедураларын енгізбестен, жадыда кез келген XML форматында деректерді сақтауға және алуға мүмкіндік береді. Бұл .NET Framework-тағы xsd.exe және XmlSerializer құралдарына ұқсас. JAXB ерекшеліктер күрделі және үнемі өзгеріп отыратын жағдайларда өте пайдалы. Мұндай жағдайда, Java анықтамаларымен үйлесімді болу үшін XML схемасының анықтамасын үнемі өзгерту уақытты көп алады және қателерге әкелуі мүмкін. JAXB – Java EE платформасының (бұрынғы Java EE) API-лерінің бірі, Java Web Services Development Pack (JWSDP) құрамына кіреді және WSIT негіздерінің бірі болып табылады. Ол сонымен қатар Java SE платформасының (Java SE 6–10 нұсқаларында) бір бөлігі болды. Java SE 11 нұсқасынан бастап JAXB алынып тасталды. Толық мәліметтер үшін JEP 320 қараңыз. JAXB 1.0 2003 жылы Java Community Process аясында JSR 31 ретінде жарық көрді. 2006 жылы JAXB 2.0 JSR 222 бойынша, ал 2009 жылдың желтоқсан айында 2-ші техникалық қолдау нұсқасы шығарылды. Бұл ерекшеліктерге арналған анықтамалық іске асырулар java.net сайтында CDDL ашық лицензиясы бойынша қолжетімді болды.
Қолданылуы
«XML Schema» құралын және басқа да схема файл түрлерін (Java 1.6 нұсқасынан бастап, RELAX NG, XML DTD және WSDL эксперименттік түрде қолдау табады) кластық өрнектемелерге түрлендіруге болады. Кластар, мысалы, атау кеңістігінен аннотациялар арқылы белгіленеді, ал XML тізім тізбектері Marshallers және Unmarshallers типті атрибуттармен көрсетіледі. Marshallers және Unmarshallers JAXBContext инстанциясы арқылы жасалады. Сонымен қатар, JAXB құрамына «» құралы кіреді, ол негізінен «» құралының кері қызметін орындайды, яғни белгіленген кластар жиынтығынан XML схемасын құрады.
Деректер түрінің әдетті байланыстары
Төмендегі кестеде JAXB-де XML схемасының (XSD) дерек түрлерінің Java дерек түрлерімен сәйкестігі көрсетілген. XML схемасы Java дерек түріxsd:string java.lang.Stringxsd:integer java.math.BigIntegerxsd:positiveInteger java.math.BigIntegerxsd:int intxsd:long longxsd:short shortxsd:decimal java.math.BigDecimalxsd:float floatxsd:double doublexsd:boolean booleanxsd:byte bytexsd:QName javax.xml.namespace.QNamexsd:dateTime javax.xml.datatype.XMLGregorianCalendarxsd:base64Binary byte[]xsd:hexBinary byte[]xsd:unsignedInt longxsd:unsignedShort intxsd:unsignedByte shortxsd:unsignedLong java.math.BigDecimalxsd:time javax.xml.datatype.XMLGregorianCalendarxsd:date javax.xml.datatype.XMLGregorianCalendarxsd:gYear javax.xml.datatype.XMLGregorianCalendarxsd:anySimpleType java.lang.Objectxsd:anySimpleType java.lang.Stringxsd:duration javax.xml.datatype.Durationxsd:NOTATION javax.xml.namespace.QName
Нұсқалар
Java SE 9: JAXB 2.3.0 (java.xml.bind модулінде; бұл модуль ескі деп белгіленген)
Java SE 8: JAXB 2.2.8
Java SE 7: JAXB 2.2.3 (JSR 222, техникалық қолдау нұсқасы 2)
Java SE 6: JAXB 2.0 (JSR 222)
Java SE 8: JAXB 2.2.8
Java SE 7: JAXB 2.2.3 (JSR 222, maintenance release 2)
Java SE 6: JAXB 2.0 (JSR 222)