ربط جاكرتا XML
إطار عمل Jakarta XML Binding ( JAXB ؛ المعروف سابقًا باسم Java Architecture for XML Binding ) هو إطار عمل برمجي يمكّن مطوري Java EE من ربط فئات Java بتمثيلات XML . يوفر JAXB ميزتين رئيسيتين: القدرة على تحويل كائنات Java إلى XML، والعكس، أي تحويل XML مرة أخرى إلى كائنات Java. بعبارة أخرى، يسمح JAXB بتخزين البيانات واسترجاعها في الذاكرة بأي تنسيق XML، دون الحاجة إلى تنفيذ مجموعة محددة من إجراءات تحميل وحفظ XML لبنية فئات البرنامج. وهو مشابه xsd.exeلـ XmlSerializer.NET Framework .
يُعدّ JAXB مفيدًا بشكل خاص عندما تكون المواصفات معقدة ومتغيرة. في مثل هذه الحالة، قد يكون تغيير تعريفات مخطط XML بانتظام لمواكبتها مع تعريفات Java أمرًا يستغرق وقتًا طويلاً وعرضة للأخطاء.
JAXB هي إحدى واجهات برمجة التطبيقات (APIs) في منصة Jakarta EE (المعروفة سابقًا باسم Java EE)، وهي جزء من حزمة تطوير خدمات الويب Java (JWSDP)، وإحدى الركائز الأساسية لـ WSIT . وكانت أيضًا جزءًا من منصة Java SE (في الإصدارات من Java SE 6 إلى 10). ابتداءً من Java SE 11، تم حذف JAXB. للمزيد من التفاصيل، راجع JEP 320 .
تم إصدار JAXB 1.0 في عام 2003، بعد أن تم تطويره في إطار عملية مجتمع جافا تحت اسم JSR 31. [ 1 ] وفي عام 2006 تم إصدار JAXB 2.0 بموجب JSR 222 وتم إصدار الإصدار الثاني للصيانة في ديسمبر 2009. [ 2 ] كانت التطبيقات المرجعية لهذه المواصفات متاحة بموجب ترخيص CDDL مفتوح المصدر على java.net .
الاستخدام
يمكن استخدام أداة " xjc " لتحويل مخطط XML وأنواع ملفات المخططات الأخرى (ابتداءً من Java 1.6، يدعم RELAX NG وXML DTD و WSDL تجريبيًا) إلى تمثيلات فئوية. [ 3 ] تُعلَّم الفئات باستخدام التعليقات التوضيحية من مساحة اسم javax.xml.bind.annotation.* ، على سبيل المثال، @XmlRootElement و @XmlElement . تُمثَّل تسلسلات قوائم XML بسمات من النوع java.util.List . تُنشأ أدوات التحويل (Marshallers) وأدوات فك التحويل (Unmarshallers) من خلال مثيل من JAXBContext.
بالإضافة إلى ذلك، يتضمن JAXB أداة " schemagen " التي يمكنها بشكل أساسي القيام بعكس " xjc "، وإنشاء مخطط XML من مجموعة من الفئات المشروحة.
ربط أنواع البيانات الافتراضية
يسرد الجدول أدناه عمليات الربط بين أنواع بيانات XML Schema (XSD) وأنواع بيانات Java في JAXB. [ 4 ]
| نوع مخطط XML | نوع بيانات جافا |
|---|---|
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[ 5 ] | java.lang.Object |
xsd:anySimpleType[ 6 ] | java.lang.String |
xsd:duration | javax.xml.datatype.Duration |
xsd:NOTATION | javax.xml.namespace.QName |
الإصدارات
انظر أيضاً
- ربط بيانات XML
- JiBX
- XMLBeans – تقنية مشابهة ومكملة لتقنية JAXB من مؤسسة برمجيات أباتشي
- TopLink – أداة ربط الكائنات العلائقية والكائنات بـ XML من Oracle تدعم JAXB 1.0
- EclipseLink MOXy – تطبيق مفتوح المصدر لخدمات JAXB وخدمات ربط كائنات XML تحت مظلة مؤسسة Eclipse
مراجع
- ↑ "JSRs: طلبات مواصفات جافا. JSR 31: مواصفات ربط بيانات XML" . تم الاطلاع عليه بتاريخ 15-02-2011 .
- ↑ "JSRs: طلبات مواصفات جافا. JSR 222: بنية جافا لربط XML (JAXB) 2.0" . تم الاطلاع عليه بتاريخ 15 فبراير 2011 .
- ↑ "xjc - بنية جافا لربط XML" . تم الاطلاع عليه بتاريخ 15-02-2011 .
- ↑ "استخدام ربط بيانات JAXB: تعيين أنواع البيانات القياسية" .
- ↑ لهذا
xsd:elementالنوع - ↑ لهذا
xsd:attributeالنوع - ↑ "أي JAXB RI مضمن في أي JDK؟ "
- ↑ "وحدة مهملة java.xml.bind" .
- ↑ "Jaxb 2.2.8 (JDK 8)" . مؤرشف من الأصل بتاريخ 12 مايو 2015. تم الاطلاع عليه بتاريخ 1 مارس 2015 .
- ↑ "Java SE 7: Java XML Technology Enhancements" . تم الاطلاع عليه بتاريخ 21-03-2012 .
- ↑ "Java SE 6: الميزات والتحسينات" . تم الاطلاع عليه بتاريخ 21-03-2012 .
روابط خارجية
- الموقع الرسمي - تطبيق مرجعي لمشروعGlassFish

- الصفحة الرئيسية السابقة لمطار جاكوبز الدولي (JAXB) مؤرشفة بتاريخ 4 مايو 2017 على موقع Wayback Machine.
- الصفحة الرئيسية الأصلية لـ JAXB مؤرشفة بتاريخ 9 يوليو 2005 على موقع Wayback Machine
- شرحٌ لـ JAXB، مؤرشف بتاريخ ٢٣ مارس ٢٠١٣ في أرشيف الإنترنت (Wayback Machine) بواسطة فولفغانغ لاون
- JSR 222 (JAXB 2.0)
- JSR 31 (JAXB 1.0)
- دليل Java EE 5 - الربط بين مخطط XML وفئات Java (فصل JAXB من دليل Java EE 5)
- تمت أرشفة معالج JAXB بتاريخ 31 مايو 2012 في أرشيف الإنترنت (Wayback Machine) .
- دروس JAXB
مقالات
- واجهة برمجة تطبيقات جافا لـ XML
- طلبات مواصفات جافا
