我在這裏有一個(次要)問題。我正在調用一個已命名的模板,並將結果分配給一個變量。所以對於這麼好,但我需要處理的模板的返回值的類型是整數而不是文本。xsl:call-template:返回一個數字而不是要分配給變量的文本
我不知道是否有辦法實現這一點,而不必使用臨時變量?
下面是一些示例代碼:
<xsl:variable name="tmp">
<xsl:call-template name="mytemplate">
<xsl:with-param name="x" select="123"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="myvar" select="number($tmp)"/>
<xsl:template name="mytemplate">
<xsl:param name="x"/>
<xsl:value-of select="$x"/>
</xsl:template>
不介意的代碼,因爲它是我的模板所做的事情過於簡單化。還請注意,我試圖返回<xsl:value-of select="number($x)"/>
但無濟於事。
任何幫助非常感謝。 TIA
您可能想要檢查XSLT 2.0處理器是否可用於您的系統或平臺,使用XSLT 2.0您可以使用'xsl:sequence' http://www.w3.org/TR/xslt20/#constructing-sequences並且可以使用'as'屬性http://www.w3.org/TR/xslt20/#element-template來確保返回某種類型。 – 2010-11-16 14:03:13
感謝Martin,太糟糕了XSLT 2.0在這裏不是一個選項...... PHP - 我需要多說些什麼?!? – aefxx 2010-11-16 14:04:59