XSLT <xsl:key> 元素

  • 定义和使用

    <xsl:key> 元素是一个顶级元素,它声明了一个可以在样式表中使用 key() 函数的命名键。
    注意:密钥不必是唯一的!
  • 语法

    <xsl:key
      name="name"
      match="pattern"
      use="expression"/>
    
  • 参数

    属性 描述
    name name 必选的,指定键的名称
    match pattern 必选的,定义将应用密钥的节点
    use expression 必选的,每个节点的密钥值
  • 示例

    假设您有一个名为 "persons.xml" 的 xml 文件:
    <persons>
      <person name="Tarzan" id="050676"/>
      <person name="Donald" id="070754"/>
      <person name="Dolly" id="231256"/>
    </persons>
    可以在XSL文件中定义如下键:
    <xsl:key name="preg" match="person" use="@id"/>
    要找到 id="050676" 的人,请写(在XSL文件中):
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      
      <xsl:key name="preg" match="person" use="@id"/>
      
      <xsl:template match="/">
        <html>
        <body>
        <xsl:for-each select="key('preg','050676')">
          <p>
          Id: <xsl:value-of select="@id"/><br />
          Name: <xsl:value-of select="@name"/>
          </p>
        </xsl:for-each>
        </body>
        </html>
      </xsl:template>
      
    </xsl:stylesheet>