Bonjour,
Je souhaite utiliser xsl:key pour ensuite générer un index.
Le fichier xml source contient des éléments de ce type:
1 2 3 4
|
<controlaccess>
<subject>terme</subject>
</controlaccess> |
Un premier template est appliqué sur ces éléments pour qu'ils conviennent au schéma XML de sortie:
1 2 3 4 5 6 7 8
|
<xsl:template match="subject[not(@source)]">
<index indexName="Mots-matière">
<term>
<xsl:apply-templates/>
</term>
</index>
</xsl:template> |
Le résultat donne ceci:
1 2 3 4
|
<index indexName="Mots-matière">
<term>terme</term>
</index> |
Cela me convient, sauf que j'aimerais qu'il y ait aussi une key me permettant ensuite de générer l'index.
J'ai utilisé ceci comme élément fils de <xsl:stylesheet>.
<xsl:key name="Mots-matière" match="//index[@indexName='Mots-matière']" use="term"/>
Si je veux générer un index à partir de tous les <term> contenus dans les éléments <index indexName="Mots-matière", comment dois-je m'y prendre?
J'ai fait un essai, qui ne fonctionne pas:
1 2 3 4 5
|
<xsl:for-each select="key('personnes',term)">
<xsl:value-of select="term"/>
<xsl:sort select="term" order="ascending"/>
</xsl:for-each> |
Comment dois-je m'y prendre?
J.
Partager