Bonjour,
C'est la première fois que j'essaye d'écrire un xsl donc je galère...
J'aimerai avoir un exemple pour mieux comprendre le xls :
Voici le genre de transformation que j'aimerai executer : xml --> xml.
Voici le xml d'origine :
Voici comment j'aimerai le formatter le xml après passage du xsl
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 <?xml version="1.0" encoding="ISO-8859-1"?> <row id="1"> <data id="1">John</data> <data id="2">Freeman</data> <data id="3">France</data> <data id="4">2</data> </row> <row id="2"> <data id="1">Marc</data> <data id="2">Kerry</data> <data id="3">USA</data> <data id="4">0</data> </row> ...
Vous remarquerez que le tag <enfant> n'est rempli que si la valeur <data id="4"> est + grand que 0
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <Personne id = "1"> <Nom>John Freeman</Nom> <Pays>France></Pays> </Personne> <Personne id = "2"> <Nom>Marc Kerry</Nom> <Pays>USA></Pays> <enfant>2</enfant> </Personne>
Voici un gabarit de mon xsl mais je n'arrive pas à aller plus loin :
Pouvez-vous m'aider ?
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
17
18
19
20
21 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" encoding="ISO-8859-1" indent="yes" /> <xsl:template match="row"> <xsl:apply-templates select="data" /> </xsl:template> <xsl:template match="data"> <xsl:if test="@id = 1"> <Nom> <xsl:value-of select="." /> </Nom> </xsl:if> </xsl:template> </xsl:stylesheet>
Merci d'avance
Partager