Demande simple exemple de XSL
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 :
Code:
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>
... |
Voici comment j'aimerai le formatter le xml après passage du xsl
Code:
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> |
Vous remarquerez que le tag <enfant> n'est rempli que si la valeur <data id="4"> est + grand que 0
Voici un gabarit de mon xsl mais je n'arrive pas à aller plus loin :
Code:
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> |
Pouvez-vous m'aider ?
Merci d'avance