जब आप उनके बारे में गहन अनुभव नहीं करते हैं, तो प्रौद्योगिकियों का आकलन करना मुश्किल है, लेकिन निश्चित रूप से जब आपको अपने निर्णय लेने होंगे, तो उस दुविधा का कोई सरल जवाब नहीं है।
आप दो चिंताओं का हवाला देते हैं: प्रदर्शन और प्रयोज्य। मैं नीचे दोनों को संबोधित करने का प्रयास करूंगा।
सबसे पहले, प्रदर्शन। पाठ्यक्रम का प्रदर्शन न केवल भाषा पर बल्कि कार्यान्वयन पर भी निर्भर करता है, और उपयोगकर्ताओं की विशेषज्ञता पर भी। अलग-अलग XSLT प्रोसेसर प्रदर्शन में व्यापक रूप से भिन्न हो सकते हैं, और एक ही प्रोसेसर व्यापक रूप से भिन्न हो सकते हैं कि इसका उपयोग कैसे किया जाता है (सैक्सन के साथ, उदाहरण के लिए, प्रदर्शन की समस्या वाले लोग अक्सर डोम के साथ इसका उपयोग करते पाए जाते हैं, जो एक खराब संयोजन है , और यदि आप सैक्सन के मूल वृक्ष मॉडल का उपयोग करते हैं तो प्रदर्शन दस गुना बढ़ सकता है)। तो पहली सलाह है कि हार्स पर प्रदर्शन न करें, इसे मापें; और दूसरी सलाह यह सुनिश्चित करना है कि माप करने वाले व्यक्ति के पास पर्याप्त अनुभव है कि वह मूर्खतापूर्ण गलती न करे। अधिक आसानी से कहा से किया।
मज़बूती से, आप रूपांतरण नौकरियों को दो श्रेणियों में अलग कर सकते हैं: सरल और जटिल। सरल परिवर्तनों के लिए, एक अच्छे XSLT प्रोसेसर के साथ समय सभी पार्सिंग और क्रमांकन में व्यतीत होता है और XSLT प्रसंस्करण समय शायद ही तस्वीर में आता है। चूँकि कोई भी अन्य तकनीक समान पार्सिंग और क्रमांकन लागतों को वसूलने वाली है, इसलिए रूपांतरण तकनीक का विकल्प एक बड़ा बदलाव नहीं ला सकता है (स्ट्रीमिंग का उपयोग करते हुए बहुत कम-स्तर की कोडिंग को छोड़कर, लेकिन बहुत से लोग प्रोग्रामिंग का खर्च नहीं उठा सकते हैं। समय और कौशल को लागू करने की आवश्यकता है)। बड़े दस्तावेजों पर जटिल परिवर्तनों के लिए, आपको एसक्यूएल प्रोग्रामिंग के साथ समान मुद्दे मिलना शुरू हो जाते हैं: अच्छे प्रदर्शन को प्राप्त करने के लिए प्रोग्रामर के कौशल और ज्ञान और ऑप्टिमाइज़र की क्षमताओं के बीच अच्छी बातचीत की आवश्यकता होती है। SQL के साथ के रूप में, यह ' इस तरह की उच्च-स्तरीय भाषा में कुछ सरल कथन लिखना बहुत आसान है, जिसके परिणामस्वरूप प्रोसेसर को बहुत बड़ी मात्रा में काम करना पड़ता है। लेकिन SQL के साथ भी, प्रोग्रामर जो जानते हैं कि वे क्या कर रहे हैं, नौसिखियों की तुलना में बहुत बेहतर करेंगे।
दूसरा, प्रयोज्यता। XSLT के लिए XML- आधारित सिंटैक्स बहुत से लोगों के लिए भाषा के साथ पहली मुठभेड़ पर बहुत दूर है। लेकिन इस तरह से करने के लिए अच्छे कारण और वास्तविक लाभ हैं: "टेम्पलेट" तर्क है, कि परिणाम कोड में बहुत सारे कोड होते हैं, जो कि परिणाम दस्तावेज़ में लिखे जाते हैं, और XML लिखने का सबसे अच्छा तरीका एक्सएमएल में है। और "प्रतिबिंब" तर्क है; बड़े जटिल प्रणालियों में, स्टाइलशीट को खोजने के लिए बहुत आम है जो स्टाइलशीट उत्पन्न करते हैं। फिर "उपकरण" तर्क है; यदि आप एक XML दुकान में हैं, तो आपके पास बहुत सारे XML टूलिंग हैं जैसे कि सिंटैक्स-निर्देशित संपादकों, और अपने कार्यक्रमों और अपने डेटा को संभालने के लिए समान टूल का उपयोग करने में सक्षम होना अच्छा है। नुकसान तुलनात्मक रूप से काफी कॉस्मेटिक हैं: ' संपादन में शामिल कीस्ट्रोक्स की संख्या (आसानी से एक अच्छा संपादन उपकरण के साथ तय) है, और कोड की वाचालता (इसकी पठनीयता को कम करना) है। XSLT 2.0 में नियमित अभिव्यक्ति और स्टाइलशीट फ़ंक्शंस जैसी सुविधाओं की शुरूआत के साथ वर्बोसिटी को बहुत कम किया जाता है: XSLT 2.0 का पूरा फायदा उठाने पर कई स्टाइलशीट आधे या एक तिहाई आकार में कम हो जाती हैं।
DSSSL का आपका उल्लेख मुझे एक मुस्कुराहट के साथ छोड़ देता है। मैंने कभी भी DSSSL का उपयोग नहीं किया है, लेकिन मैंने जो कहानियां सुनीं, वे अनुपयुक्त थीं क्योंकि इसका सिंटेक्स आर्कन था, और डेटा के सिंटैक्स (एसजीएमएल) से असंबंधित था। XSLT के लिए एक XML सिंटैक्स का उपयोग DSSSL के साथ अनुभव से दृढ़ता से प्रेरित था।
ऐसे लोग हैं जो XSLT से प्यार करते हैं और ऐसे लोग हैं जो इसे नफरत करते हैं। अप्रत्याशित रूप से, जो लोग इसका उपयोग करते हैं, वे पहली श्रेणी में आते हैं। जो लोग इसे नापसंद करते हैं, वे आम तौर पर वे हैं जिन्होंने "XSLT तरीके से सोचना" नहीं सीखा है। आप तर्क दे सकते हैं कि एक प्रोग्रामिंग भाषा को आपके सोचने के तरीके को प्रभावित नहीं करना चाहिए, लेकिन ऐसा होता है: नियम-आधारित भाषा में लिखना एक अनिवार्य भाषा में लिखने से अलग मानसिकता रखता है। कई प्रोग्रामर्स की पहली प्रतिक्रिया यह है कि वे नियंत्रण में कम महसूस करते हैं (समस्या का वर्णन करने के बजाय, कंप्यूटर को बताएं कि कदम से कदम क्या करना है)। यह उस प्रतिक्रिया के समान है जो आप तब देखते थे जब लोगों को पहली बार SQL में लाया गया था। इन दिनों, लोग अपने करियर में पहले SQL सीखते हैं, इसलिए कम मानसिक उत्पीड़न की आवश्यकता होती है।
अंतत:, आपको उद्देश्यपूर्ण मापन योग्य मानदंडों के आधार पर एक तकनीक का चयन करना चाहिए, न कि प्रेम / घृणा प्रतिक्रियाओं पर। उन मापों को बनाना मुश्किल है। लेकिन XSLT का उपयोग बहुत सारे लोग बहुत तीव्रता से और बहुत सफलतापूर्वक कर रहे हैं, इसलिए इसमें कोई संदेह नहीं है कि यह किया जा सकता है।