xslt

2011-09-16 14 views
17

में जावास्क्रिप्ट फ़ाइल को कैसे शामिल करें I xslt फ़ाइल में जावास्क्रिप्ट फ़ाइल/libary को कैसे शामिल/आयात कर सकते हैं।xslt

+0

अच्छा सवाल है, +1। क्या आप जावास्क्रिप्ट कोड को एक्सटेंशन फ़ंक्शंस के सेट के रूप में उपयोग करना चाहते हैं जिसे रूपांतरण के दौरान बुलाया जाता है, या आप HTML कोड जेनरेट करना चाहते हैं जो जावास्क्रिप्ट फ़ाइल का संदर्भ देता है, या दोनों? ये सभी मान्य और सार्थक परिदृश्य हैं। –

उत्तर

19

आप परिवर्तन में जावास्क्रिप्ट का उपयोग करने की जरूरत है, तो आप जावास्क्रिप्ट सामग्री (डाल करने के लिए एक जावास्क्रिप्ट फ़ाइल के कम से कम है कि जरूरत है (उदाहरण के लिए, यह विस्तार कार्यों कि परिवर्तन के भीतर कहा जाता है का एक सेट होता)) एक अलग एक्सएसएलटी स्टाइलशीट फ़ाइल में, उचित विस्तार तत्व (जैसे <msxml:script>) का उपयोग टेक्स्ट-नोड के अभिभावक के रूप में जावास्क्रिप्ट कोड में है।

फ़ाइल XSL-JS.xsl:

<xsl:stylesheet version="1.0" 
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
     xmlns:msxsl="urn:schemas-microsoft-com:xslt" 
     xmlns:user="http://mycompany.com/mynamespace"> 

<msxsl:script language="JScript" implements-prefix="user"> 
    function xml(nodelist) { 
     return "A B C"; 
    } 
</msxsl:script> 
</xsl:stylesheet> 

फ़ाइल XSL

यहाँ किसी भी Microsoft XSLT प्रोसेसर (MSXML3/4/6, XslCompiledTransform या XslTransform) का उपयोग कर एक बहुत ही सरल उदाहरण है, -Main.xsl जावास्क्रिप्ट आयात कर रहा है कि:

<xsl:stylesheet version="1.0" 
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
     xmlns:msxsl="urn:schemas-microsoft-com:xslt" 
     xmlns:user="http://mycompany.com/mynamespace"> 
<xsl:import href="XSL-JS.xsl"/> 

<xsl:template match="/"> 
    <xsl:value-of select="user:xml(.)"/> 
</xsl:template> 

</xsl:stylesheet> 

जब परिवर्तन, फ़ाइल में XSL-Main.xsl किसी भी XML दस्तावेज़ (इस्तेमाल नहीं किया/पर ध्यान नहीं दिया) पर लागू किया जाता है, चाहता था, सही परिणाम उत्पादन किया जाता है:

A B C 

एक पूरी तरह से अलग मामला है अगर तुम सिर्फ अपने XSLT आवेदन के साथ उत्पन्न करना चाहते हैं एक HTML फ़ाइल जो किसी दिए गए जावास्क्रिप्ट फ़ाइल का संदर्भ देती है।

तो फिर आप अपने XSLT कोड में यह शामिल है और इस सचमुच उत्पन्न उत्पादन के हिस्से के रूप:

<script type="text/javascript" src="SomePath/SomeFileName.js"></script> 
9

आप उत्पन्न HTML फ़ाइल में एक जावास्क्रिप्ट स्रोत शामिल करने की कोशिश कर रहे हैं, तो स्क्रिप्ट टैग तरीका है । लेकिन टैग खाली होने पर कई एक्सएसएलटी प्रोसेसर चकित होंगे। सब कुछ ठीक लग रहा है, लेकिन आप खाली उत्पादन हो रही है जब आप स्क्रिप्ट टैग जोड़ते हैं, के रूप में टैग के भीतर एक नॉन-ब्रेकिंग स्पेस डालने की कोशिश:

<script type="text/javascript" src="SomePath/SomeFileName.js">&#160;</script> 
+0

वाह अद्भुत! धन्यवाद, मुझे काम कर रहे .NET XsltTransform पुस्तकालयों का उपयोग कर समस्याएं थीं। –

5

यह मैं क्या किया और यह मेरे लिए काम किया है।

<script> 
<![CDATA[ 
//ADD SCRIPT HERE. 
} 
]]> 
</script> 

संदर्भ: http://www.w3schools.com/xml/xml_cdata.asp

+0

बहुत बहुत धन्यवाद! –