JAXB اور XmlBans کے درمیان اختلافات

Anonim

جی ایس ایس بی بمقابلہ XmlBeans

JAXB کے جاوا اسٹیبل کے معیار کا ایک حصہ ہے اور یہ XML بائنڈنگ کے لئے جاوا آرکیفکیچر سے مراد ہے. یہ یہ عمل ہے جو ایکس ایم ایل دستاویزات کی پروسیسنگ کے لئے استعمال کیا جاتا ہے. JAXB کے استعمال کو ترجیح دی جاتی ہے کیونکہ یہ XML دستاویزات کے تمام چھوٹے تفصیلات کو سمجھنے کے بغیر جاوا میں XML دستاویزات کی پروسیسنگ کے لئے متبادل پیش کرتا ہے. JAXB ایک کھلے ذریعہ پیکیج کے طور پر جاوا اس ای 5 کے مطابق اطلاق ایپلی کیشنز میں فائدہ اٹھانے والا ہے. یہ پیکیج ڈیٹا بائنڈنگ اور جاوا پروگرامنگ کی زبان میں لکھا XML دستاویزات پڑھنے اور تک رسائی حاصل کرنے میں آسانی کی اجازت دیتا ہے. دوسری طرف XML بیان، بی اے اے کے نظام کی طرف سے تیار ایک کھلا ذریعہ منصوبہ ہے، اور یہ XML دستاویزات تک پہنچنے کی اجازت دینے میں JAXB کو اسی طرح کی فعالیت فراہم کرتی ہے. XML میں ایک اچھا پس منظر کا علم، تاہم، XML بیبیوں سے نمٹنے کے لئے ضروری ہے. تاہم، دونوں کے درمیان اختلافات، اور وہ ذیل میں تبادلہ خیال کیا گیا ہے.

اختلافات

ایکسچینج اور ایکس ایم ایل بیانز کی ترقی سے پہلے، XML پر عملدرآمد کا واحد ذریعہ زبان SAX (XML کے لئے آسان API) کا تجزیہ کرنے والے سافٹ ویئر کا استعمال یا اس کے استعمال کے ذریعے تھا. DOM (دستاویز آبجیکٹ ماڈل)، JAXP (ای API پروسیسنگ کے لئے جاوا API) کے ذریعہ فراہم کردہ زبانوں کا تجزیہ دونوں. ڈویلپر کو کوڈ بنانا تھا جو ڈی ایم اے یا ایس ایکس ایکس کو JAXP کے ذریعہ مدعو کرنے پر نشانہ بنایا گیا تھا تاکہ کوڈ XML دستاویز میں زبان کا تجزیہ کرسکے. سکیننگ پر، کوڈ عام طور پر کوڈ کو مختلف ٹکڑوں میں توڑ دیا تاکہ وہ ھدف شدہ ایپلی کیشنز کو دستیاب کر سکیں.

JAXB اور XML بیان کے درمیان اہم فرق یہ ہے کہ ہر ایک کو مارشلنگ اور ایکس ایم ایل کے دستاویزات کی غیر معمولی میں لیتا ہے. XMLBans جاوا تبادلوں کے بغیر بغیر بغیر پورے XML دستاویز پر عمل کرتا ہے کیونکہ XML دستاویز کی ڈیٹا سالمیت کو کھو دیا گیا ہے. XML بیسیوں کے پاس ایک کرسر ہے جس نے XML دستاویز کے ذریعہ سکین پیدا کیا ہے. کرسر کے ساتھ، دستاویز کے کسی بھی عنصر تک رسائی حاصل کی جاسکتی ہے، بشمول سکیما کی معلومات یا تبصرے، جیسا کہ دستاویز کی مخلص برقرار رکھی جاتی ہے. XML بیسان ایک ہی دستاویز کے اندر XQuery کے عمل کو بھی فراہم کرتا ہے. مزید ٹائپ تک رسائی تک رسائی حاصل کی جاتی ہے XML بیسیوں کے ذریعہ عام رسائی کی قسم کے ساتھ جو API کا عکاسی بن جاتا ہے. XML بیان، جیسا کہ پہلے ذکر کیا گیا ہے، ایکس ایم ایل کے وسیع علم کی ضرورت ہوتی ہے اور توسیع، SAX یا یہاں تک کہ ڈوم.

دوسری طرف جی جی بی بی، ایکس ایم ایل اسکیما کے ساتھ پابند ہوتا ہے. یہ ایک مسئلہ ہے جو پہلے JAXB رہائی کے ساتھ پیدا ہوا ہے، کیونکہ یہ صرف تمام ڈی ایم ایل اسکیما خصوصیات کی حمایت کرنے میں ناکام رہا ہے جو صرف ڈی ٹی ڈی کی حمایت کرتا ہے (دستاویز کی قسم تعریف). اس میں، اس کا مطلب یہ تھا کہ JAXB کی پہلی ریلیز قابل تحریر پابندیوں کے لئے فراہم نہیں کرسکتی تھی.JAXB 2. نے ترقیاتی پروسیسنگ کو بہت آسان بنا دیا ہے کیونکہ یہ مکمل XML سکیما کی حمایت، جاوا XML اسکیما نقشہ جات، پورٹیبلائزیشن، اور اسکیما ارتقاء پر جاوا فراہم کرتا ہے. اس کے علاوہ، JAXB نے XML مواد کی لچکدار انمارشیلنگ کو متعارف کرایا ہے جو غلط ہے اور غیر معطل ہے یا نہیں ان کو غیرمعمولی طور پر ختم کرنا ہے یا نہیں.

خلاصہ:

- XML ​​بیسن بہتر ہے اگر آپ کو زیادہ مضبوط XML خصوصیات کو پسند ہے. جی. XQueries اور براہ راست XML دستاویز تک رسائی. اس کا استعمال میموری انتظام اور کارکردگی کی قیمت پر آتا ہے.

- جی ایس جی بی کو ترجیح دی جاتی ہے اگر آپ اعلی کارکردگی اور میموری مینجمنٹ چاہتے ہیں، حالانکہ یہ ایکس ایم ایل بی کے طور پر مکمل نہیں ہے.

- جی ایکس بی بی کو منتخب کیا جانا چاہئے اگر آپ سادہ XML دستاویز کے تبادلوں کے بعد ہو.

- ایکس ایم بی بی کے خلاف جی ایس جی بی بی میں بائنڈنگ حسب ضرورت بہتر ہوتا ہے.

- جی ایم ایس بی بی ایم ایم بی بی کے استعمال کے مخالف ہے جیسا کہ میموری - انحصار عمل ہے.

- اگر آپ ایک ایکس ایم ایل دستاویز کو غیر معمولی کرنا چاہتے ہیں تو، جی ایس جی بی بی آپ کی پسند ہے کیونکہ XML بیسانوں کو انمارشیلنگ میں مشکلات کا سامنا کرنا پڑتا ہے. بائنڈنگ اسکیمہ پر، آپ اعتراض سازی کے استعمال کے مواد کے تخلیق میں اعتراض تخلیق اور ملازم طریقوں کے لئے ObjectFactory کے استعمال کو ملا کر سکتے ہیں.