การเชื่อมโยงข้อมูลระหว่าง XML schema และ Class ใน Java
Java Architecture for XML Binding หรือที่รู้จักกันในชื่อ JAXB เป็นตัวที่ช่วยให้การผูกกันระหว่าง XML schemas และ Java representations นั้นสามารถทำได้อย่างสะดวกและรวดเร็ว โดยจะมีโครงสร้างขั้นตอนง่ายเพื่อให้นักพัฒนา Java ทั้งหน้าใหม่และหน้าเก่าสามารถทำการรวบรวมข้อมูล XML และยังรวมไปถึงกระบวนการทำงานของฟังก์ชั่นต่างๆใน Java application รวมเข้าด้วยกัน
JAXB นั้นจะมี methods สำหรับการทำ unmarshalling (แปลงเอกสาร XML ให้กลายเป็น Java object) เอกสารตัวอย่างของ XML ไปเป็น Java content trees และ สามารถทำการ marshalling (แปลง Java object กลับมาเป็นเอกสาร XML) จาก Java content tress กลับไปเป็น เอกสารตัวอย่างของ XML ได้ นอกจากนี้แล้ว JAXB ยังสามารถช่วยในการสร้าง XML schema จาก object ของ Java ได้
· Schema compiler
เป็นการผูกระหว่าง schema กับกลุ่มของ schema ที่ได้มาจากองค์ประกอบของโปรแกรม โดยที่การผูกกันจะถูกอธิบายโดยการใช้ภาษาXML-based blinding language
· Schema generator
เป็นกลุ่มขององค์ประกอบของโปรแกรมที่มีอยู่รวมไปถึง schema ที่ได้มา โดยมีการ mapping เป็นการอธิบายแบบมีการเขียนบันทึกย่อๆของโปรแกรม
· Binding runtime framework
ในส่วนนี้จะช่วยให้การ unmarshalling (การอ่าน) และ marshalling (การเขียน) การดำเนินการสำหรับการเข้าถึง การจัดการ และการตรวจสอบเนื้อหาของ XML ที่มี โดยใช้ทั้ง schema ที่ได้รับมา หรือ ส่วนประกอบของ program ที่มีอยู่
กระบวนการเชื่อมโยงข้อมูลของ JAXB คือ
1. Generate classes
นำ XML schema ที่จะใช้ ใส่ไปยังตัว JAXB binding compiler เพื่อทำการสร้าง JAXB classes ตาม schema นั้นๆ
2. Compile classes
classes ต่างๆที่ถูกสร้างขึ้นมา ไฟล์ source และ application code ทั้งหมดจะต้องถูก compile
3. Unmarshal
เอกสาร XML ที่เขียนขึ้นตามข้อจำกัดต่างๆใน the source schema จะถูก unmarshal โดย JAXB binding framework
(JAXB ยังสนับสนุนการunmarshal ข้อมูล XML จากข้อมูลอื่นๆเช่น DOM, string buffers, SAX และอื่นๆ)
4. Generate content tree
กระบวนการทำ unmarshalling ในการสร้าง content tree ของข้อมูล object จากการสร้างของ JAXB classes ใน content tree นี้จะแสดงให้เห็นถึงโครงสร้างและ content ของ source XML document
5. Validate (optional)
การ unmarshalling จะมีการตรวจสอบของ source XML document ก่อนจะมีการสร้างในส่วนของ content tree
6. Process content
ในส่วนของ client application สามารถที่จะทำการปรับเปลี่ยนข้อมูล XML โดยมีการถูกแสดงโดยการใช้ Java content tree โดยมีการอธิบายเป็น interface ที่ถูกสร้างจาก binding compiler
7. Marshal
Content tree จะทำการ marshaled ออกไปเป็น XML โดย content อาจจะถูกตรวจสอบก่อนที่จะทำการ marshalling
+ Unmarshalling เตรียม client application ที่จะแปลงข้อมูล XML ให้กลายเป็น Java objects
+ Validation เป็นการตรวจสอบเอกสาร XML ให้มีคุณสมบัติตรงตามข้อกำหนดใน Schema
Scope, Inheritance, and Precedence
Customization Syntax
ประกอบไปด้วย
- Global BindingDeclarations
- Schema BindingDeclarations
- Property BindingDeclarations
- Class BindingDeclarations
- javaType BindingDeclarations
- Typesafe Enumeration BindingDeclarations
- javadoc BindingDeclarations
ไม่มีความคิดเห็น:
แสดงความคิดเห็น