我需要指定從html文件到文本文件的輸出順序。因此我使用xsl:apply-templates select方法。 它工作正常,但爲了微調不同節點的輸出,我需要一個相應的模板,而不僅僅是一個普通模板。這也可以,但我需要在模板匹配模式中重複選擇模式。xslt:在選擇和匹配中使用變量
我喜歡定義一個保存模式的變量,因此只需要定義一次。 下面是我簡化的樣式表和簡化的html,它不起作用,但給出了我想要完成的想法。 是否可以使用這樣的變量?如果需要,我可以同時使用xslt 1.0和2.0。
<xsl:stylesheet ...>
...
<xsl:variable name="first">div[@class='one']</xsl:variable>
<xsl:variable name="second">div[@class='two']</xsl:variable>
<xsl:template match="/*">
<xsl:apply-templates select="//$first"/>
<xsl:apply-templates select="//$second"/>
...
</xsl:template>
<xsl:template match="//$first">
<xsl:text>Custom text for class one:</xsl:text><xsl:value-of select="text()"/>
</xsl:template>
<xsl:template match="//$second">
<xsl:text>Custom text for class two:</xsl:text><xsl:value-of select="text()"/>
</xsl:template>
</xsl:stylesheet>
的HTML:
...
<div class="two">text from two</div>
<div class="one">text from one </div>
...
所需的輸出:
Custom text for class one: text from one
Custom text for class two: text from two