एक्सएसएलटी

एक्सएसएलटी (एक्स्टेंसिबल स्टाइलशीट लैंग्वेज ट्रांसफॉर्मेशन) मूल रूप से एक्सएमएल दस्तावेजों को अन्य एक्सएमएल दस्तावेजों, या वेब पेजों के लिए एचटीएमएल जैसे अन्य प्रारूपों, सादे पाठ या एक्सएसएल फॉर्मेटिंग ऑब्जेक्ट्स में बदलने के लिए डिज़ाइन की गई भाषा है, जिसे बाद में अन्य प्रारूपों में परिवर्तित किया जा सकता है। जैसे पीडीएफ, पोस्टस्क्रिप्ट और पीएनजी। एक्सएसएलटी 1.0 विनिर्देशन के बाद के अपडेट में JSON और प्लेन-टेक्स्ट ट्रांसफ़ॉर्मेशन के लिए समर्थन जोड़ा गया था।

अगस्त 2022 तक, भाषा का सबसे हालिया स्थिर संस्करण एक्सएसएलटी 3.0 है, जिसने जून 2017 में सिफारिश की स्थिति हासिल की।

एक्सएसएलटी 3.0 कार्यान्वयन Java, .NET, C/C++, Python, PHP और NodeJS को सपोर्ट करता है। एक एक्सएसएलटी 3.0 Javascript लाइब्रेरी को वेब ब्राउज़र में भी होस्ट किया जा सकता है। आधुनिक वेब ब्राउज़र में एक्सएसएलटी 1.0 के लिए मूल समर्थन भी शामिल है।

एक एक्सएसएलटी दस्तावेज़ परिवर्तन के लिए, मूल दस्तावेज़ नहीं बदला गया है; बल्कि, मौजूदा दस्तावेज़ की सामग्री के आधार पर एक नया दस्तावेज़ बनाया जाता है। विशिष्ट रूप से, इनपुट दस्तावेज़ एक्सएमएल फ़ाइलें होते हैं, लेकिन कोई भी चीज़ जिससे प्रोसेसर एक्सक्वेरी और XPath डेटा मॉडल का निर्माण कर सकता है, का उपयोग किया जा सकता है, जैसे संबंध का डेटाबेस टेबल या भौगोलिक सूचना प्रणाली।

जबकि एक्सएसएलटी को मूल रूप से एक्सएमएल परिवर्तन के लिए एक विशेष-उद्देश्य वाली भाषा के रूप में डिजाइन किया गया था, यह भाषा ट्यूरिंग-पूर्ण है, जो इसे सैद्धांतिक रूप से मनमाना संगणना करने में सक्षम बनाती है।

इतिहास
एक्सएसएलटी कार्यात्मक भाषाओं, और SNOBOL और AWK जैसी पाठ-आधारित पैटर्न मिलान भाषाओं से प्रभावित है। इसका सबसे प्रत्यक्ष पूर्ववर्ती DSSSL है, जिसने SGML के लिए वही किया जो एक्सएसएलटी एक्सएमएल के लिए करता है।
 * एक्सएसएलटी 1.0: एक्सएसएलटी विश्वव्यापी वेब संकाय (W3C) के एक्स्टेंसिबल स्टाइलशीट लैंग्वेज (XSL) के 1998-1999 के विकास प्रयास का हिस्सा था, एक ऐसी परियोजना जिसने XSL-FO और XPath का भी उत्पादन किया। एक्सएसएलटी को विकसित करने वाली मानक समिति के कुछ सदस्य, जिनमें संपादक जेम्स क्लार्क भी शामिल हैं, ने पहले DSSSL पर काम किया था। एक्सएसएलटी 1.0 को नवंबर 1999 में W3C अनुशंसा के रूप में प्रकाशित किया गया था। इसकी उम्र के बावजूद, एक्सएसएलटी 1.0 अभी भी व्यापक रूप से उपयोग किया जाता है (2018 तक), क्योंकि बाद के संस्करण वेब ब्राउज़र या LAMP जैसे वातावरण के लिए मूल रूप से समर्थित नहीं हैं।
 * एक्सएसएलटी 2.0: 2001 में एक संस्करण 1.1 बनाने के असफल प्रयास के बाद, XSL कार्यकारी समूह ने XPath 2.0 बनाने के लिए एक्सक्वेरी कार्यकारी समूह के साथ सेना में शामिल हो गए, एक्सएमएल स्कीमा पर आधारित एक समृद्ध डेटा मॉडल और प्रकार प्रणाली के साथ। इस पर निर्माण एक्सएसएलटी 2.0 है, माइकल हॉवर्ड के संपादन के तहत विकसित किया गया, जो जनवरी 2007 में सिफारिश की स्थिति तक पहुंच गया। एक्सएसएलटी 2.0 में सबसे महत्वपूर्ण नवप्रवर्तनों में शामिल हैं:
 * नियमित अभिव्यक्ति का उपयोग करते हुए स्ट्रिंग हेरफेर
 * दिनांक, समय और अवधि में हेरफेर करने के लिए कार्य और ऑपरेटर
 * एकाधिक आउटपुट दस्तावेज़
 * ग्रुपिंग (फ्लैट इनपुट अनुक्रमों से पदानुक्रमित संरचना बनाना)
 * एक समृद्ध प्रकार की प्रणाली और मजबूत प्रकार की जाँच


 * एक्सएसएलटी 3.0: 8 जून 2017 को W3C अनुशंसा बन गया। मुख्य नई विशेषताएं हैं:
 * स्ट्रीमिंग परिवर्तन: पिछले संस्करणों में पूरे इनपुट दस्तावेज़ को संसाधित करने से पहले मेमोरी में पढ़ना पड़ता था, और प्रसंस्करण समाप्त होने तक आउटपुट नहीं लिखा जा सकता था। एक्सएसएलटी 3.0 एक्सएमएल स्ट्रीमिंग की अनुमति देता है जो स्मृति में फ़िट होने के लिए बहुत बड़े दस्तावेज़ों को प्रोसेस करने के लिए उपयोगी है या जब एक्सएमएल पाइपलाइनों में परिवर्तन जंजीर हैं।
 * संकुल, बड़ी स्टाइलशीट की प्रतिरूपकता में सुधार करने के लिए।
 * उदाहरण के लिए, xsl:try निर्देश के साथ गतिशील त्रुटियों का बेहतर प्रबंधन।
 * नक्शे और सरणियों के लिए समर्थन, एक्सएसएलटी को JSON के साथ-साथ एक्सएमएल को संभालने में सक्षम बनाता है।
 * कार्य अब अन्य (उच्च-क्रम) कार्यों के लिए तर्क हो सकते हैं।

डिजाइन और प्रसंस्करण मॉडल
एक्सएसएलटी प्रोसेसर एक या अधिक एक्सएमएल स्रोत दस्तावेज़ों के साथ-साथ एक या अधिक एक्सएसएलटी स्टाइलशीट लेता है, और उन्हें एक या एकाधिक आउटपुट दस्तावेज़ बनाने के लिए संसाधित करता है। सी (प्रोग्रामिंग भाषा), एक्सएसएलटी जैसी व्यापक रूप से लागू अनिवार्य प्रोग्रामिंग भाषाओं के विपरीत घोषणात्मक है। मूल प्रसंस्करण प्रतिमान पैटर्न मिलान है। स्टेटफुल वातावरण में प्रदर्शन करने के लिए क्रियाओं के एक अनिवार्य अनुक्रम को सूचीबद्ध करने के बजाय, टेम्पलेट नियम केवल यह परिभाषित करते हैं कि किसी विशेष XPath-जैसे पैटर्न से मेल खाने वाले नोड को कैसे संभालना है, यदि प्रोसेसर को एक का सामना करना चाहिए, और टेम्पलेट की सामग्री प्रभावी रूप से कार्यात्मक होती है अभिव्यक्तियाँ जो सीधे उनके मूल्यांकित रूप का प्रतिनिधित्व करती हैं: परिणाम ट्री, जो प्रोसेसर के आउटपुट का आधार है।

एक विशिष्ट प्रोसेसर निम्नानुसार व्यवहार करता है। सबसे पहले, यह मानते हुए कि स्टाइलशीट पहले ही पढ़ी और तैयार की जा चुकी है, प्रोसेसर इनपुट एक्सएमएल दस्तावेज़ से एक स्रोत ट्री बनाता है। इसके बाद यह स्रोत ट्री के रूट नोड को संसाधित करता है, स्टाइलशीट में उस नोड के लिए सबसे अच्छा मेल खाने वाला टेम्पलेट ढूंढता है, और टेम्पलेट की सामग्री का मूल्यांकन करता है। प्रत्येक टेम्प्लेट में निर्देश आम तौर पर प्रोसेसर को या तो परिणाम ट्री में नोड्स बनाने के लिए निर्देशित करते हैं, या रूट नोड के समान ही स्रोत ट्री में अधिक नोड्स को प्रोसेस करने के लिए निर्देशित करते हैं। अंत में परिणाम ट्री को एक्सएमएल या एचटीएमएल टेक्स्ट के रूप में क्रमबद्ध किया जाता है।

एक्सपाथ
एक्सएसएलटी स्रोत दस्तावेज़ ट्री के सबसेट की पहचान करने और गणना करने के लिए XPath का उपयोग करता है। XPath उपनेमका की एक श्रृंखला भी प्रदान करता है, जिसे एक्सएसएलटी स्वयं आगे बढ़ाता है।

एक्सएसएलटी 1.0 XPath 1.0 का उपयोग करता है, जबकि एक्सएसएलटी 2.0 XPath 2.0 का उपयोग करता है। एक्सएसएलटी 3.0 या तो XPath 3.0 या 3.1 के साथ काम करेगा। 1.0 और 2.0 के मामले में, एक्सएसएलटी और XPath विनिर्देशों को एक ही तिथि पर प्रकाशित किया गया था। 3.0 के साथ, हालांकि, वे अब सिंक्रनाइज़ नहीं थे; XPath 3.0 अप्रैल 2014 में एक सिफारिश बन गया, उसके बाद फरवरी 2017 में XPath 3.1; एक्सएसएलटी 3.0 जून 2017 में आया।

एक्सक्वेरी तुलना
एक्सएसएलटी प्रकार्यात्मकताएँ एक्सक्वेरी के साथ ओवरलैप करती हैं, जिसे शुरू में एक्सएमएल दस्तावेज़ों के बड़े संग्रह के लिए एक क्वेरी भाषा के रूप में माना गया था।

एक्सएसएलटी 2.0 और एक्सक्वेरी 1.0 मानकों को W3C के भीतर अलग-अलग कार्य समूहों द्वारा विकसित किया गया था, जहां उपयुक्त हो, एक सामान्य दृष्टिकोण सुनिश्चित करने के लिए मिलकर काम करना। वे समान डेटा मॉडल, टाइप सिस्टम और फ़ंक्शन लाइब्रेरी साझा करते हैं, और दोनों में XPath 2.0 को एक उपभाषा के रूप में शामिल किया गया है।

हालाँकि, दो भाषाएँ विभिन्न परंपराओं में निहित हैं और विभिन्न समुदायों की आवश्यकताओं को पूरा करती हैं। एक्सएसएलटी को मुख्य रूप से एक स्टाइलशीट भाषा के रूप में माना गया था जिसका प्राथमिक लक्ष्य मानव पाठक के लिए स्क्रीन पर, वेब पर (एक वेब टेम्पलेट के रूप में), या कागज पर एक्सएमएल को प्रस्तुत करना था। एक्सक्वेरी को मुख्य रूप से SQL की परंपरा में डेटाबेस क्वेरी भाषा के रूप में माना गया था।

क्योंकि दो भाषाएँ विभिन्न समुदायों में उत्पन्न होती हैं, एक्सएसएलटी इसकी हैंडलिंग में अधिक मजबूत है अधिक लचीली संरचना के साथ वर्णनात्मक दस्तावेज़ों की, जबकि एक्सक्वेरी अपने डेटा हैंडलिंग में अधिक मजबूत है, उदाहरण के लिए जब रिलेशनल जॉइन करते हैं।

मीडिया प्रकार
ई> तत्व वैकल्पिक रूप से विशेषता ले सकता है, जो किसी को परिणामी आउटपुट के लिए इंटरनेट मीडिया प्रकार (या MIME प्रकार) सेट करने की अनुमति देता है, उदाहरण के लिए:. एक्सएसएलटी 1.0 अनुशंसा अधिक सामान्य विशेषता प्रकारों की अनुशंसा करती है  और   चूंकि लंबे समय से एक्सएसएलटी के लिए कोई पंजीकृत मीडिया प्रकार नहीं था। इस समय के दौरान   वास्तविक मानक बन गया। एक्सएसएलटी 1.0 में यह निर्दिष्ट नहीं किया गया था कि कैसे   मूल्यों का प्रयोग करना चाहिए।

एक्सएसएलटी 2.0 की रिलीज़ के साथ, W3C ने MIME मीडिया प्रकार के पंजीकरण की सिफारिश की और इसे बाद में इंटरनेट निरुपित नंबर प्राधिकरण के साथ पंजीकृत किया गया। एक्सएसएलटी के प्री-1.0 वर्किंग ड्राफ्ट का उपयोग किया गया  उनके एम्बेडिंग उदाहरणों में, और इस प्रकार को लागू किया गया था और Microsoft द्वारा Internet Explorer में प्रचारित किया जाना जारी है और एमएसएक्सएमएल। में भी व्यापक रूप से मान्यता प्राप्त है   अन्य ब्राउज़रों द्वारा प्रसंस्करण निर्देश। व्यवहार में, इसलिए, इस प्रसंस्करण निर्देश का उपयोग करके ब्राउज़र में परिवर्तन को नियंत्रित करने के इच्छुक उपयोगकर्ता इस अपंजीकृत मीडिया प्रकार का उपयोग करने के लिए बाध्य हैं।

उदाहरण
ये उदाहरण निम्नलिखित इनकमिंग एक्सएमएल दस्तावेज़ W3C विनिर्देशों के अनुसार तकनीकी रूप से गलत है (जो कहते हैं कि प्रकार होना चाहिए  ), लेकिन यह एकमात्र मीडिया प्रकार है जो 2009 तक सभी ब्राउज़रों में व्यापक रूप से समर्थित है, और 2021 में स्थिति अपरिवर्तित है।

प्रोसेसर कार्यान्वयन

 * अल्टोवा से रैप्टरएक्सएमएल एक एक्सएसएलटी 3.0 प्रोसेसर है जो एक्सएमएलस्पाई डेवलपमेंट टूलकिट में उपलब्ध है और एक फ्री-स्टैंडिंग सर्वर कार्यान्वयन के रूप में, एक रेस्ट इंटरफेस का उपयोग करके लागू किया गया है।
 * आईबीएम, आईबीएम WebSphere DataPower SOA उपकरण ब्रांड के तहत एक विशेष-उद्देश्य वाले हार्डवेयर उपकरण में एम्बेड किए गए एक्सएसएलटी प्रसंस्करण की पेशकश करता है।
 * libएक्सएसएलटी मेरा लाइसेंस के तहत जारी एक मुफ्त सॉफ्टवेयर पुस्तकालय (कम्प्यूटिंग) है जिसे व्यावसायिक अनुप्रयोगों में पुन: उपयोग किया जा सकता है। यह libएक्सएमएल पर आधारित है और गति और सुवाह्यता के लिए C (प्रोग्रामिंग भाषा) में लागू किया गया है। यह एक्सएसएलटी 1.0 और Eएक्सएसएलटी एक्सटेंशन को सपोर्ट करता है।
 * इसे एक्सएसएलटीproc के माध्यम से कमांड लाइन पर इस्तेमाल किया जा सकता है जो macOS में शामिल है और कई लिनक्स वितरण, और साइगविन के माध्यम से माइक्रोसॉफ़्ट विंडोज़ पर इस्तेमाल किया जा सकता है।
 * वेबकिट और ब्लिंक (लेआउट इंजन) लेआउट इंजन, उदाहरण के लिए क्रमशः एप्पल सफारी और Google क्रोम वेब ब्राउज़र में उपयोग किए जाते हैं, एक्सएसएल ट्रांसफॉर्मेशन करने के लिए libएक्सएसएलटी लाइब्रेरी का उपयोग करते हैं।
 * भाषा बाध्यकारी पायथन (प्रोग्रामिंग भाषा) के लिए मौजूद है, पर्ल, रूबी (प्रोग्रामिंग भाषा), पीएचपी, सामान्य लिस्प, टीसीएल, और सी ++।
 * Microsoft दो एक्सएसएलटी प्रोसेसर प्रदान करता है (दोनों एक्सएसएलटी 1.0 केवल)। पहले का प्रोसेसर MSएक्सएमएल COM इंटरफेस प्रदान करता है; MSएक्सएमएल 4.0 से इसमें कमांड लाइन उपयोगिता भी शामिल है . .NET रनटाइम में एक अलग बिल्ट-इन एक्सएसएलटी प्रोसेसर शामिल है   पुस्तकालय।
 * Saxon एक्सएसएलटी एक एक्सएसएलटी 3.0 और एक्सक्वेरी 3.1 प्रोसेसर है जिसमें खुला स्रोत सॉफ्टवेयर है। स्टैंड-अलोन ऑपरेशन के लिए ओपन-सोर्स और मालिकाना सॉफ़्टवेयर संस्करण और Java (प्रोग्रामिंग लैंग्वेज), JavaScript और .NET के लिए। एक अलग उत्पाद सैक्सन-जेएस Node.js और ब्राउज़र में एक्सएसएलटी 3.0 प्रोसेसिंग की पेशकश करता है।
 * Xalan जावा और C++ के लिए उपलब्ध Apache Software Foundation का एक ओपन सोर्स एक्सएसएलटी 1.0 प्रोसेसर है। ओरेकल से मानक जावा वितरण में Xalan प्रोसेसर का एक संस्करण डिफ़ॉल्ट एक्सएसएलटी प्रोसेसर के रूप में शामिल है।
 * वेब ब्राउज़र: सफारी, क्रोम, फायरफॉक्स, ओपेरा और इंटरनेट एक्सप्लोरर सभी एक्सएसएलटी 1.0 (केवल) को सपोर्ट करते हैं। ब्राउज़र एक्सएमएल फ़ाइलों का ऑन-द-फ्लाई ट्रांसफ़ॉर्मेशन कर सकते हैं और ब्राउज़र विंडो में ट्रांसफ़ॉर्मेशन आउटपुट प्रदर्शित कर सकते हैं। यह या तो एक्सएमएल दस्तावेज़ में XSL एम्बेड करके या एक्सएमएल दस्तावेज़ से XSL निर्देशों वाली फ़ाइल को संदर्भित करके किया जाता है। बाद वाला अपने सुरक्षा मॉडल के कारण स्थानीय फ़ाइल सिस्टम की फ़ाइलों पर Chrome के साथ काम नहीं कर सकता है।
 * Adobe AXSLE इंजन, एक मालिकाना पुस्तकालय

प्रदर्शन
अधिकांश शुरुआती एक्सएसएलटी प्रोसेसर दुभाषिए थे। हाल ही में, लक्ष्य के रूप में पोर्टेबल इंटरमीडिएट भाषाओं (जैसे जावा बाइटकोड या .NET सामान्य मध्यवर्ती भाषा) का उपयोग करते हुए, कोड जेनरेशन तेजी से सामान्य हो रहा है। हालांकि, यहां तक ​​कि व्याख्यात्मक उत्पाद आम तौर पर अलग-अलग विश्लेषण और निष्पादन चरणों की पेशकश करते हैं, जिससे एक अनुकूलित अभिव्यक्ति ट्री को स्मृति में बनाया जा सकता है और कई परिवर्तन करने के लिए पुन: उपयोग किया जा सकता है। यह ऑनलाइन प्रकाशन अनुप्रयोगों में पर्याप्त प्रदर्शन लाभ देता है, जहां एक ही परिवर्तन प्रति सेकंड कई बार विभिन्न स्रोत दस्तावेजों पर लागू होता है। यह पृथक्करण एक्सएसएलटी प्रोसेसिंग API (जैसे एक्सएमएल प्रोसेसिंग के लिए Java API) के डिज़ाइन में परिलक्षित होता है।

शुरुआती एक्सएसएलटी प्रोसेसर में बहुत कम अनुकूलन थे। स्टाइलशीट दस्तावेज़ों को दस्तावेज़ ऑब्जेक्ट मॉडल में पढ़ा गया और प्रोसेसर सीधे उन पर कार्य करेगा। XPath इंजन भी अनुकूलित नहीं थे। हालाँकि, एक्सएसएलटी प्रोसेसर कार्यात्मक प्रोग्रामिंग भाषाओं और डेटाबेस क्वेरी भाषाओं में पाई जाने वाली अनुकूलन तकनीकों का उपयोग करते हैं, जैसे कि एक अभिव्यक्ति ट्री की स्थिर पुनर्लेखन (जैसे, गणनाओं को लूप से बाहर ले जाने के लिए), और मध्यवर्ती परिणामों की मेमोरी फ़ुटप्रिंट को कम करने के लिए आलसी पाइपलाइन मूल्यांकन (और जल्दी बाहर निकलने की अनुमति दें जब प्रोसेसर एक अभिव्यक्ति का मूल्यांकन कर सकता है जैसे  सभी उप-अभिव्यक्तियों के पूर्ण मूल्यांकन के बिना)। कई प्रोसेसर पेड़ के प्रतिनिधित्व का भी उपयोग करते हैं जो काफी अधिक कुशल होते हैं (अंतरिक्ष और समय दोनों में) सामान्य-उद्देश्य वाले DOM कार्यान्वयनों की तुलना में।

जून 2014 में, डेबी लॉकेट और माइकल हॉवर्ड के ने एक्सएसएलटी प्रोसेसर के लिए एक्सटी-स्पीडो नामक एक ओपन-सोर्स बेंचमार्किंग फ्रेमवर्क पेश किया।

यह भी देखें

 * एक्सएसएलटी तत्व - कुछ सामान्य रूप से प्रयुक्त एक्सएसएलटी संरचनाओं की एक सूची।
 * एक्सएसएलटी/Muenchian समूहीकरण - एक्सएसएलटी1 और एक्सएसएलटी2+ के बीच बोली का अंतर।
 * एक्स्टेंसिबल स्टाइलशीट लैंग्वेज - भाषाओं का एक परिवार जिसका एक्सएसएलटी एक सदस्य है
 * एक्सक्वेरी# एक्सक्वेरी और एक्सएसएलटी की तुलना
 * एक्सएसएल फॉर्मेटिंग ऑब्जेक्ट्स या एक्सएसएल-एफओ - दस्तावेज़ों के लिए एक एक्सएमएल-आधारित भाषा, आमतौर पर एक्सएसएलटी के साथ स्रोत दस्तावेज़ों को बदलने से उत्पन्न होती है, जिसमें स्वरूपित आउटपुट बनाने के लिए उपयोग की जाने वाली वस्तुएं शामिल होती हैं।
 * पहचान परिवर्तन - फिल्टर चेन के लिए एक शुरुआती बिंदु जो एक ट्रांसफॉर्मेशन पाइपलाइन में एक्सएमएल ट्री से डेटा एलिमेंट्स को जोड़ता या हटाता है
 * अपाचे कोकून - एक्सएसएलटी और अन्य ट्रांसफार्मर के साथ डेटा प्रोसेसिंग के लिए एक जावा (प्रोग्रामिंग भाषा) आधारित ढांचा।

अग्रिम पठन

 * एक्सएसएलटी by Doug Tidwell, published by O’Reilly (ISBN 0-596-00053-7)
 * एक्सएसएलटी Cookbook by Sal Mangano, published by O’Reilly (ISBN 0-596-00974-7)
 * एक्सएसएलटी 2.0 Programmer's Reference by Michael Kay (ISBN 0-764-56909-0)
 * एक्सएसएलटी 2.0 and XPath 2.0 Programmer's Reference by Michael Kay (ISBN 978-0-470-19274-0)
 * एक्सएसएलटी 2.0 Web Development by Dmitry Kirsanov (ISBN 0-13-140635-3)
 * XSL Companion, 2nd Edition by Neil Bradley, published by Addison-Wesley (ISBN 0-201-77083-0)
 * एक्सएसएलटी and XPath on the Edge (Unlimited Edition) by Jeni Tennison, published by Hungry Minds Inc, U.S. (ISBN 0-7645-4776-3)
 * एक्सएसएलटी & XPath, A Guide to एक्सएमएल Transformations by John Robert Gardner and Zarella Rendon, published by Prentice-Hall (ISBN 0-13-040446-2)
 * XSL-FO by Dave Pawson, published by O'Reilly (ISBN 978-0-596-00355-5)

बाहरी संबंध

 * Documentation
 * एक्सएसएलटी 1.0 W3C Recommendation
 * एक्सएसएलटी 2.0 W3C Recommendation
 * एक्सएसएलटी 3.0 W3C Recommendation
 * एक्सएसएलटी - MDC Docs by Mozilla Developer Network
 * एक्सएसएलटी Reference (MSDN)
 * एक्सएसएलटी Elements (Saxon)
 * एक्सएसएलटी introduction and reference


 * एक्सएसएलटी code libraries
 * Eएक्सएसएलटी is a widespread community initiative to provide extensions to एक्सएसएलटी.
 * FXSL is a library implementing support for Higher-order functions in एक्सएसएलटी. FXSL is written in एक्सएसएलटी itself.
 * The एक्सएसएलटी Standard Library एक्सएसएलटीsl, provides the एक्सएसएलटी developer with a set of एक्सएसएलटी templates for commonly used functions. These are implemented purely in एक्सएसएलटी, that is they do not use any extensions. एक्सएसएलटीsl is a SourceForge project.
 * Kernow A GUI for Saxon that provides a point and click interface for running transforms.
 * एक्सएसएलटी.js – Transform एक्सएमएल with एक्सएसएलटी JavaScript library that transforms एक्सएमएल with एक्सएसएलटी in the browser.