Bonjour
Quelqu'un aurait-il déjà utilisé la méthode Xinclude pour fusionner plusieurs documents .xml ?
La méthode est une recommandation de la W3C. Je suis les exemples présents ici et là dans la littérature de la Toile, rien n'y fait quelque soit le navigateur, le résultat est muet.
Exemple. J'ai les 2 documents xml ci-dessous.
livre1.xml
livre2.xml
Pour les fusionner j'écris le fichier xml suivant
livres.xml
J'édite le résultat avec la feuille de style livre.xsl suivante :
Résultat, la fusion est ignorée. Tout se passe comme si le fichier résultat était vide.
Modifié par rimousky (20 Jul 2011 - 00:21)
Quelqu'un aurait-il déjà utilisé la méthode Xinclude pour fusionner plusieurs documents .xml ?
La méthode est une recommandation de la W3C. Je suis les exemples présents ici et là dans la littérature de la Toile, rien n'y fait quelque soit le navigateur, le résultat est muet.
Exemple. J'ai les 2 documents xml ci-dessous.
livre1.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<livre>
<titre>Les contes de Perrault</titre>
</livre>
livre2.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<livre>
<titre>Les contes de Grimm</titre>
</livre>
Pour les fusionner j'écris le fichier xml suivant
livres.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="livre.xsl"?>
<livres version="5.0" xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:include href="livre1.xml" parse="xml"/>
<xi:include href="livre2.xml" parse="xml"/>
</livres>
J'édite le résultat avec la feuille de style livre.xsl suivante :
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="1.0" encoding="iso-8859-1" indent="yes"/>
<xsl:template match="/">
<html>
<body>
<font color="red">Ma bibliothèque</font>
<xsl:for-each select="livres/livre">
<font color="green"><xsl:value-of select="titre"/></font>
</xsl:for-each>
</body>
</html>
</xsl:template>
<xsl:template match="titre">
<xsl:value-of select="."/><br />
</xsl:template>
</xsl:stylesheet>
Résultat, la fusion est ignorée. Tout se passe comme si le fichier résultat était vide.
Modifié par rimousky (20 Jul 2011 - 00:21)