2011-02-17 8 views
5

मुझे आश्चर्य है कि फ़ंक्शन के साथ टेम्पलेट मिलान लिखना संभव है।एक्सएसएलटी 2.0 - टेम्पलेट मिलान के साथ मिलान()

मेरे पास एक ऐसा दस्तावेज़ है जिसमें कई तत्व हैं जिन्हें एक सामान्य तत्व का नाम बदलना होगा। निम्नलिखित सभी को सिर्फ ओपी: ओपी 1.2, ओपी 7.3, ओपी 2.4, ओपी 5.6`, आदि

उत्तर

9

हां, आप मिलान मानदंडों में एक अनुमानित फ़िल्टर के अंदर का उपयोग कर सकते हैं तत्वों के लिए।

<xsl:template match="*[contains(local-name(),'OP')]> 
    <OP> 
    <xsl:apply-templates select="@*|node()"/> 
    </OP> 
</xsl:template> 

तुम भी starts-with()

*[starts-with(local-name(),'OP')] 

क्या आप matches() समारोह है, जो और अधिक जटिल मिलान के लिए REGEX पैटर्न का समर्थन करता है इस्तेमाल कर सकते हैं XSLT 2.0 का उपयोग कर रहे हैं, तो इस्तेमाल कर सकते हैं।

*[matches(local-name(),'^OP')] 
+0

+1 एक अच्छे उत्तर के लिए। –

+0

+1 सही उत्तर। –

+0

क्या हम मिलान करने के लिए कई मूल्य प्रदान कर सकते हैं? जैसे: match = "* [इसमें (स्थानीय-नाम(), 'OP1 | OP2 | OP3')] –

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