<xsl:variable> 項目
指定繫結於運算式中的值。
<xsl:variable
name = QName
select = Expression
</xsl:variable>
屬性
項目資訊
備註
變數的值可以是運算式可能傳回的任何物件型別。<xsl:variable> 項目能以其他三種方式指定變數的值:
若項目具有 select 屬性,則屬性的值必須為運算式,而變數的值則為評估運算式後所產生的物件。在此情況下,項目的內容必須是空白的。
若項目沒有 select 屬性,且具有非空白的內容 (例如一或多個子節點),則內容會指定一個值。此內容可做為範本,在具現化後可提供變數的值。此值為結果樹狀結構片段,等同於一個節點集,而其中唯一所含的單一根節點,將範本具現化後所產生的節點序列當作子系。結果樹狀結構片段中之節點的基底 URI,即為變數繫結項目的基底統一資源識別元 (URI)。
若因範本具現化而建立的節點序列成員是屬性節點或命名空間節點,則會發生錯誤,因為根節點無法將屬性節點或命名空間節點當作子系。
若內容空白且不含 select 屬性,則變數的值會是空字串。因此
<xsl:variable name="x"/>
相當於
<xsl:variable name="x" select="''"/>
使用變數依位置選取節點時,請務必留意,不要執行下列動作:
<xsl:variable name="n">2</xsl:variable> ... <xsl:value-of select="item[$n]"/>
這會輸出第一個項目的值,因為變數 "n" 將繫結到結果樹狀結構片段,而非數字。請改為執行:
<xsl:variable name="n" select="2"/> ... <xsl:value-of select="item[$n]"/>
...或:
<xsl:variable name="n">2</xsl:variable> ... <xsl:value-of select="item[number($n)]"/>