2010-08-11 16 views
26

एक्सएसएलटी फ़ाइल के साथ एक्सएमएल फ़ाइल को कैसे लिंक करें?

http://en.wikipedia.org/wiki/XSLT

या

http://www.w3schools.com/xsl/tryxslt.asp?xmlfile=cdcatalog&xsltfile=cdcatalog

पर उदाहरण स्वतंत्र XML और XSLT फ़ाइलों होने लगते हैं। क्या उन्हें लिंक नहीं करना है? या आप किसी भी तरह उन्हें एक ही फाइल में डालते हैं? अन्यथा, एक फ़ाइल कैसे दूसरी फ़ाइल से डेटा में चूसना जानता है?

+1

मैं मानता हूं कि कुछ W3Schools पृष्ठ, जैसे कि, अपर्याप्त हैं।वे आसानी से स्टाइलशीट को जोड़ने का उल्लेख शामिल कर सकते थे, जैसा कि [एक्सएसएलटी - ट्रांसफॉर्मेशन] (http://www.w3schools.com/xsl/xsl_transformation.asp) में किया गया है। – user34660

उत्तर

47

आप आप एक XSLT को XML को बदलने लागू करने के लिए एक बाहरी उपकरण या लाइब्रेरी की जरूरत XML घोषणा

<?xml-stylesheet type="text/xsl" href="yourxsl.xsl"?> 
+3

यह एक्सएमएल (डेटा) फ़ाइल में डालना है? क्या यह एकमात्र तरीका है या आप एक्सएसएलटी फ़ाइल को डेटा प्राप्त करने के लिए भी बता सकते हैं, जिसमें एक्सएमएल फ़ाइल है, या एक तीसरी फाइल है जिसमें एक्सएसएलटी फाइल के साथ एक एक्सएमएल फाइल दोनों शामिल है? –

+0

यदि आप Altova XMLSpy का उपयोग करते हैं तो आप खंड के तहत उदाहरण के लिए जोड़ सकते हैं। आप वहां रिश्तेदार या पूर्ण यूआरएल/पथ का उपयोग कर सकते हैं [यहां टिप्पणी पार्सर मेरे यूआरएल से http: // उपसर्ग को खा रहा है]। अन्य टूल्स में समान वाक्यविन्यास हो सकता है। यह अच्छा होगा अगर कोई एक्सएसएल फ़ाइल में इसके बजाय कुछ मानक वाक्यविन्यास का उपयोग कर सकता है (क्योंकि इस तरह के मामले हैं जहां एक्सएमएल फ़ाइल रिमोट है और आप इसे छू नहीं सकते हैं) –

+0

वैकल्पिक एक्सएमएल फ़ाइल को किसी अन्य एक्सएमएल में शामिल करना शामिल हो सकता है किसी भी तरह से फ़ाइल करें जो स्टाइलशीट निर्दिष्ट करता है, लेकिन यह सुनिश्चित नहीं है कि यह सीधा है (विशेष रूप से XPaths आदि को लेखक की आवश्यकता हो सकती है) –

1

के बाद इस जोड़ सकते हैं। आप यह कैसे करते हैं, यह आपके प्रोग्रामिंग वातावरण पर निर्भर करता है, हालांकि .NET XslCompiledTransform क्लास एक्सएलएलटी को एक्सएमएल (या तो फाइल या एक्सएमएल में एक्सएमएल) में बदलने के लिए इस्तेमाल किया जाता है।

वैकल्पिक आप माइक्रोसॉफ्ट कमांड लाइन उपकरण xslt.exe का उपयोग कर सकते हैं - आपको अपने लिए शोध करना होगा कि अन्य प्रोग्रामिंग भाषाओं/ऑपरेटिंग सिस्टम में एक ही चीज़ कैसे करें।

3

तुम भी एक HTML पेज में परिवर्तन कर सकते हैं:

<script type="text/javascript"> 
    var xml = new ActiveXObject("Microsoft.XMLDOM") 
    xml.async = false 
    xml.load("some_xml.xml") 
    var xsl = new ActiveXObject("Microsoft.XMLDOM") 
    xsl.async = false 
    xsl.load("some_xsl.xsl") 
    document.write(xml.transformNode(xsl)) 
</script> 
+0

क्या होगा यदि यह आईई नहीं है? –

+0

आपको नमूने मिलते हैं: http://www.w3schools.com/xml/xml_parser.asp आधुनिक ब्राउज़रों में इसे कैसे करें :) –

3

एक फ़ाइल अन्य फ़ाइल "डेटा में चूसना" करने के लिए पता नहीं है, क्योंकि फ़ाइलें क्या नहीं प्रसंस्करण कार्य करेगा।

कुछ प्रकार का एक्सएसएलटी प्रोसेसर ऐसा करेगा, और जिस तरीके से यह बताया जाएगा कि काम करने के लिए क्या भिन्न होता है ताकि यह विभिन्न उपयोग मामलों को संभाल सके।

पूरे एक XML दस्तावेज़ की परिणत-अनुदेश प्रसंस्करण प्रतिपादन जब यह एक ब्राउज़र में प्रदर्शित किया जाता है, तो के मामले में: प्रकार के लिए

<?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?> 

(वास्तव में यह किया जाना चाहिए था "text/xml" चूंकि यह एक एक्सएसएल दस्तावेज़ का माइम-प्रकार है, लेकिन यह ब्राउजर युद्धों के पूंछ के अंत में था और ब्राउजर फीचर कार्यान्वयन आम तौर पर सामान्य ज्ञान की गति से तेज़ी से हो रहा था)।

यदि आप कुछ प्रकार की लाइब्रेरी का उपयोग करके प्रोग्रामिंग रूप से परिवर्तन को नियंत्रित कर रहे हैं (क्लाइंट-साइड जावास्क्रिप्ट और किसी भी भाषा में पुस्तकालयों के लिए ऑब्जेक्ट्स हैं जिन्हें आप ऐसा करना चाहते हैं), तो आपके पास पर्याप्त नियंत्रण है विस्तार से क्या बदलता है। यहां कुछ दिलचस्प मामलों में शामिल हैं।

  1. आप सामग्री के नोड और ट्रांसफॉर्म के नोड के साथ एक दस्तावेज़ भी ले सकते हैं, उन्हें बाहर निकालें और ट्रांसफॉर्म चलाएं।

  2. यदि आप एकाधिक एक्सएमएल दस्तावेजों पर एक ही परिवर्तन चला रहे हैं, तो यह किसी भी तरह की "प्रीकंपाइल()" विधि या इसी तरह के कॉल को कॉल करने में अक्सर अधिक कुशल होता है, जो बाद के सभी परिवर्तनों को लाभ पहुंचाने के लिए उस कॉल पर हिट करता है ।

  3. आप एक्सएसएलटी में शीर्ष-स्तर पैरामीटर के मानों में गुजर सकते हैं।

संबंधित मुद्दे