Méga problème de la mort avec xsl/xml/dtd
Fermé
Isotrope
Messages postés
108
Date d'inscription
jeudi 15 janvier 2009
Statut
Membre
Dernière intervention
6 octobre 2012
-
4 avril 2010 à 03:53
rimousky - 13 avril 2010 à 19:20
rimousky - 13 avril 2010 à 19:20
A voir également:
- Méga problème de la mort avec xsl/xml/dtd
- Xml download - Télécharger - Édition & Programmation
- Office xml handler - Télécharger - Traitement de texte
- Lien mega - Forum Téléchargement
- L'espace de stockage consacré à mega de votre navigateur est saturé ✓ - Forum Téléchargement
- Code méga gratuit orange bf 2024 - Forum Opérateurs & Réseaux mobiles
1 réponse
salut isotrope
Que souhaites-tu ?
créer un fichier xml et en afficher le contenu avec XSL ?
Si c'est cela pourquoi t'embarasses-tu d'une DTD ? Pour le pb posé, c'est inutile.
Par ailleurs c'st normal qu'io n'y ait que la première valeur qui s'affiche, ta fonction Xpath ne s'affiche qu'au 1er élément.
Ensuite le contenu de ta recette contient des ingrédients farine, sucre etc qui sont la valeur des éléments <ingrédients>
alors pourquoi tager la valeur des ingrédients <farine/> <sucre/>
la dtd n'a de sens que si tu veux imposer un modèle.
L'affichage du contenu est reporté dans le dernier template (solution 1)
Tu pourrais aussi utiliser une boucle à la place de <xsl:apply-templates/> et supprimer tous les templates autre que le principal
<xsl:for each select="ingrédients">
<xsl:value-of select="ingrédient"/><br/>
</xsl:for-each>
voilà un système xml + xsl qui marche
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml-stylesheet type="text/xsl" href="testXSL.xsl" ?>
<test>
<ingrédients>
<ingrédient>
Farine
</ingrédient>
<ingrédient>
Sucre
</ingrédient>
</ingrédients>
</test>
====================================
solution 1
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<HTML>
<BODY> Ingrédient(s) :<xsl:apply-templates/>
</BODY>
</HTML>
</xsl:template>
<xsl:template match="ingrédients">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="ingrédient">
<xsl:value-of select="."/><br/>
</xsl:template>
</xsl:stylesheet>
============================
solution 2
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<HTML>
<BODY> Ingrédient(s) :
<xsl:for-each select="test/ingrédients/ingrédient">
<xsl:value-of select="."/><br/>
</xsl:for-each>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>
Est-ce quer cela répond à ton problème ?
Que souhaites-tu ?
créer un fichier xml et en afficher le contenu avec XSL ?
Si c'est cela pourquoi t'embarasses-tu d'une DTD ? Pour le pb posé, c'est inutile.
Par ailleurs c'st normal qu'io n'y ait que la première valeur qui s'affiche, ta fonction Xpath ne s'affiche qu'au 1er élément.
Ensuite le contenu de ta recette contient des ingrédients farine, sucre etc qui sont la valeur des éléments <ingrédients>
alors pourquoi tager la valeur des ingrédients <farine/> <sucre/>
la dtd n'a de sens que si tu veux imposer un modèle.
L'affichage du contenu est reporté dans le dernier template (solution 1)
Tu pourrais aussi utiliser une boucle à la place de <xsl:apply-templates/> et supprimer tous les templates autre que le principal
<xsl:for each select="ingrédients">
<xsl:value-of select="ingrédient"/><br/>
</xsl:for-each>
voilà un système xml + xsl qui marche
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml-stylesheet type="text/xsl" href="testXSL.xsl" ?>
<test>
<ingrédients>
<ingrédient>
Farine
</ingrédient>
<ingrédient>
Sucre
</ingrédient>
</ingrédients>
</test>
====================================
solution 1
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<HTML>
<BODY> Ingrédient(s) :<xsl:apply-templates/>
</BODY>
</HTML>
</xsl:template>
<xsl:template match="ingrédients">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="ingrédient">
<xsl:value-of select="."/><br/>
</xsl:template>
</xsl:stylesheet>
============================
solution 2
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<HTML>
<BODY> Ingrédient(s) :
<xsl:for-each select="test/ingrédients/ingrédient">
<xsl:value-of select="."/><br/>
</xsl:for-each>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>
Est-ce quer cela répond à ton problème ?