Bonjour, je suis présentement un cours en XML/XSL et je n'arrive pas à régler un problème avec un de mes travaux. Je dois filtrer un document XML et vérifier si le nom d'un élément contient le caractère "a", si oui je dois le reproduire dans un nouveau XML (l'élément et ses attributs). Voici le XML et le résultat attendu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?xml version="1.0" ?> <?xml-stylesheet href="exemple.xsl" type="text/xsl" ?> <agenda> <ami ref="Joe"><tel>555-2121</tel><adr>12 avenue</adr></ami> <client no="123"><adr>456 Lafleur</adr></client> </agenda>J'arrive à éliminer l'élément "client" mais l'élément "tel", je n'arrive pas à le filtrer. Voici le XSL que j'utilise :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?xml version="1.0" encoding="ISO-8859-1"?> <agenda> <ami ref="Joe"><adr>12 avenue</adr></ami> </agenda>
-------------------------------------------
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlnssl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="ISO-8859-1" indent="yes"/> <xsl:template match="node()"> <xsl:copy> <xsl:apply-templates select="node()|@*"/> </xsl:copy> </xsl:template> <xsl:template match="text()"> <xsl:value-of select="."/> </xsl:template> <xsl:template match="@*"> <xsl:attribute name="{name()}"><xsl:value-of select="."/></xsl:attribute> </xsl:template> <xsl:template match="client"></xsl:template> </xsl:stylesheet>
Un coup de main serait bien apprécié.
Merci
Partager