Bonjour,
Je dispose d'un fichier XML contenant beaucoup de balises, et je veux appliquer un fichier xsl pour en extraire une dizaines de balises.
J'ai trouvé pas mal de choses sur Internet, mais toutes nécessitent de citer les balises dont je ne veux pas.
Est-ce qu'il est possible de dire: je veux garder ces balises (que je cite dans le XSL) et éliminez toutes les autres (sans les citer) ?
la seule façons que j'aie trouvée est celle-ci (mais elle nécessite de citer toutes les balises à éliminer ce qui n'est pas pratique ni évolutif !)
Exemple réduite de fichier xml:
Fichier xsl:
Code :
résultat:
Merci de votre aide
Je dispose d'un fichier XML contenant beaucoup de balises, et je veux appliquer un fichier xsl pour en extraire une dizaines de balises.
J'ai trouvé pas mal de choses sur Internet, mais toutes nécessitent de citer les balises dont je ne veux pas.
Est-ce qu'il est possible de dire: je veux garder ces balises (que je cite dans le XSL) et éliminez toutes les autres (sans les citer) ?
la seule façons que j'aie trouvée est celle-ci (mais elle nécessite de citer toutes les balises à éliminer ce qui n'est pas pratique ni évolutif !)
Exemple réduite de fichier xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<toto>
<titi>
<a>aaa</a>
<b>bbb</b>
<c>ccc</c>
</titi>
<f>
<d>ddd</d>
</f>
<e>eee</e>
</toto>
Fichier xsl:
Code :
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output
encoding="ISO-8859-15"
method="xml"
indent="yes" />
<xsl:template match="node() | @*">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="a">
<a>
<xsl:apply-templates select="@* | node()"/>
</a>
</xsl:template>
<xsl:template match="b"/>
<xsl:template match="c"/>
<xsl:template match="d"/>
<xsl:template match="e"/>
<xsl:template match="f"/>
</xsl:stylesheet>
résultat:
<?xml version="1.0" encoding="ISO-8859-1"?>
<toto>
<titi>
<a>aaa</a>
</titi>
</toto>
Merci de votre aide