<xsl:if test="one">
<h2>one</h2>
<xsl:apply-templates select="one"/>
</xsl:if>
<!-- etc -->
वैकल्पिक रूप से, आप एक नामित टेम्पलेट,
<xsl:template name="WriteWithHeader">
<xsl:param name="header"/>
<xsl:param name="data"/>
<xsl:if test="$data">
<h2><xsl:value-of select="$header"/></h2>
<xsl:apply-templates select="$data"/>
</xsl:if>
</xsl:template>
बना सकते हैं और फिर कहते हैं:
<xsl:call-template name="WriteWithHeader">
<xsl:with-param name="header" select="'one'"/>
<xsl:with-param name="data" select="one"/>
</xsl:call-template>
लेकिन ईमानदारी से, जो मेरे लिए अधिक काम की तरह लग रहा ... एक हेडर ड्राइंग करने पर केवल उपयोगी है जटिल ... एक साधारण <h2>...</h2>
के लिए मैं इसे इनलाइन छोड़ने का लुत्फ उठाऊंगा।
हैडर शीर्षक हमेशा है नोड नाम, आप "$ हैडर" आर्ग को हटाने के द्वारा टेम्पलेट simplifiy सकता है, और बजाय का उपयोग करें:
<xsl:value-of select="name($header[1])"/>
स्रोत
2008-10-12 08:55:35
अधिक सटीक रहें :) आपकी xml फ़ाइल नहीं है जैसे आप इस टेम्पलेट का उपयोग करना चाहते हैं? – kender