एक्सएसएलटी

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

एक्सएसएलटी 2.0 की रिलीज़ के साथ, डब्ल्यू3सी ने एमआईएमई मीडिया प्रकार के पंजीकरण की सिफारिश की और इसे बाद में इंटरनेट निरुपित नंबर प्राधिकरण के साथ पंजीकृत किया गया।

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

उदाहरण
ये उदाहरण निम्न आवक एक्सएमएल दस्तावेज़ का उपयोग करते है

<?एक्सएमएल संस्करण = 1.0 ?>  <नाम>जॉन स्मिथ   <नाम>मोरका इस्मिन्शियस  

उदाहरण 1 (एक्सएमएल को एक्सएमएल में बदलना)
यह एक्सएसएलटी शैली पत्रक एक्सएमएल दस्तावेज़ को रूपांतरित करने के लिए टेम्पलेट प्रदान करती है: <एक्सएसएल: आउटपुट मेथड = एक्सएमएल इंडेंट = हाँ />

<एक्सएसएल: साँचा मिलान = /व्यक्तियों > <जड़> <एक्सएसएल:apply-templates select= person />  

<एक्सएसएल: टेम्पलेट मैच = व्यक्ति> <नाम उपयोगकर्ता नाम = {@उपयोगकर्ता नाम}> <एक्सएसएल: चयन का मूल्य = नाम />  



इसका मूल्यांकन एक नए एक्सएमएल दस्तावेज़ में होता है, जिसमें एक और संरचना होती है:

<वाक्यविन्यास प्रकाश लैंग = एक्सएमएल><?एक्सएमएल संस्करण = 1.0 एन्कोडिंग = UTF-8 ?><जड़> <नाम उपयोगकर्ता नाम = JS1> जॉन  <नाम उपयोगकर्ता नाम = MI1> मोरका  

उदाहरण 2 (एक्सएमएल को एक्सएचटीएमएल में बदलना)
निम्न उदाहरण एक्सएसएलटी फ़ाइल संसाधित कर रहा है

<?एक्सएमएल संस्करण = 1.0 एन्कोडिंग = UTF-8 ?>

<एक्सएसएल: शैली पत्रक संस्करण = 1.0 एक्सएमएलns:एक्सएसएल= http://डब्ल्यूडब्ल्यूडब्ल्यू.डब्ल्यू3.org/1999/एक्सएसएल/Transform एक्सएमएलns= http://डब्ल्यूडब्ल्यूडब्ल्यू.डब्ल्यू3.org/1999/xएचटीएमएल >

<एक्सएसएल: आउटपुट विधि = एक्सएमएल इंडेंट = हाँ एन्कोडिंग = UTF-8 />

<एक्सएसएल: साँचा मिलान = /व्यक्तियों > <एचटीएमएल> एक्सएमएल का परीक्षण उदाहरण <शरीर>

<उल> <एक्सएसएल:apply-templates select= person > <एक्सएसएल: सॉर्ट सेलेक्ट = फैमिली-नेम /> </एक्सएसएल:apply-templates> </शरीर> </एचटीएमएल> </एक्सएसएल: साँचा>

<एक्सएसएल: टेम्पलेट मैच = व्यक्ति> <ली> <एक्सएसएल: value-of select= family-name /><एक्सएसएल:टेक्स्ट>, </एक्सएसएल:टेक्स्ट><एक्सएसएल:value-of select= name /> </ली> </एक्सएसएल: साँचा>

</एक्सएसएल: शैली पत्रक>

</वाक्यविन्यास हाइलाइट>

उपरोक्त दिखाए गए एक्सएमएल इनपुट फ़ाइल के साथ निम्नलिखित एक्सएचटीएमएल में परिणाम (व्हाट्सएप (कंप्यूटर साइंस) को स्पष्टता के लिए यहां समायोजित किया गया है):

<वाक्यविन्यास प्रकाश लैंग = एक्सएमएल>

<?एक्सएमएल संस्करण = 1.0 एन्कोडिंग = UTF-8 ?>

<एचटीएमएल एक्सएमएलns= http://डब्ल्यूडब्ल्यूडब्ल्यू.डब्ल्यू3.org/1999/xएचटीएमएल > एक्सएमएल का परीक्षण उदाहरण <शरीर>

<उल> <li>इस्मिन्शियस, मोरका</li> <li>स्मिथ, जॉन</li> </शरीर>           </एचटीएमएल>           </वाक्यविन्यास हाइलाइट> वेब ब्राउजर में प्रस्तुत किए जाने पर यह एक्सएचटीएमएल नीचे आउटपुट उत्पन्न करता है। एक वेब ब्राउज़र के लिए प्रदर्शन पर एक एक्सएमएल दस्तावेज़ में एक्सएसएल परिवर्तन लागू करने में सक्षम होने के लिए, एक एक्सएमएल शैली पत्रक प्रसंस्करण निर्देश एक्सएमएल में सम्मिलित किया जा सकता है। इसलिए, उदाहरण के लिए, यदि उपरोक्त उदाहरण2 में शैली पत्रक "उदाहरण2.एक्सएसएल" के रूप में उपलब्ध थी, तो निम्नलिखित निर्देश मूल इनकमिंग एक्सएमएल में जोड़े जा सकते है: <वाक्यविन्यास प्रकाश लैंग = एक्सएमएल>

<?एक्सएमएल-स्टाइलशीट href= example2.एक्सएसएल type= टेक्स्ट/एक्सएसएल ?>

</वाक्यविन्यास हाइलाइट>

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

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

 * अल्टोवा से रैप्टरएक्सएमएल एक एक्सएसएलटी 3.0 प्रोसेसर है जो एक्सएमएलस्पाई विकास टूलकिट में उपलब्ध है और एक फ्री-स्टैंडिंग सर्वर कार्यान्वयन के रूप में, एक रेस्ट इंटरफेस का उपयोग करके लागू किया गया है।
 * आईबीएम डेटापॉवर ब्रांड के अनुसार एक विशेष प्रयोजन के हार्डवेयर उपकरण में एम्बेडेड एक्सएसएलटी प्रसंस्करण प्रदान करता है।
 * लिबएक्सएमएल एमआईटी लाइसेंस के अनुसार जारी की गई एक मुफ्त लाइब्रेरी है जिसे व्यावसायिक अनुप्रयोगों में पुन: उपयोग किया जा सकता है। यह लिबएक्सए मएल l पर आधारित है और गति और सुवाह्यता के लिए सी (प्रोग्रामिंग भाषा) में लागू किया गया है। यह एक्सएसएलटी 1.0 और एक्सएसएलटी विस्तार को सहायता करता है।
 * इसका उपयोग कमांड लाइन पर एक्सएसएलटी प्रो सी के माध्यम से किया जा सकता है जो मैकओएस और कई लिनक्स वितरणों में सम्मलित है, और साइगविन के माध्यम से माइक्रोसॉफ़्ट विंडोज़ पर उपयोग किया जा सकता है।
 * वेबकिट और ब्लिंक (लेआउट इंजन), उदाहरण के लिए क्रमशः एप्पल सफारी और गूगल क्रोम वेब ब्राउज़र में उपयोग किए जाते है, एक्सएसएल परिवर्तन करने के लिए लिबएक्सएसएलटी लाइब्रेरी का उपयोग करते है।
 * पायथन (प्रोग्रामिंग भाषा), पर्ल, रूबी (प्रोग्रामिंग भाषा), पीएचपी, सामान्य लिस्प, टीसीएल, और सी ++ के लिए बाइंडिंग उपस्तिथ है।
 * माइक्रोसॉफ्ट दो एक्सएसएलटी प्रोसेसर प्रदान करता है (दोनों एक्सएसएलटी 1.0 केवल)। पहले का प्रोसेसर एमएसएक्सएमएल सीओएम इंटरफेस प्रदान करता है, एमएसएक्सएमएल 4.0 से इसमें कमांड लाइन उपयोगिता  भी सम्मलित है। .नेट रनटाइम में इसके   लाइब्रेरी में एक अलग बिल्ट-इन एक्सएसएलटी प्रोसेसर सम्मलित है।
 * Saxon एक एक्सएसएलटी 3.0 और एक्सक्वेरी 3.1 प्रोसेसर है जिसमें स्टैंड-अलोन ऑपरेशन और जावा, जावाSसीript और .नेट के लिए ओपन-सोर्स और मालिकाना संस्करण है। एक अलग उत्पाद सैक्सन-जेएस Node.js और ब्राउज़र में एक्सएसएलटी 3.0 प्रसंस्करण प्रदान करता है।
 * Xalan जावा और सी++ के लिए उपलब्ध अपाचे सॉफ्टवेयर फाउंडेशन का एक ओपन सोर्स एक्सएसएलटी 1.0 प्रोसेसर है। ओरेकल से मानक जावा वितरण में Xalan प्रोसेसर का एक संस्करण डिफ़ॉल्ट एक्सएसएलटी प्रोसेसर के रूप में सम्मलित है।
 * वेब ब्राउज़र: सफारी, क्रोम, फ़ायरफ़ॉक्स, ओपेरा और इंटरनेट एक्सप्लोरर सभी एक्सएसएलटी 1.0 (केवल) का समर्थन करते है। ब्राउज़र एक्सएमएल फ़ाइलों का ऑन-द-फ्लाई परिवर्तन कर सकते है और ब्राउज़र विंडो में परिवर्तन आउटपुट प्रदर्शित कर सकते है। यह या तो एक्सएमएल दस्तावेज़ में एक्सएसएल एम्बेड करके या एक्सएमएल दस्तावेज़ से एक्सएसएल निर्देशों वाली फ़ाइल को संदर्भित करके किया जाता है। बाद वाला अपने सुरक्षा मॉडल के कारण स्थानीय फ़ाइल प्रणाली से फ़ाइलों पर क्रोम के साथ काम नहीं कर सकता है।
 * एडोब एक्सएसएल इंजन, एक मालिकाना पुस्तकालय

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

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

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

यह भी देखें

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

अग्रिम पठन

 * एक्सएसएलटी by Doug Tidडब्ल्यूell, published by O’Reilly (ISBN 0-596-00053-7)
 * एक्सएसएलटी सीookbook by Sal Mangano, published by O’Reilly (ISBN 0-596-00974-7)
 * एक्सएसएलटी 2.0 प्रोgrammer's Referenसीe by Miसीhael Kay (ISBN 0-764-56909-0)
 * एक्सएसएलटी 2.0 and एक्सपाथ 2.0 प्रोgrammer's Referenसीe by Miसीhael Kay (ISBN 978-0-470-19274-0)
 * एक्सएसएलटी 2.0 डब्ल्यूeb Development by Dmitry Kirsanov (ISBN 0-13-140635-3)
 * एक्सएसएल सीओएमpanion, 2nd Edition by Neil Bradley, published by Addison-डब्ल्यूesley (ISBN 0-201-77083-0)
 * एक्सएसएलटी and एक्सपाथ on the Edge (Unlimited Edition) by Jeni Tennison, published by Hungry Minds Inसी, U.S. (ISBN 0-7645-4776-3)
 * एक्सएसएलटी & एक्सपाथ, A Guide to एक्सएमएल Transformations by John Robert Gardner and Zarella Rendon, published by Prentiसीe-Hall (ISBN 0-13-040446-2)
 * एक्सएसएल-FO by Dave Paडब्ल्यूson, published by O'Reilly (ISBN 978-0-596-00355-5)

बाहरी संबंध

 * Doसीumentation
 * एक्सएसएलटी 1.0 डब्ल्यू3सी Reसीओएमmendation
 * एक्सएसएलटी 2.0 डब्ल्यू3सी Reसीओएमmendation
 * एक्सएसएलटी 3.0 डब्ल्यू3सी Reसीओएमmendation
 * एक्सएसएलटी - MDसी Doसीs by Mozilla Developer Netडब्ल्यूork
 * एक्सएसएलटी Referenसीe (MSDN)
 * एक्सएसएलटी Elements (Saxon)
 * एक्सएसएलटी introduसीtion and referenसीe


 * एक्सएसएलटी सीode लिबraries
 * Eएक्सएसएलटी is a डब्ल्यूidespread सीओएमmunity initiative to प्रोvide extensions to एक्सएसएलटी.
 * Fएक्सएसएल is a लिबrary implementing support for Higher-order funसीtions in एक्सएसएलटी. Fएक्सएसएल is डब्ल्यूritten in एक्सएसएलटी itself.
 * The एक्सएसएलटी Standard लिबrary एक्सएसएलटीsl, प्रोvides the एक्सएसएलटी developer डब्ल्यूith a set of एक्सएसएलटी templates for सीओएमmonly used funसीtions. These are implemented purely in एक्सएसएलटी, that is they do not use any extensions. एक्सएसएलटीsl is a SourसीeForge प्रोjeसीt.
 * Kernoडब्ल्यू A GUI for Saxon that प्रोvides a point and सीliसीk interfaसीe for running transforms.
 * एक्सएसएलटी.js – Transform एक्सएमएल डब्ल्यूith एक्सएसएलटी जावाSसीript लिबrary that transforms एक्सएमएल डब्ल्यूith एक्सएसएलटी in the broडब्ल्यूser.