मैं कुछ एक्सएमएल जो एक नाम स्थान जो केवल विशेषताओं के लिए प्रयोग किया जाता है वाणी मिल गया है, इस तरह निकालें:XSL - तत्वों नकल लेकिन अप्रयुक्त नाम स्थान (रों)
<?xml version="1.0" encoding="UTF-8"?>
<a xmlns:x="http://tempuri.com">
<b>
<c x:att="true"/>
<d>hello</d>
</b>
</a>
मैं एक प्रतिलिपि बनाने के लिए XSL का उपयोग करना चाहते चयनित नोड्स और उनके मूल्यों - गुणों से छुटकारा पाएं। तो मेरी वांछित आउटपुट है:
<?xml version="1.0" encoding="UTF-8"?>
<b>
<c />
<d>hello</d>
</b>
मैं कुछ XSL कि लगभग करता मिल गया है, लेकिन मैं इसे उत्पादन की उच्च स्तर घटक में नाम स्थान घोषणा डाल को रोकने के लिए नहीं कर पा रहे। मेरे XSL है:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<xsl:apply-templates select="https://stackoverflow.com/a/b"/>
</xsl:template>
<xsl:template match="node()">
<xsl:copy>
<xsl:apply-templates select="node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
उत्पादन के पहले तत्व <b xmlns:x="http://tempuri.com">
बजाय <b>
है। मैंने एक्सएसएल में नेमस्पेस घोषित करने और exclude-result-prefixes
सूची में उपसर्ग डालने का प्रयास किया है, लेकिन ऐसा कोई प्रभाव नहीं प्रतीत होता है। मैं क्या गलत कर रहा हूं?
अपडेट: मैंने पाया है कि एक्सएसएल में नेमस्पेस घोषित करके और extension-element-prefixes
विशेषता का उपयोग करके, लेकिन यह सही नहीं लगता है! मुझे लगता है कि मैं इसका उपयोग कर सकता हूं, लेकिन मुझे यह जानना है कि exclude-result-prefixes
क्यों काम नहीं करता है!
अद्यतन: असल में, ऐसा लगता है कि यह extension-element-prefixes
समाधान केवल XMLSpy के अंतर्निर्मित एक्सएसएलटी इंजन के साथ काम करता है, एमएसएक्सएमएल के साथ नहीं।
धन्यवाद, यह (हालांकि "@ *" टेम्पलेट के लिए आवश्यक हो प्रतीत नहीं होता है) काम करता है, लेकिन मैं "स्थानीय नाम सोचा () "समारोह बहुत धीमी थी ..? –
मुझे एक्सएसएलटी 2.0 चाहिए! – Riri
लगभग सही है, लेकिन एक्स: एट विशेषता आउटपुट से गुम है। "@ *" टेम्पलेट नहीं बुलाया जाता है। xsl: प्रत्येक के लिए> को जोड़ने का प्रयास करें। –