XSLT <xsl:key> 元素

定义和用法

<xsl:key> 元素是顶层元素,它可声明一个命名的键(即为 XML 文档中指定的元素分配的名称和值对)。

此键通过 key() 函数在样式表中使用,帮助您有效地在复杂的 XML 文档中访问分配的元素。。

注释:键不必是唯一的!

语法

  1. <xsl:key
  2. name="name"
  3. match="pattern"
  4. use="expression"/>

属性

属性 描述
name name 必需。规定键的名称。
match pattern 必需。定义该键被应用到哪个节点。
use expression 必需。指定要作为该键的值使用的表达式。 键值可以是下列任一值:属性、子元素或匹配元素的内容。

实例

例子 1

假设您拥有名为 "persons.xml" 的 XML 文件:

  1. <persons>
  2. <person name="Tarzan" id="050676"/>
  3. <person name="Donald" id="070754"/>
  4. <person name="Dolly" id="231256"/>
  5. </persons>

您可以在 XSL 文件中定义一个键,就像这样:

  1. <xsl:key name="preg" match="person" use="@id"/>

如需找到 id="050676" 的 person,请使用这些代码(在 XSL 文件中):

  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <xsl:stylesheet version="1.0"
  3. xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  4.  
  5. <xsl:key name="preg" match="person" use="@id"/>
  6.  
  7. <xsl:template match="/">
  8. <html>
  9. <body>
  10. <xsl:for-each select="key('preg','050676')">
  11. <p>
  12. Id: <xsl:value-of select="@id"/><br />
  13. Name: <xsl:value-of select="@name"/>
  14. </p>
  15. </xsl:for-each>
  16. </body>
  17. </html>
  18. </xsl:template>
  19.  
  20. </xsl:stylesheet>