Problème triage XML/XSL
Résolu/Fermé
onlyge
Messages postés
22
Date d'inscription
mardi 26 septembre 2006
Statut
Membre
Dernière intervention
7 avril 2010
-
2 févr. 2009 à 17:55
onlyge Messages postés 22 Date d'inscription mardi 26 septembre 2006 Statut Membre Dernière intervention 7 avril 2010 - 6 févr. 2009 à 21:55
onlyge Messages postés 22 Date d'inscription mardi 26 septembre 2006 Statut Membre Dernière intervention 7 avril 2010 - 6 févr. 2009 à 21:55
A voir également:
- Problème triage XML/XSL
- Xml viewer - Télécharger - Édition & Programmation
- Office xml handler - Télécharger - Traitement de texte
- Oxygen xml - Télécharger - Divers Web & Internet
- Driveimage xml - Télécharger - Sauvegarde
- Logiciel triage photo - Guide
6 réponses
Essaye avec cela.
<?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" encoding="iso-8859-1"/>
<xsl:template match="/">
<xsl:for-each select="videos/video" order-by="+titre">
<xsl:value-of select="titre"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
En fait ton code faisait bien le tri avec le for-each mais il te manuait le value-of pour obtnir l'affichage
Bonne chance
<?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" encoding="iso-8859-1"/>
<xsl:template match="/">
<xsl:for-each select="videos/video" order-by="+titre">
<xsl:value-of select="titre"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
En fait ton code faisait bien le tri avec le for-each mais il te manuait le value-of pour obtnir l'affichage
Bonne chance
Bonjour. En fait je pense que ton probl`me viens du fait que le XSL fait seulement une trnaformation du code en HTML. Ici il te manque donc tes balise html. Essaye sa :
Entete XML :
<?xml version='1.0' encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="triage.xsl"?>
triage.xsl :
<?xml version='1.0' encoding="iso-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<body>
<xsl:for-each select="videos/video" order-by="+titre">
<xsl:value-of select="titre"/>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Entete XML :
<?xml version='1.0' encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="triage.xsl"?>
triage.xsl :
<?xml version='1.0' encoding="iso-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<body>
<xsl:for-each select="videos/video" order-by="+titre">
<xsl:value-of select="titre"/>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
onlyge
Messages postés
22
Date d'inscription
mardi 26 septembre 2006
Statut
Membre
Dernière intervention
7 avril 2010
3 févr. 2009 à 15:43
3 févr. 2009 à 15:43
rebonjour, merci de ton aide.
Ça ne fonctionne toujours pas par contre... coté asp, voici comme j'écris mes données tirées du XML, peut-être ça pourras t'aider à trouver le problème :
Response.Write("<div>")&VbCrLf
Response.Write("<h3>" & titre &"</h3>")&VbCrLf
Response.Write("<a href=""video.asp?idCat=metiers""><img src=""images/" & nomvignette & ".jpg"" alt=" & txtalternatif & " /></a>")&VbCrLf
Response.Write("<p>Durée : " & temps &"</p>")&VbCrLf
Response.Write("<p>Poids : " & poids &"</p>")&VbCrLf
Response.Write("</div>")&VbCrLf
C'est la première fois que j'utilise le XSL alors je tourne en rond sans trop savoir ce que je ne fais pas de correct héhé ;)!!!
Ça ne fonctionne toujours pas par contre... coté asp, voici comme j'écris mes données tirées du XML, peut-être ça pourras t'aider à trouver le problème :
Response.Write("<div>")&VbCrLf
Response.Write("<h3>" & titre &"</h3>")&VbCrLf
Response.Write("<a href=""video.asp?idCat=metiers""><img src=""images/" & nomvignette & ".jpg"" alt=" & txtalternatif & " /></a>")&VbCrLf
Response.Write("<p>Durée : " & temps &"</p>")&VbCrLf
Response.Write("<p>Poids : " & poids &"</p>")&VbCrLf
Response.Write("</div>")&VbCrLf
C'est la première fois que j'utilise le XSL alors je tourne en rond sans trop savoir ce que je ne fais pas de correct héhé ;)!!!
Salut, Je ne m'y connais pas en ASP
Mais avec un xsl:sort au lieur du order by, j'obtiens un affichage.
Voici les fichiers que j'ai tester
Le XML :
<?xml version='1.0' encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="triage.xsl"?>
<videos>
<video>
<titre>Test pour vidéo</titre>
<desc>desc de la vidéo</desc>
<poids>12 mo</poids>
<temps>12 minutes</temps>
<nomvignette>vignette_0101</nomvignette>
<txtalternatifvignette>texte alternatif de la vignette</txtalternatifvignette>
<nomvideo>01x01</nomvideo>
</video>
<video>
<titre>Affichage d'un titre bidon</titre>
<desc>desc de la vidéo</desc>
<poids>12 mo</poids>
<temps>12 minutes</temps>
<nomvignette>vignette_0102</nomvignette>
<txtalternatifvignette>texte alternatif de la vignette</txtalternatifvignette>
<nomvideo>01x02</nomvideo>
</video>
</videos>
triage.xsl
<?xml version='1.0' encoding="iso-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<body>
<table border="1">
<xsl:for-each select="videos/video">
<xsl:sort select="titre"/>
<tr>
<td>
<xsl:value-of select="titre"/>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Mais avec un xsl:sort au lieur du order by, j'obtiens un affichage.
Voici les fichiers que j'ai tester
Le XML :
<?xml version='1.0' encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="triage.xsl"?>
<videos>
<video>
<titre>Test pour vidéo</titre>
<desc>desc de la vidéo</desc>
<poids>12 mo</poids>
<temps>12 minutes</temps>
<nomvignette>vignette_0101</nomvignette>
<txtalternatifvignette>texte alternatif de la vignette</txtalternatifvignette>
<nomvideo>01x01</nomvideo>
</video>
<video>
<titre>Affichage d'un titre bidon</titre>
<desc>desc de la vidéo</desc>
<poids>12 mo</poids>
<temps>12 minutes</temps>
<nomvignette>vignette_0102</nomvignette>
<txtalternatifvignette>texte alternatif de la vignette</txtalternatifvignette>
<nomvideo>01x02</nomvideo>
</video>
</videos>
triage.xsl
<?xml version='1.0' encoding="iso-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<body>
<table border="1">
<xsl:for-each select="videos/video">
<xsl:sort select="titre"/>
<tr>
<td>
<xsl:value-of select="titre"/>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
onlyge
Messages postés
22
Date d'inscription
mardi 26 septembre 2006
Statut
Membre
Dernière intervention
7 avril 2010
3 févr. 2009 à 17:38
3 févr. 2009 à 17:38
je vois le triage quand je regarde le xml directement. Celui-ci n'est pas fait par contre quand les données sont affichées par ma page asp. Comment font les personnes qui utilisent un XML et un XSL pour afficher le tout dans une page html normal (asp dans mon cas)?
merci de ton aide Jeremy, on voit que ça fonctionne avec le xml direct. Il me reste à trouver la solution pour l'appliquer avec la programmation asp.
J'ai bien essayé de mettre les <xsl:for-each select="videos/video"> dans des response.write de ma page asp mais ça me fonctionne pas. J'imagine ce n'est pas la solution ou je l'applique mal?
merci de ton aide Jeremy, on voit que ça fonctionne avec le xml direct. Il me reste à trouver la solution pour l'appliquer avec la programmation asp.
J'ai bien essayé de mettre les <xsl:for-each select="videos/video"> dans des response.write de ma page asp mais ça me fonctionne pas. J'imagine ce n'est pas la solution ou je l'applique mal?
onlyge
Messages postés
22
Date d'inscription
mardi 26 septembre 2006
Statut
Membre
Dernière intervention
7 avril 2010
6 févr. 2009 à 21:55
6 févr. 2009 à 21:55
j'ai trouvé la soluce. Pour votre info si d'autres bloquent à cette étape, il faut afficher via sa page asp les données xsl tiré du xml avec la ligne : Response.Write(objXML.transformNode(objXSL)).
Ne pas oublier de se créer son obj XSL (comme pour le XML):
Set objXSL = Server.CreateObject("Microsoft.XMLDOM")
Merci pour vos réponses et au plaisir!
Ne pas oublier de se créer son obj XSL (comme pour le XML):
Set objXSL = Server.CreateObject("Microsoft.XMLDOM")
Merci pour vos réponses et au plaisir!
3 févr. 2009 à 14:42
<videos>
<video>
<titre>Test pour vidéo</titre>
<desc>desc de la vidéo</desc>
<poids>12 mo</poids>
<temps>12 minutes</temps>
<nomvignette>vignette_0101</nomvignette>
<txtalternatifvignette>texte alternatif de la vignette</txtalternatifvignette>
<nomvideo>01x01</nomvideo>
</video>
<video>
<titre>Affichage d'un titre bidon</titre>
<desc>desc de la vidéo</desc>
<poids>12 mo</poids>
<temps>12 minutes</temps>
<nomvignette>vignette_0102</nomvignette>
<txtalternatifvignette>texte alternatif de la vignette</txtalternatifvignette>
<nomvideo>01x02</nomvideo>
</video>
</videos>
On dirait bien que la feuille XSL n'est pas "vu". Pourtant, elle est bien ajouté dans mon fichier xml avec :
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet href="triage.xsl" type="text/xsl"?>
<videos>
...
Avez-vous une idée du problème...?