<xsl:key> 元素

<xsl:key> 元素声明一个命名的键 — 即为 XML 文档中指定的元素分配的名值对。 该键与 XPath 表达式中的 key() 函数组合使用,帮助您有效地在复杂 XML 文档中访问分配的元素。

<xsl:key
  name = QName
  match = Pattern
  use = Expression
</xsl:key>

特性

  • match
    指定标识持有该键的节点的模式
  • use
    指定要作为该键的值使用的表达式。 键值可以是以下各项之一:特性、子元素或匹配元素的内容。

元素信息

出现次数

无限制

父元素

xsl:stylesheet

子元素

(无子元素)

备注

可以使用键作为通用的 ID,用于在 XML 文档中引用元素。 要这样做,先使用 <xsl:key> 为节点声明一个键。 然后调用 key() 函数检索节点,作为函数参数提供键的名称和值。 有关更多信息,请参见下面的示例。

一个节点上可以声明多个键。 这样可以通过多种方式查询节点。

在处理相对较大的 XML 文档时,键通常是查询元素的一种比较快的方式。 这是因为键本身就会提前为所需节点的位置编制索引。 但是,在编译 <xsl:key> 元素时,XSLT 处理器不会创建此类索引,除非对键调用 key() 函数。 这样可以确保只在需要时才执行耗时比较长的索引操作。

在样式表中,<xsl:key> 元素是顶级元素,不能出现在模板中。 为了避免循环引用,不能使用参数或变量引用作为 <xsl:key> 匹配的一部分。

示例

以下主题提供 <xsl:key> 元素的示例。