J'ai élaboré un modèle XSL qui réécrit tous les hyperliens sur une page HTML, contenant une certaine sous-chaîne dans l'attribut href. Il ressemble à ceci:Réécriture d'hyperliens XSL sans recréer l'élément
<xsl:template match="A[contains(@href, 'asp')]">
<a>
<xsl:attribute name="href">
<xsl:value-of select="bridge:linkFrom($bridge, $base, @href, 'intranet')" />
</xsl:attribute>
<xsl:apply-templates select="node()" />
</a>
</xsl:template>
Je ne suis pas aimer le fait que je dois recréer l'un des éléments à partir de zéro. Je sais que vous pouvez faire quelque chose comme ceci:
<xsl:template match="A/@href">
<xsl:attribute name="href">
<xsl:value-of select="bridge:linkFrom($bridge, $base, ., 'intranet')" />
</xsl:attribute>
</xsl:template>
Mais comment est-ce que je devrais fusionner ces deux ensemble? J'ai essayé f.e. ceci et cela ne fonctionne pas (l'élément n'est pas sélectionné):
<xsl:template match="A[contains(@href, 'asp')]/@href">
<xsl:attribute name="href">
<xsl:value-of select="bridge:linkFrom($bridge, $base, ., 'intranet')" />
</xsl:attribute>
</xsl:template>
Toute aide est très appréciée!
+1 pour une bonne réponse. –
Merci, cela a fait l'affaire! –
@limburgie: Vous êtes bienvenu! –