« استفاده از Web Service در برنامه | صفحه اصلی | مروري بر XML »

Binding بين XML Schema و كلاس هاي جاوا

October 15, 2007 12:31 PM

اين كار در جاوا با JAXB يا Java Architecture for XML Binding انجام مي شود. يك implementation از JAXB شامل بخش هاي زير است:
Schema compiler: يك XML schema را به مجموعه اي از عناصر داخل برنامه bind مي كند. رويه Binding توسط يك زبان مبتني بر XML تعريف مي شود.
Schema generator: مجموعه اي از عناصر موجود در برنامه را به يك XML schema مرتبط (map) مي كند.
Binding runtime framework : امكان عمليات marshaling (نوشتن به) و unmarshaling (خواندن از) محتواي XML را فراهم مي كند.

مراحل كلي در انجام رويه data binding با JAXB عبارت است از:
1- ساخت كلاس ها: در اين مرحله JAXB binding compiler يك XML schema را بعنوان ورودي دريافت مي كند و بر اساس آن كلاس هاي JAXB را مي سازد.
2- كامپايل كلاس ها: همه كلاس هاي ساخته شده به همراه source و كد application بايد كامپايل شوند.
3- Unmarshalling: توسط JAXB binding framework اسناد XML اي كه مطابق schema نوشته شده اند، Unmarshal مي گردند.
4- ساخت درخت محتوا: نتيجه Unmarshaling ساخت يك درخت از data object هايي است كه نمونه هايي از كلاس هاي JAXB ساخته شده، هستند. اين درخت محتوا ساختار و محتواي اسناد XML منبع را نمايش مي دهند.
5- اعتبارسنجي: اين مورد اختياري است و مي تواند انجام نشود. اما اگر مثلا تغييري در درخت محتوا ايجاد كنيد (آنگونه كه در مرحله بعدي گفته شده) لازم است كه قبل از Marshaling يا بازگرداندن محتوا به اسناد XML ، با استفاده از عمليات validation موجود در JAXB، صحت و اعتبار آنها را بررسي نماييد.
6- پردازش محتوا: application مي تواند داده هاي XML نمايش داده شده در درخت محتوا را ويرايش نمايد.
7- Marshalling: در نهايت درخت محتوا بايد به يك يا چند سند XML خروجي ، منتقل شود. همانگونه كه ذكر شد اين محتوا ممكن است قبل از انجام عمل Marshaling اعتبارش سنجيده شود.

در ادامه برخي از مفاهيم ذكر شده براي آشنايي بيشتر، معرفي مي گردد:
XML schema :
نوع سند XML را تعريف مي كند. معمولا بصورت شرايطي (constraints) كه بر ساختار و محتواي XML بايد اعمال شود، بيان مي گردد. زبان هاي گوناگوني براي بيان XML Schema وجود دارد. شناخته شده ترين آنها زبان Document Type Definition يا DTD است كه در واقع بعنوان يكي از ويژگي هاي XML شناخته مي شود. اين زبان قابليت هاي محدودي دارد، اما كاربردهاي ديگري نيز علاوه بر تعريف XML schema دارد. دو زبان ديگر پركاربرد در حوزه تعريف XML schemaعبارتند از XML schema (W3C) و RELAX NG
XML Data binding:
اين عبارت اشاره دارد به فرايند نمايش اطلاعات موجود در يك سند XML بصورت يك object در حافظه كامپيوتر. اين كار به application امكان مي دهد كه مستقيما و بدون استفاده از DOM به داده هاي XML دست يابد.
Marshaling:
Marshaling كه همچنين با عنوان serialization نيز شناخته مي شود، عبارت است از فرايند تبديل يك object موجود در حافظه به يك فرمت داده قابل انتقال يا ذخيره سازي (مثلا يك فايل). Marshaling در JAXB به application امكان مي دهد كه object هاي JAXB را به داده هاي XML تبديل نمايد.
Unmarshalling:
عمل معكوس Marshaling نيز Unmarshaling يا deserialization ناميده مي شود كه عبارت است از استخراج يك ساختمان داده از يك فايل (يا يك سري از بايت ها). Unmarshaling در JAXB به application اين امكان را مي دهد كه داده هاي XML را به object هاي JAXB تبديل كند.

ادامه دارد...

mahyar_ev | 12:31 PM

 

نظرخواهی

نظر شما چيست؟










Remember personal info?




برای ثبت نظر کلمه submit را در کادر زیر وارد کنید.