這是我的代碼有:應用模板
<xsl:template match="*">
<Segment ID="{name()}">
<xsl:value-of select="concat(., ' ')"/>
</Segment>
</xsl:template>
<xsl:template match="*" mode="break">
<Segment ID="{name()}">
<xsl:value-of select="."/>
</Segment>
<Segment>#$NL</Segment>
</xsl:template>
有沒有辦法來調用第二個模板中的第一個模板,這樣我就不必重複的代碼?類似這樣的:
<xsl:template match="*" mode="break">
<xsl:apply-templates select="*"/>
<Segment>#$NL</Segment>
</xsl:template>
我在這裏使用*,它不起作用。我試過@ *和/但沒有任何作用。我們的目標是爲我這樣稱呼它:
<xsl:apply-templates select="FirstName"/>
或
<xsl:apply-templates select="Name" mode="break"/>
哇,那有效。謝謝。我想如果我使用名稱屬性,我必須使用參數。猜猜我必須瞭解更多關於call-template標籤。 – Johnny 2013-04-10 00:34:27
使用'call-template'調用的模板將在當前節點的上下文中執行,因此這是讓多個模板共享一些常用功能的簡便方法。 – JLRishe 2013-04-10 00:53:53
您當然也可以使用模式,並執行''來達到同樣的效果。 –
2013-04-10 08:33:14