XML transformation language
ایکس ایم ایل ٹرانسفارمیشن لینگویج ایک پروگرامنگ زبان ہے جو خاص طور پر ایک ان پٹ ایکس ایم ایل دستاویز کو آؤٹ پٹ دستاویز میں تبدیل کرنے کے لیے ڈیزائن کی گئی ہے جو کسی مخصوص مقصد کو پورا کرتی ہے۔ تبدیلی کے دو خاص معاملات ہیں: ایکس ایم ایل سے ایکس ایم ایل: آؤٹ پٹ دستاویز ایک ایکس ایم ایل دستاویز ہے۔ ایکس ایم ایل سے ڈیٹا: آؤٹ پٹ دستاویز ایک بائٹ اسٹریم ہے۔ جیسا کہ ایکس ایم ایل سے ایکس ایم ایل میں تبدیلی ایک ایکس ایم ایل دستاویز کو آؤٹ پٹ کرتی ہے، ایکس ایم ایل سے ایکس ایم ایل میں تبدیلی کی زنجیروں سے ایکس ایم ایل پائپ لائنز بنتی ہیں۔ ایکس ایم ایل سے ڈیٹا ایکس ایم ایل (ایکسٹینسیبل مارک اپ لینگویج) سے ڈیٹا کی تبدیلی میں کچھ اہم معاملات شامل ہیں۔ سب سے زیادہ قابل ذکر ایک ایکس ایم ایل سے ایچ ٹی ایم ایل (ہائپر ٹیکسٹ مارک اپ لینگویج) ہے، کیونکہ ایچ ٹی ایم ایل دستاویز ایکس ایم ایل دستاویز نہیں ہے۔ ایس جی ایم ایل کی ابتداء ابتدائی تبدیلی کی زبانیں ایس جی ایم ایل پروفائل کے طور پر ایکس ایم ایل کی آمد سے پہلے کی ہیں، اور اس طرح خاص طور پر ایکس ایم ایل کے بجائے من مانی ایس جی ایم ایل میں ان پٹ کو قبول کرتی ہیں۔ ان میں ایس جی ایم ایل سے ایس جی ایم ایل لنک پروسیس ڈیفینیشن (ایل پی ڈی) فارمیٹ شامل ہے جس کی تعریف خود ایس جی ایم ایل معیار کے حصے کے طور پر کی گئی ہے۔ ایس جی ایم ایل میں (لیکن ایکس ایم ایل میں نہیں)، ایل پی ڈی فائل کو دستاویز سے ہی اعلامیے کے ذریعے حوالہ دیا جا سکتا ہے، اسی طرح جیسے ڈی ٹی ڈی کے لیے استعمال ہونے والے اعلامیے کا۔ اس طرح کی دیگر تبدیلی کی زبانیں، ایل پی ڈی کی کچھ خامیوں کو دور کرتی ہیں، جن میں ڈاکیومنٹ اسٹائل سیمنٹکس اینڈ اسپیسیفیکیشن لینگویج (ڈی ایس ایس ایس ایل) اور اونی مارک شامل ہیں۔ نئی تبدیلی کی زبانیں خاص طور پر ایکس ایم ایل کو نشانہ بناتی ہیں، اور اس طرح صرف ایکس ایم ایل کو قبول کرتی ہیں، من مانی ایس جی ایم ایل کو نہیں۔ موجودہ زبانیں ایکس ایس ایل ٹی: ایکس ایس ایل ٹی سب سے مشہور ایکس ایم ایل تبدیلی کی زبان ہے۔ ایکس ایس ایل ٹی 1 ڈبلیو 3 سی کی سفارش 1999 میں ایکس پیتھ 1 کے ساتھ مل کر شائع ہوئی تھی، اور اس کے بعد سے اسے بڑے پیمانے پر نافذ کیا گیا ہے۔ ایکس ایس ایل ٹی 2 جنوری 2007 سے ڈبلیو 3 سی کی سفارش بن گیا ہے اور سیکسون 8 جیسی تفصیلات کا نفاذ پہلے ہی دستیاب ہے۔ XQuery: XQuery نام میں "استفسار" ہونے کے باوجود ایک مکمل فعال زبان ہے۔ یہ مائیکروسافٹ، اوریکل، ڈی بی 2، مارک لاجک وغیرہ کے ذریعہ استعمال ہونے والا ایک ڈی فیکٹو معیار ہے، جو ایکس آر ایکس ویب پروگرامنگ ماڈل کی بنیاد ہے، اور اس کے ورژن 1 کے لیے ڈبلیو 3 سی کی سفارش ہے۔ XQuery خود XML میں نہیں لکھا گیا ہے جیسا کہ XSLT ہے، اس لیے اس کا نحو بہت ہلکا ہے۔ یہ زبان XPath 2 پر مبنی ہے۔ ایکس کیوری پروگراموں کے ضمنی اثرات نہیں ہو سکتے، بالکل ایکس ایس ایل ٹی کی طرح اور تقریبا ایک جیسی صلاحیتیں فراہم کرتے ہیں (مثال کے طور پر: متغیرات اور افعال کا اعلان کرنا، ترتیبات پر تکرار کرنا، ڈبلیو 3 سی اسکیما اقسام کا استعمال کرنا)، حالانکہ پروگرام کا نحو بالکل مختلف ہے۔ XQuery منطق پر مبنی ہے، FOR، WHERE اور فنکشن کمپوزیشن کا استعمال کرتے ہوئے (مثال کے طور پر۔ fn: کونکیٹ ("،" جنریٹ-باڈی () "،))۔ اس کے برعکس، ایکس ایس ایل ٹی ڈیٹا پر مبنی (پش پروسیسنگ ماڈل) ہے جہاں ان پٹ دستاویز کی کچھ شرائط ٹیمپلیٹس کے نفاذ کو متحرک کرتی ہیں بجائے اس کے کہ کوڈ کو اس ترتیب میں انجام دیا جائے جس میں اسے لکھا گیا ہے۔ ایکس پروک: ایکس پروک ایک ایکس ایم ایل پائپ لائن زبان ہے۔ ایکس پروک 1 ڈبلیو 3 سی سفارش مئی 2010 میں شائع ہوئی تھی۔ ایکس ایم ایل دستاویز تبدیلی: ایکس ایم ایل دستاویزات پر سادہ تبدیلیاں انجام دینے کے لیے مائیکروسافٹ کا معیار ہے۔ بنیادی طور پر آئی آئی ایس Web.config فائلیں (کنفیگ ٹرانسفارمز) بنانے کے لیے، دیگر نفاذ اسے عام کنفیگ فائلوں کے لیے بلڈ ٹائم (سلو چیتا) یا کمانڈ لائن (سی ٹی ٹی) کے طور پر استعمال کرنے کی اجازت دیتے ہیں۔ ایس ٹی ایکس: ایس ٹی ایکس (اسٹریمنگ ٹرانسفارمیشنز فار ایکس ایم ایل) ایکس ایس ایل ٹی سے متاثر ہے لیکن اسے ون پاس ٹرانسفارمیشن کے عمل کی اجازت دینے کے لیے ڈیزائن کیا گیا ہے جو اسٹریمنگ کو کبھی نہیں روکتا ہے۔ نفاذ جاوا (جوسٹ) اور پرل (ایکس ایم ایل:: ایس ٹی ایکس) میں دستیاب ہیں۔ ایکس ایم ایل اسکرپٹ: ایکس ایم ایل اسکرپٹ ایک لازمی اسکرپٹنگ زبان ہے جو پرل سے متاثر ہے جو ایکس ایم ایل نحو کا استعمال کرتی ہے۔ XML اسکرپٹ ان پٹ ٹری سے نوڈس کو منتخب کرنے کے لیے XPath اور اس کے ملکیتی DSLPath کی حمایت کرتا ہے۔ ایف ایکس ٹی: ایف ایکس ٹی ایک فنکشنل ایکس ایم ایل ٹرانسفارمیشن ٹول ہے، جسے اسٹینڈرڈ ایم ایل میں لاگو کیا گیا ہے۔ ایکس ڈیوس: ایکس ڈیوس ایک ٹائپ شدہ زبان ہے جس کی نحو ہلکی ہے، ایکس ایس ایل ٹی کے مقابلے میں۔ یہ ایم ایل میں لکھا گیا ہے۔ سیڈیوس: سیڈیوس ایکسڈیوس کو ایک عام مقصد والی فنکشنل پروگرامنگ زبان تک پھیلاتا ہے، سیڈیوس کا ہوم پیج دیکھیں۔ XACT: XACT پروگرامنگ XML تبدیلیوں کے لیے جاوا پر مبنی نظام ہے۔ قابل ذکر خصوصیات میں ایکس ایم ایل ٹیمپلیٹس کو غیر متغیر اقدار کے طور پر اور ایکس ایم ایل اسکیما ٹائپز (ایکس اے سی ٹی ہوم پیج) کا استعمال کرتے ہوئے ٹائپ سیفٹی کو یقینی بنانے کے لیے ایک جامد تجزیہ شامل ہے۔ ایکس فن: ایکس فن ایک فنکشنل زبان ہے جس میں ایکس ایم ایل ڈیٹا ٹریز کے درمیان تبدیلیوں کی وضاحت کی جاتی ہے، جبکہ کٹوتی کی ہدایات فراہم کی جاتی ہیں۔ ایکس-فن کو آؤٹ پٹ شیڈنگ کے ساتھ فریش کی ایکس اسٹریم زبان کی توسیع کے طور پر سمجھا جا سکتا ہے، جبکہ پیٹرن میچنگ کو ایکس پیتھ کے تاثرات کے ساتھ ٹری نیویگیشن سے تبدیل کیا جاتا ہے۔ () ایکس اسٹریم: ایکس اسٹریم سی اے ایم ایل پر مبنی ایکس ایم ایل دستاویزات کے لیے ایک سادہ فعال تبدیلی کی زبان ہے۔ ایکس اسٹریم میں لکھی گئی ایکس ایم ایل تبدیلیوں کا جائزہ اسٹریمنگ میں لیا جاتا ہے: جب ممکن ہو تو آؤٹ پٹ کے کچھ حصوں کا حساب لگایا جاتا ہے اور تیار کیا جاتا ہے جب کہ ان پٹ دستاویز کو تجزیہ کیا جا رہا ہوتا ہے۔ اس طرح کچھ تبدیلیوں کا اطلاق بڑے ایکس ایم ایل دستاویزات پر کیا جا سکتا ہے جو میموری میں بھی فٹ نہیں ہوں گے۔ ایکس اسٹریم مرتب سی ای سی آئی ایل ایل فری سافٹ ویئر لائسنس کی شرائط کے تحت تقسیم کیا جاتا ہے۔ Xtatic: Xtatic XDuce سے C #تک طریقوں کا اطلاق کرتا ہے، Xtatic ہوم پیج دیکھیں۔ ہایکس ایم ایل: ہایکس ایم ایل ایک لائبریری ہے اور ہاسکل میں ایکس ایم ایل تبدیلیاں لکھنے کے لیے ٹولز کا مجموعہ ہے۔ 1999 میں شائع ہونے والے ایچ اے ایکس ایم ایل کے بارے میں یہ مقالہ اور آئی بی ایم ڈویلپر ورکس کا یہ مضمون بھی دیکھیں۔ مزید حالیہ ایچ ایکس ایم ایل اور ہاسکل ایکس ایم ایل ٹول باکس (ایچ ایکس ٹی) بھی دیکھیں، جو ایچ ایکس ایم ایل اور ایچ ایکس ایم ایل کے نظریات پر مبنی ہے لیکن ایکس ایم ایل پروسیسنگ کے لیے زیادہ عمومی نقطہ نظر اختیار کرتا ہے۔ XMLambda: XMLambda (XMλ) کو 1999 کے ایک مقالے میں ایرک میجر اور مارک شیلڈز نے بیان کیا ہے۔ کوئی نفاذ دستیاب نہیں ہے۔ XMLambda ہوم پیج دیکھیں۔ فلی ایکس ایم ایل: فلی ایکس ایم ایل ایک ایکس ایم ایل پروسیسنگ زبان ہے جسے سب سے پہلے کرسٹوفر روز نے نافذ کیا تھا۔ اس کا نقطہ نظر ایک ایکس ایم ایل ڈی ٹی ڈی میں اقدامات شامل کرنا ہے جو ڈی ٹی ڈی کے قواعد کے کسی بھی ذیلی سیٹ کے لیے پروسیسنگ ہدایات کی وضاحت کرتا ہے۔ اسکالا: اسکالا ایک عام مقصد والی فنکشنل اور آبجیکٹ پر مبنی زبان ہے جس میں معیاری ایکس ایم ایل لائبریریوں کے ساتھ ایکس ایم ایل پیٹرن میچنگ، لیٹرلز، اور تاثرات کی شکل میں ایکس ایم ایل کی تبدیلی کے لیے مخصوص سپورٹ ہے۔ LINQ سے XML: LINQ سے XML ایک. NET 3.5 نحو اور پروگرامنگ API ہے جو C #، VB اور کچھ دیگر. NET زبانوں میں دستیاب ہے۔ LINQ بنیادی طور پر ایک استفسار زبان کے طور پر ڈیزائن کیا گیا ہے، لیکن یہ XML ٹرانسفارمز کو بھی سپورٹ کرتا ہے۔ فلٹر (سافٹ ویئر) فلٹر (یونکس) ویب ٹیمپلیٹ ویب ٹیمپلیٹ سسٹم ٹیمپلیٹ انجن (ویب) ٹریٹیم (پروگرامنگ زبان) حوالہ جات تبدیلی زبانیں XML پر مبنی معیارات بھی دیکھیں۔