मेरे पास गैर-नामित तत्वों वाला एक XML दस्तावेज़ है, और मैं उन्हें नामस्थान जोड़ने के लिए XSLT का उपयोग करना चाहता हूं। अधिकांश तत्व नेमस्पेस ए में होंगे; कुछ नामस्थान बी में होंगे। मैं यह कैसे कर सकता हूं?तत्वों के लिए नामस्थान जोड़ें
उत्तर
<foo x="1">
<bar y="2">
<baz z="3"/>
</bar>
<a-special-element n="8"/>
</foo>
और foo.xsl
<xsl:template match="*">
<xsl:element name="{local-name()}" namespace="A" >
<xsl:copy-of select="attribute::*"/>
<xsl:apply-templates />
</xsl:element>
</xsl:template>
<xsl:template match="a-special-element">
<B:a-special-element xmlns:B="B">
<xsl:apply-templates match="children()"/>
</B:a-special-element>
</xsl:template>
</xsl:transform>
साथ
मैं
<foo xmlns="A" x="1">
<bar y="2">
<baz z="3"/>
</bar>
<B:a-special-element xmlns:B="B"/>
</foo>
कि क्या आप के लिए देख रहे हैं?
यहाँ मैं अब तक है:
<xsl:template match="*">
<xsl:element name="{local-name()}" namespace="A" >
<xsl:apply-templates />
</xsl:element>
</xsl:template>
<xsl:template match="a-special-element">
<B:a-special-element xmlns:B="B">
<xsl:apply-templates />
</B:a-special-element>
</xsl:template>
यह लगभग काम करता है; समस्या यह है कि यह गुणों की प्रतिलिपि नहीं बना रहा है। मैंने इस प्रकार से पढ़ा है, xsl: तत्व के तत्व के सभी गुणों की प्रतिलिपि बनाने का कोई तरीका नहीं है (उपयोग-विशेषता-सेट इसे काटने के लिए प्रकट नहीं होता है)।
आपने सही दस्तावेज नहीं पढ़ा है। बल का प्रयोग करें, कल्पना पढ़ें, यह बहुत अच्छी तरह से लिखित और सुलभ है। – ddaa
आपको इस नुस्खा के लिए दो मुख्य अवयवों की आवश्यकता होगी।
सॉस स्टॉक identity transform होगा, और मुख्य स्वाद namespace
विशेषता xsl:element
पर दिया जाएगा।
निम्नलिखित, अवांछित कोड, सभी तत्वों के लिए http://example.com/ नामस्थान जोड़ना चाहिए।
<xsl:template match="*">
<xsl:element name="xmpl:{local-name()}" namespace="http://example.com/">
<xsl:apply-templates select="@*|node()"/>
</xsl:element>
</xsl:template>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
व्यक्तिगत संदेश: हैलो, जेनी टेनीसन। मुझे पता है कि आप इसे पढ़ रहे हैं।
- 1. मानक XAML तत्वों के लिए अतिरिक्त विशेषताओं को कैसे जोड़ें?
- 2. जावास्क्रिप्ट में गैर डोम तत्वों के लिए EventListener कैसे जोड़ें?
- 3. के लिए DomDocument नामस्थान क्या हैं?
- 4. नामस्थान के नाम से नामस्थान
- 5. नामस्थान
- 6. नामस्थान के लिए एक्सएमएल-प्रलेखन
- 7. सभी फॉर्म तत्वों पर एक ऑनब्लर जोड़ें
- 8. व्यक्तिगत तत्वों की बजाय एक सिंडिकेशन में नामस्थान जोड़ना?
- 9. टैग 0 नेमस्पेस डिफ़ॉल्ट नामस्थान में तत्वों के लिए जोड़ा गया
- 10. पायथन | एक सूची के तत्वों कैसे जोड़ें बेतरतीब ढंग से
- 11. भविष्य के बनाए गए तत्वों के लिए jQuery के माध्यम से सीएसएस नियम जोड़ें
- 12. नामस्थान पैकेज
- 13. नामस्थान [DataContract]
- 14. सूची तत्वों के अंदर फ़्लोटिंग तत्वों के लिए चाल
- 15. नामस्थान
- 16. नामस्थान
- 17. नामस्थान
- 18. नामस्थान
- 19. जिसमें नामस्थान/पैकेज अपवाद डालने के लिए
- 20. रेल - नामस्थान नियंत्रक के लिए मिलान मार्ग
- 21. नामस्थान
- 22. नामस्थान
- 23. अन्य नामस्थान
- 24. नामस्थान के अंदर
- 25. नाम या नामस्थान नाम नामस्थान
- 26. विस्तार के तरीके - नामस्थान
- 27. एक्सएसएलटी का उपयोग कर सभी तत्वों और विशेषताओं के लिए नेमस्पेस और उपसर्ग कैसे जोड़ें?
- 28. रूबी पर रूबी में फॉर्म तत्वों के लिए एक परिवर्तनीय श्रोता कैसे जोड़ें?
- 29. WPF में तत्वों पर अर्ध-पारदर्शी छाया कैसे जोड़ें?
- 30. स्ट्रिंग सरणी में तत्वों को गतिशील रूप से कैसे जोड़ें?
यूप; मैंने आपकी पोस्ट से पहले एक जवाब गुगल किया, और यह अनिवार्य रूप से वही था। एक अंतर यह है कि मैं का उपयोग कर रहा हूं, लेकिन मेरा मानना है कि वे कार्यात्मक रूप से समान हैं। –