Bernard
2006-10-31 09:58:56 UTC
Bonjour
J'ai ce fichier xml valide avec un namespace:
<?xml version="1.0" encoding="UTF-8"?>
<gpx creator="toto" version="1.1" xmlns="http://www.topografix.com/GPX/1/1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1
http://www.topografix.com/GPX/1/1/gpx.xsd">
<trk>
<name>toto</name>
<trkseg>
<trkpt lon="1" lat="1"/>
</trkseg>
</trk>
</gpx>
J'essaye de le transformer avec ce XSLT:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns="http://www.topografix.com/GPX/1/1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<html>
<body>
<p>Liste</p>
<ul>
<xsl:apply-templates select="//trkpt"/>
</ul>
</body>
</html>
</xsl:template>
<xsl:template match="//trkpt">
<li>
<xsl:text>lon: </xsl:text>
<xsl:value-of select="@lon"/>
</li>
</xsl:template>
</xsl:stylesheet>
Et ca ne fonctionne pas. Si j'enlève l'attibut XMLNS de mon fichier XML, la transformation est ok, mais le fichier n'est
plus valide.
En essayant de debugger avec ALTOVA , le traitement de transformation ne détecte pas le *<xsl:apply-templates
select="//trkpt"/>*
J'ai essayé différents trucs, mais comme je suis quasi-débutant en xml, j'ai fait ces tests sans conviction
Si quelqu'un a une explication, je suis preneur.
D'avance merci
Bernard
J'ai ce fichier xml valide avec un namespace:
<?xml version="1.0" encoding="UTF-8"?>
<gpx creator="toto" version="1.1" xmlns="http://www.topografix.com/GPX/1/1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1
http://www.topografix.com/GPX/1/1/gpx.xsd">
<trk>
<name>toto</name>
<trkseg>
<trkpt lon="1" lat="1"/>
</trkseg>
</trk>
</gpx>
J'essaye de le transformer avec ce XSLT:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns="http://www.topografix.com/GPX/1/1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<html>
<body>
<p>Liste</p>
<ul>
<xsl:apply-templates select="//trkpt"/>
</ul>
</body>
</html>
</xsl:template>
<xsl:template match="//trkpt">
<li>
<xsl:text>lon: </xsl:text>
<xsl:value-of select="@lon"/>
</li>
</xsl:template>
</xsl:stylesheet>
Et ca ne fonctionne pas. Si j'enlève l'attibut XMLNS de mon fichier XML, la transformation est ok, mais le fichier n'est
plus valide.
En essayant de debugger avec ALTOVA , le traitement de transformation ne détecte pas le *<xsl:apply-templates
select="//trkpt"/>*
J'ai essayé différents trucs, mais comme je suis quasi-débutant en xml, j'ai fait ces tests sans conviction
Si quelqu'un a une explication, je suis preneur.
D'avance merci
Bernard