J'ai une question concernant <xsl:apply-templates>
.XSLT: <apply-templates select = "...">
laisse supposer que j'ai un XML comme celui-ci (voir http://www.tei-c.org/release/doc/tei-p5-doc/en/html/ref-subst.html):
<transcription>
<subst>
<del>wrong</del>
<add>right</add>
</subst>
</transcription>
Maintenant, je veux traiter cet enregistrement d'une transcription de différentes façons en utilisant XSLT.
Si je veux juste présenter la correction à l'utilisateur, je pourrais utiliser un modèle XSLT comme ceci:
<xsl:template match="subst"><xsl:apply-templates select="./add"/></xsl:template>
<xsl:template match="subst/add"><xsl:apply-templates/></xsl:template>
Cependant, je pourrais aussi écrire:
<xsl:template match="subst"><xsl:apply-templates/></xsl:template>
<xsl:template match="subst/add"><xsl:apply-templates/></xsl:template>
<!-- del: ignore contents -->
<xsl:template match="subst/del"></xsl:template>
Dans le premier cas , Je explicitement seulement adresse add
à l'intérieur <subst>
, en ignorant <del>
.
Dans le second cas, j'ignore <del>
en fournissant un modèle qui ne fait rien avec l'élément, résultant dans le même effet. Si je ne me trompe pas, les deux façons sont équivalentes. Lequel est préférable?
Il n'y a pas de subst dans votre entrée, donc '' ne fera rien - et c'est là que j'ai arrêté de lire. –
Vous n'êtes pas "ignorer del" en n'ayant pas de modèle pour cela. Cela frapperait un template par défaut alors. –
Désolé, j'ai oublié d'ajouter l'élément subst. Thx, Stefan, votre commentaire était utile – user130685