2011-06-24 93 views
2

的變量。當我這樣做:類型爲字符串或數字

<xsl:variable name="t"> 
     <xsl:choose> 
      <xsl:when test="1=1"> 
       <xsl:value-of select="1"/> 
      </xsl:when> 
      <xsl:otherwise> 
       <xsl:value-of select="0"/> 
      </xsl:otherwise> 
     </xsl:choose> 
    </xsl:variable> 

名爲t字符串或數字變量的類型?

如果字符串並不意味着,我可以簡單地說:

<xsl:variable name="t"> 
     <xsl:choose> 
      <xsl:when test="1=1">1</xsl:when> 
      <xsl:otherwise>0</xsl:otherwise> 
     </xsl:choose> 
    </xsl:variable> 

回答

2

使用XSLT 1.0的變量的類型是在兩種情況下包含文本節點的結果樹片段。

1

XSLT 1.0在XSLT 2.0中沒有很強的類型輸入。

在XSLT 1.0中,非空體的變量是RTF類型(結果樹片段)。

在您的具體情況下,變量是一個RTF,其中包含一個文本節點。變量的字符串值(在這兩種情況下)恰好可以作爲數字來轉換,並且這可以用於通過期望數字參數的XPath運算符引用該變量(並且引用將被替換爲number($t)並且這不會是NaN )。

相關問題