Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
« Escape XML en XSLT » : différence entre les versions
Aller à la navigation
Aller à la recherche
Aucun résumé des modifications |
mAucun résumé des modifications |
||
| (Une version intermédiaire par un autre utilisateur non affichée) | |||
| Ligne 1 : | Ligne 1 : | ||
Ci-dessous un template XSLT pour encoder des arbres XML en HTML (grâce au entités). Cela permet de voir les nœuds, les attributs et le textes de l'arbre XML. | |||
=== Template === | |||
<syntaxhighlight lang="xml"> <xsl:template match="*" mode="escape"> | <syntaxhighlight lang="xml"> | ||
<xsl:template match="*" mode="escape"> | |||
<xsl:value-of select="concat('<', name())" /> | <xsl:value-of select="concat('<', name())" /> | ||
<xsl:for-each select="@*"> | <xsl:for-each select="@*"> | ||
| Ligne 7 : | Ligne 8 : | ||
</xsl:for-each> | </xsl:for-each> | ||
<xsl:value-of select="'>'" /> | <xsl:value-of select="'>'" /> | ||
<xsl:apply-templates select=" | <xsl:apply-templates select="node()" mode="escape" /> | ||
<xsl:value-of select="concat('</', name(), '>')" /> | <xsl:value-of select="concat('</', name(), '>')" /> | ||
</xsl:template> | </xsl:template> | ||
<xsl:template match="text()" mode="escape"> | |||
<xsl:value-of select="."/> | |||
</xsl:template> | |||
</syntaxhighlight> | |||
=== Invocation === | |||
<syntaxhighlight lang="xml"> | |||
<xsl:apply-templates select="current()" mode="escape" /> | |||
</syntaxhighlight> | |||
[[category:XSLT]] | |||
Dernière version du 23 novembre 2012 à 10:52
Ci-dessous un template XSLT pour encoder des arbres XML en HTML (grâce au entités). Cela permet de voir les nœuds, les attributs et le textes de l'arbre XML.
Template
[modifier | modifier le wikicode] <xsl:template match="*" mode="escape">
<xsl:value-of select="concat('<', name())" />
<xsl:for-each select="@*">
<xsl:value-of select="concat(' ', name(), '="', ., '"')" />
</xsl:for-each>
<xsl:value-of select="'>'" />
<xsl:apply-templates select="node()" mode="escape" />
<xsl:value-of select="concat('</', name(), '>')" />
</xsl:template>
<xsl:template match="text()" mode="escape">
<xsl:value-of select="."/>
</xsl:template>
Invocation
[modifier | modifier le wikicode] <xsl:apply-templates select="current()" mode="escape" />