XSLT <xsl:variable> 元素

  • 定义和使用

    <xsl:variable> 元素用于声明局部或全局变量。
    注意:如果变量声明为顶级元素,则变量为全局变量;如果在模板中声明变量,则变量为局部变量。
    注意:一旦设置了变量的值,就不能更改或修改该值!
    提示:可以通过 <xsl:variable> 元素或通过 select 属性!
  • 语法

    <xsl:variable
    name="name"
    select="expression">
       <!-- Content:template -->
    </xsl:variable>
    
  • 参数

    属性 描述
    name name
    必选的;指定变量的名称
    select expression
    可选的,定义变量的值
  • 示例

    如果存在 "select" 属性,则 <xsl:variable> 元素不能包含任何内容。如果 select 属性包含文本字符串,则该字符串必须在引号内。以下两个示例将值 "red" 指定给变量 "color":
    <xsl:variable name="color" select="'red'" />
    <xsl:variable name="color" select='"red"' />
    如果 <xsl:variable> 元素只包含 name 属性,并且没有内容,则变量的值为空字符串:
    <xsl:variable name="j" />
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      
      <xsl:variable name="header">
        <tr bgcolor="#9acd32">
          <th>Title</th>
          <th>Artist</th>
        </tr>
      </xsl:variable>
      
      <xsl:template match="/">
        <html>
        <body>
        <table border="1">
          <xsl:copy-of select="$header" />
          <xsl:for-each select="catalog/cd">
            <tr>
              <td><xsl:value-of select="title"/></td>
              <td><xsl:value-of select="artist"/></td>
            </tr>
          </xsl:for-each>
        </table>
        </body>
        </html>
      </xsl:template>
      
    </xsl:stylesheet>