<xsl:key> | |
Définit un index dans le document actif. L'élément est défini avec trois attributs : un attribut name indiquant un nom pour cet index ; un attribut match représentant une expression XPath qui décrit les nœuds à indexer et un attribut use représentant une expression XPath qui définit la propriété utilisée pour créer l'index. | |
Catégorie | |
Elément de niveau supérieur |
|
Attributs obligatoires | |
|
|
Attributs facultatifs | |
Aucun. |
|
Contenu | |
Aucun. <xsl:key> est un élément vide. |
|
Apparaît dans | |
L'élément <xsl:key> est un élément de niveau supérieur qui ne peut apparaître que sous forme d'enfant de l'élément <xsl:stylesheet>. |
|
Défini dans | |
XSLT section 12.2, Clés. |
|
Exemple | |
La feuille de style suivante définit deux relations <xsl:key> dans un document XML : <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:key name="language-index" match="defn" use="@language"/> <xsl:key name="term-ids" match="term" use="@id"/> <xsl:param name="targetLanguage"/> <xsl:template match="/"> <xsl:apply-templates select="glossary"/> </xsl:template> <xsl:template match="glossary"> <html> <head> <title> <xsl:text>Glossary Listing: </xsl:text> <xsl:value-of select="key('language-index', $targetLanguage)[1]/preceding-sibling::term"/> <xsl:text> - </xsl:text> <xsl:value-of select="key('language-index', $targetLanguage)[last()]/preceding-sibling::term"/> </title> </head> <body> <h1> <xsl:text>Glossary Listing: </xsl:text> <xsl:value-of select="key('language-index', $targetLanguage)[1]/ancestor::glentry/term"/> <xsl:text> - </xsl:text> <xsl:value-of select="key('language-index', $targetLanguage)[last()]/ancestor::glentry/term"/> </h1> <xsl:for-each select="key('language-index', $targetLanguage)"> <xsl:apply-templates select="ancestor::glentry"/> </xsl:for-each> </body> </html> </xsl:template> ... </xsl:stylesheet> Pour obtenir des informations complètes sur la manière dont cette feuille de style utilise les relations <xsl:key>, voir la Section 5.2.3 duchapitre 5. |