StAX
XML (STAX) کے لیے اسٹریمنگ API ایک ایپلیکیشن پروگرامنگ انٹرفیس (API) ہے جو XML دستاویزات کو پڑھنے اور لکھنے کے لیے ہے، جو جاوا پروگرامنگ زبان کی کمیونٹی سے شروع ہوتا ہے۔ روایتی طور پر، ایکس ایم ایل اے پی آئی یا تو ہیں: ڈی او ایم پر مبنی-کالنگ ایپلی کیشن ایونٹ پر مبنی بے ترتیب رسائی کے لیے پوری دستاویز کو میموری میں ٹری ڈھانچے کے طور پر پڑھا جاتا ہے-ایپلی کیشن واقعات کو وصول کرنے کے لیے رجسٹر کرتی ہے کیونکہ ماخذ دستاویز کے اندر اداروں کا سامنا ہوتا ہے۔ دونوں کے فوائد ہیں: مثال کے طور پر، ڈی او ایم دستاویز تک بے ترتیب رسائی کی اجازت دیتا ہے، اور ایس اے ایکس جیسے ایونٹ پر مبنی الگورتھم میں میموری کا ایک چھوٹا سا اثر ہوتا ہے اور یہ عام طور پر بہت تیز ہوتا ہے۔ ان دو رسائی استعاروں کو قطبی مخالف سمجھا جا سکتا ہے۔ ٹری پر مبنی اے پی آئی لامحدود، بے ترتیب رسائی اور ہیرا پھیری کی اجازت دیتا ہے، جبکہ ایونٹ پر مبنی اے پی آئی ماخذ دستاویز سے گزرنے والا 'ون شاٹ' ہوتا ہے۔ اسٹیکس کو ان دو مخالفوں کے درمیان میڈین کے طور پر ڈیزائن کیا گیا تھا۔ اسٹیکس استعارہ میں، پروگرام کا اندراج نقطہ ایک کرسر ہے جو دستاویز کے اندر ایک نقطہ کی نمائندگی کرتا ہے۔ ایپلیکیشن کرسر کو آگے لے جاتی ہے-پارسر سے معلومات کو ضرورت کے مطابق 'کھینچنا'۔ یہ ایونٹ پر مبنی API سے مختلف ہے-جیسے کہ SAX-جو ڈیٹا کو ایپلی کیشن پر 'دھکا' دیتا ہے-دستاویز کے اندر مقام کا سراغ لگانے کے لیے ایپلی کیشن کو واقعات کے درمیان حالت برقرار رکھنے کی ضرورت ہوتی ہے۔ اوریجنز اسٹیکس کی جڑیں ایکس ایم ایل کے لیے متعدد غیر مطابقت پذیر پل اے پی آئی میں ہیں، خاص طور پر ایکس ایم ایل پی ایل ایل، جس کے مصنفین (اسٹیفن ہاسٹین اور الیگزینڈر سلومنسکی) نے دوسروں کے علاوہ، بی ای اے سسٹمز، اوریکل، سن اور جیمز کلارک کے ساتھ تعاون کیا۔ جے ایس آر-173 تفصیلات سے مثالیں حتمی، V1.0 (منصفانہ استعمال کے تحت استعمال کیا جاتا ہے)۔ حوالہ: مندرجہ ذیل جاوا API کرسر اپروچ میں XML کو پڑھنے کے اہم طریقے دکھاتا ہے۔ پبلک انٹرفیس ایکس ایم ایل اسٹریم ریڈر {پبلک انٹ نیکسٹ () پھینکتا ہے ایکس ایم ایل اسٹریم ایکسسیپشن ؛ پبلک بولین ہے نیکسٹ () پھینکتا ہے ایکس ایم ایل اسٹریم ایکسسیپشن ؛ پبلک سٹرنگ گیٹ ٹیکسٹ () ؛ پبلک سٹرنگ گیٹ لوکل نام () ؛ پبلک سٹرنگ گیٹ نیم اسپیس یو آر آئی () ؛// دیگر طریقے نہیں دکھائے گئے ہیں۔ اے پی آئی کے تحریری پہلو میں ایسے طریقے ہیں جو "اسٹارٹ ایلیمنٹ" اور "اینڈ ایلیمنٹ" ایونٹ کی اقسام کے پڑھنے کے پہلو سے مطابقت رکھتے ہیں۔ پبلک انٹرفیس ایکس ایم ایل اسٹریم رائٹر {پبلک وایڈ رائٹ اسٹارٹ ایلیمنٹ (سٹرنگ لوکل نام) پھینکتا ہے ایکس ایم ایل اسٹریم ایکسسیپشن ؛ پبلک وایڈ رائٹ اینڈ ایلیمنٹ () پھینکتا ہے ایکس ایم ایل اسٹریم ایکسسیپشن ؛ پبلک وایڈ رائٹ کیریکٹر (سٹرنگ ٹیکسٹ) پھینکتا ہے ایکس ایم ایل اسٹریم ایکسسیپشن ؛// دیگر طریقے نہیں دکھائے گئے] 5.1 ایکس ایم ایل اسٹریم ریڈر یہ مثال اس بات کی وضاحت کرتی ہے کہ کس طرح ایک ان پٹ فیکٹری کو فوری بنایا جائے، ایک ریڈر بنایا جائے اور ایکس ایم ایل دستاویز کے عناصر پر دہرایا جائے۔ XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance () ؛ XMLStreamReader xmlStreamReader = xmlInputFactory.createXMLStreamReader (.) ؛ جبکہ (xmlStreamReader.hasNext ()) {xmlStreamReader.next () ؛} جاوا میں XML پر عمل کرنے کے مسابقتی اور تکمیلی طریقے بھی دیکھیں (ترتیب آسانی سے تعارف کی ابتدائی تاریخ پر مبنی ہے): دستاویز آبجیکٹ ماڈل (ڈی او ایم)، پہلا معیاری، زبان/پلیٹ فارم آزاد درخت پر مبنی ایکس ایم ایل پروسیسنگ ماڈل ؛ متبادل جاوا ٹری ماڈلز میں XML (SAX) کے لیے جے ڈی او ایم، ڈوم 4 جے، اور XOM سادہ API شامل ہیں، معیاری XML پش API جاوا XML بائنڈنگ جاوا کے لیے اسٹریمنگ XML XQuery API بیرونی لنکس اسٹیکس کا تعارف XML.com، ہیرالڈ، ایلیٹ رسٹی جاوا اسٹریمنگ API برائے XML (اسٹیکس)-ٹیوٹوریل XMLPul پیٹرن آرٹیکل آن XML پل (اور اسٹیکس) ڈیزائن پیٹرن بذریعہ الیگزینڈر سلومنسکی۔ اسٹاکس پارسر-کرسر اینڈ آئیٹریٹر اے پی آئی آرٹیکل آن کرسر اینڈ آئیٹریٹر اے پی آئی بائی ہاؤ ٹو ڈو ان جاوا۔ جاوا پلیٹ فارم ایپلیکیشن پروگرامنگ ایکس ایم ایل پارسرز کو انٹرفیس کرتا ہے جاوا کوڈ کی مثال کے ساتھ مضامین