Elemento <xsl:key>
El elemento <xsl:key> declara una clave con nombre; es decir, un par nombre-valor asignado a un elemento específico de un documento XML.La clave se utiliza con la función key() en expresiones XPath para ayudarle a tener acceso de manera eficiente a los elementos asignados en un documento XML complejo.
<xsl:key
name = QName
match = Pattern
use = Expression
</xsl:key>
Atributos
name
Especifica el Nombres completos de la clave.match
Especifica el Modelos que identifica un nodo que contiene esta clave.use
Especifica una Expresiones (XML) que se va a utilizar como el valor de la clave.El valor de la clave puede ser uno de los siguientes: un atributo, un elemento secundario o el contenido del elemento que coincide.
Información del elemento
Número de apariciones |
Ilimitado |
Elementos primarios |
|
Elementos secundarios |
(No hay elementos secundarios) |
Comentarios
Puede utilizar claves como ID generalizados para hacer referencia a elementos de un documento XML.Para ello, utilice primero <xsl:key> para declarar una clave para un nodo.Después llame la función key() para recuperar el nodo, proporcionando el nombre y el valor de la clave como los argumentos de la función.Para obtener más información, vea el ejemplo siguiente.
En un nodo se pueden declarar varias claves.Esto proporciona varios modos de consultar un nodo.
Al trabajar con documentos XML relativamente grandes, una clave resulta un modo rápido para consultar elementos.Esto se debe a que indiza las situaciones de los nodos deseados por adelantado.Sin embargo, cuando se compilan elementos <xsl:key>, el procesador XSLT no creará dichos índices a menos que se aplique una función key() a las claves.Esto garantiza que la operación de indización de gran consumo de tiempo se realiza solo cuando es necesario.
En una hoja de estilos, los elementos <xsl:key> son elementos de nivel superior y no pueden aparecer en una plantilla.Para evitar referencias circulares, no podrá utilizar referencias de parámetros o variables como parte de una coincidencia <xsl:key>.
Ejemplo
En los temas siguientes se muestra un ejemplo del elemento <xsl:key>.