टेम्पलेट प्रोसेसर

From Vigyanwiki
टेम्पलेट इंजन के सभी मूल तत्वों और प्रसंस्करण को दर्शाने वाला आरेख।

टेम्प्लेट प्रोसेसर (जिसे टेम्प्लेट इंजन या टेम्प्लेट पार्सर के रूप में भी जाना जाता है) एक ऐसा सॉफ़्टवेयर है, जिसे परिणाम दस्तावेज़ बनाने के लिए डेटा मॉडल के साथ टेम्प्लेट को संयोजित करने के लिए डिज़ाइन किया गया है।[1][2][3] जिस भाषा में टेम्प्लेट लिखे जाते हैं उसे टेम्प्लेट भाषा या टेम्प्लेटिंग भाषा के रूप में जाना जाता है। इस आलेख के प्रयोजनों के लिए एक परिणाम दस्तावेज़ किसी भी प्रकार का प्रारूपित आउटपुट है, जिसमें दस्तावेज़, वेब पेज या स्रोत कोड (स्रोत कोड पीढ़ी में) या समग्र कोड में सम्मिलित है। टेम्प्लेट इंजन को सामान्यतः वेब टेम्प्लेट सिस्टम या एप्लिकेशन फ्रेमवर्क के एक भाग के रूप में सम्मिलित किया जाता है, इसका उपयोग प्रोसेसर या फ़िल्टर के रूप में भी किया जा सकता है।

विशिष्ट विशेषताएं

टेम्प्लेट इंजन में सामान्यतः अधिकांश उच्च-स्तरीय प्रोग्रामिंग भाषाओं में सामान्य सुविधाएं सम्मिलित होती हैं, जिसमें साधारण टेक्स्ट को संसाधित करने की सुविधाओं पर महत्व दिया जाता है।

जिसमें निम्नलिखित विशेषताएं सम्मिलित हैं:

अंतः स्थापित टेम्पलेट इंजन

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

सामान्य उदाहरणों में printf स्ट्रिंग सम्मिलित हैं, जो कई प्रोग्रामिंग भाषाओं में उपलब्ध हैं और स्निपेट टेक्स्ट जो कई टेक्स्ट संपादकों और स्रोत कोड संपादकों में पाए जाते हैं। वर्ड प्रोसेसर में टेम्प्लेट एक सामान्य विशेषता है जबकि टेम्प्लेट (वर्ड प्रसंस्करण) को स्वचालित रूप से प्रायः मेल-मर्ज के रूप में जाना जाता है।

पार्सिंग टेम्प्लेट की पूरक प्रकृति का एक उदाहरण sed_text प्रोसेसर में s/ स्थानापन्न कमांड है, जो sed_text संपादन में खोज और स्थापन से उत्पन्न होता है। प्रतिस्थापन अनुक्रम s/regexp/replacement/ के रूप में होते हैं, जहां इनपुट को पार्स करने के लिए regexp एक नियमित अभिव्यक्ति है और प्रतिस्थापन आउटपुट के लिए एक सरल टेम्पलेट है या तो शाब्दिक टेक्स्ट या संपूर्ण मेल-मर्ज के लिए वर्ण युक्त एक प्रारूप स्ट्रिंग या nth उप-अभिव्यक्ति के लिए विशेष एस्केप अनुक्रम \1 से \9 तक उदाहरण के लिए s/(cat|dog)s?/\1s/g मे सम्मिलित s/ की प्रतिलिपि के अतिरिक्त (cat|dog) की सभी घटनाओं को cats या dogs से परिवर्तित किया जाता है और regexp में पहली उप-अभिव्यक्ति प्रारूप स्ट्रिंग को \1 आउटपुट में प्रतिस्थापित किया जा सकता है।

सिस्टम घटक

सभी टेम्प्लेट प्रसंस्करण सिस्टम में अपेक्षाकृत कम से कम निम्नलिखित प्राथमिक घटक होते हैं:

  • संबद्ध डेटा मॉडल
  • एक या अधिक स्रोत टेम्पलेट
  • एक प्रोसेसर या टेम्पलेट इंजन
  • परिणाम दस्तावेजों के रूप में उत्पन्न आउटपुट

डेटा मॉडल

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

स्रोत टेम्पलेट

स्रोत टेम्पलेट पारंपरिक रूप से निर्दिष्ट हैं:

  • पहले से उपस्थित प्रोग्रामिंग भाषा के अनुसार
  • विशेष रूप से परिभाषित टेम्पलेट भाषा के अनुसार
  • किसी होस्टिंग सॉफ़्टवेयर एप्लिकेशन की विशेषताओं के अनुसार
  • उपरोक्त में से कुछ या सभी के मिश्रित संयोजन के अनुसार

टेम्पलेट इंजन

टेम्प्लेट इंजन निम्नलिखित कारण के लिए उत्तरदायी है:

इसके अतिरिक्त कुछ टेम्प्लेट इंजन अतिरिक्त रूपांतरित विकल्पों की स्वीकृति देते हैं।

परिणाम दस्तावेज़

इनमें संपूर्ण दस्तावेज़ या एक दस्तावेज़ खंड सम्मिलित हो सकता है।

उपयोग

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

टेम्पलेट इंजन

टेम्प्लेट इंजन एक विशिष्ट प्रकार का टेम्प्लेट प्रसंस्करण मॉड्यूल है जो आधुनिक प्रोग्रामिंग भाषा की सभी प्रमुख विशेषताओं को प्रदर्शित करता है। टेम्प्लेट इंजन शब्द प्रोग्रामिंग भाषाओं के एक सामान्यीकृत विवरण के रूप में विकसित हुआ है। जिसका प्राथमिक या विशेष उद्देश्य आउटपुट टेक्स्ट के लिए टेम्प्लेट और डेटा को संसाधित करना है। इस शब्द का उपयोग विशेष रूप से वेब टेम्प्लेट सिस्टम का उपयोग करके वेब विकास पर प्रयुक्त किया जाता है और यह अन्य संदर्भों पर भी प्रयुक्त होता है।[4]

दस्तावेज़ निर्माण

दस्तावेज़ निर्माण संरचना सामान्यतः दस्तावेज़ बनाने के लिए केंद्रीय मॉडल के रूप में टेम्पलेट प्रसंस्करण का उपयोग करती है।

सोर्स कोड संस्करण

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

सॉफ्टवेयर कार्यशीलता

वेब टेम्प्लेट इंजन एक या एक से अधिक आउटपुट वेब पेज बनाने के लिए वेब टेम्प्लेट और स्रोत डेटा (सामान्यतः संबंध डेटाबेस) को संसाधित करता है। इसे सामान्यतः वेब टेम्प्लेट सिस्टम या एप्लिकेशन फ्रेमवर्क के एक भाग के रूप में सम्मिलित किया जाता है। वर्तमान में टेम्प्लेट प्रसंस्करण सॉफ़्टवेयर का उपयोग वेब पेज के विकास के संदर्भ में सबसे अधिक बार किया जाता है।

तुलना

एक्सएसएलटी डब्ल्यू 3-सी द्वारा डिज़ाइन किया गया एक टेम्प्लेट प्रसंस्करण मॉडल है। यह मुख्य रूप से एक्सएमएल डेटा (वेब ​​​​दस्तावेज़ों या अन्य आउटपुट में) पर परिवर्तन के लिए डिज़ाइन किया गया है।

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

इसके अतिरिक्त टेम्प्लेट प्रसंस्करण को कभी-कभी टेक्स्ट संपादक, आईडीई और संबंध डेटाबेस प्रबंधन प्रणाली जैसे सॉफ्टवेयर पैकेजों की उप-सुविधा के रूप में सम्मिलित किया जाता है।

टेम्प्लेट इंजन के उपयोग करने के लाभ

  • स्रोत कोड को परिचालन-विशिष्ट परतों में व्यवस्थित करने को प्रोत्साहित करता है, उदाहरण के लिए एमवीसी देखें।
  • प्रयास के अनावश्यक पुनरुत्पादन को अपेक्षाकृत कम करके उत्पादकता बढ़ाता है।
  • योग्यता (कलात्मक तकनीक) के आधार पर कार्य को अलग करने की स्वीकृति देकर सामूहिक कार्य क्षमता को बढ़ाता है।

यह भी देखें

संदर्भ

  1. Niemeyer, Patrick (2002). Learning Java. Sebastopol: O'Reilly. ISBN 0-596-00285-8.
  2. Manolescu, Dragos (2006). Pattern Languages of Program Design 5. Reading: Addison-Wesley Professional. ISBN 0-321-32194-4.
  3. Fowler, Martin (2003). Patterns of Enterprise Application Architecture. Boston: Addison-Wesley. ISBN 0-321-12742-0.
  4. (see e.g., Velocity, TemplateToolkit, Freemarker ).
  5. JavaServer Pages जावा प्रोग्रामिंग भाषा के उपयोग के लिए Sun द्वारा जारी की गई एक तकनीक है। "JavaServer पेज टेक्नोलॉजी". 2006-10-10. Retrieved 2006-10-10. </ रेफ> सक्रिय सर्वर पृष्ठ,<ref name="ASP10_for_VBS_JS">ASP 1.0 मूल रूप से Microsoft VBScript और JScript के साथ उपयोग के लिए जारी किया गया था। यह Microsoft IIS का विस्तार था।


बाहरी संबंध