je débute en xslt et j'aurais une question.
si j'ai le code XML :
<Data>
<Value>
<Val>1</Val>
</Value>
<type>
<Val>int</Val>
</type>
</data>
je voudrais que les tag <type><Val>int</Val></type> passent avant <Value>, est ce possible avec xslt?
merci
Version imprimable
je débute en xslt et j'aurais une question.
si j'ai le code XML :
<Data>
<Value>
<Val>1</Val>
</Value>
<type>
<Val>int</Val>
</type>
</data>
je voudrais que les tag <type><Val>int</Val></type> passent avant <Value>, est ce possible avec xslt?
merci
c'est à dire ? où veux tu qu'il passe avant ? lors de l'affichage sur une page web ? ou autre ?
je voudrais toujours le meme fichier XML mais dans l'ordre :
<Data>
<type>
<Val>int</Val>
</type>
<Value>
<Val>1</Val>
</Value>
</Data>
je pourrai faire coper coller dans un éditeur mais le pb c'est que j'ai eu moins 15 fichiers avec au moins 50 fois cette même manip à faire.
Salut,
Oui c'est otut a fait réalisable mais:
Explique mieux met le xml que tu as maintenant avec de vrais valeur et après mets un autre avec les même données et comment tu le voudrais car la c'est pas clair du tout!
Merci
++
Thierry
P.S. Perceval: Y a pas que les arbres qui sont en voie d'extinction les castor aussi alors je sais pas si c'est la bonne solution! :wink:
Moi je mettrai plutot même que ca doit être extrémement dégeulasse:
Sauvez le monde...Ne mangez pas des bush mais Bush!
:wink:Citation:
Envoyé par virgul
Sauvez le monde... Mangez un buisson.... :wink:
donc au début j'ai :
<Data>
<DefaultValue>
<Val>1</Val>
</DefaultValue>
<MinVal>
<Val>0</Val>
</MaxVal>
<Type>
<Val>int</Val>
</Type>
</Data>
Chaque champ est optionnel cad que des fois j'aurais un DefaultValue des fois non, des fois j'aurais un MinVal des fois non.
Ce que je voudrais c'est que lorque je rencontre le tag "DefaultValue", son ensemble (<DefaultValue><Val></Val></DefaultValue>) soit déplacé juste avant le tag </Data> donc en toute fin de ma description de Data.
J'ai réussi à le faire grâce à un programme perl puisque je ne m'en sortais pas du tout avec XSLT mais je serai quand même intéressée par une solution en XSLT.
J'espère que mes explications sont plus claires, pas simple en quelques lignes :-)
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="Data">
<xsl:copy>
<xsl:for-each select="@*">
<xsl:copy/>
</xsl:for-each>
<xsl:copy-of select="MinVal"/>
<xsl:copy-of select="MaxVal"/>
<xsl:copy-of select="Type"/>
<xsl:copy-of select="DefaultValue"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
je dis merci à mon supérieur pour m'avoir fourni ce petit bout de code m'a donné pas mal de montées de tension... Pas douée en xsl la majanissa...
Si des amateurs veulent s'amuser à réduire ce code, n'hésitez pas. Les améliorations seront les bienvenus.
Majanissa qui ne demande qu'à apprendre
Bonjour,
une amélioration, pas vraiment, tout au plus un petit amaigrissement :
Code:
1
2
3
4
5
6
7
8
9
10
11
12 <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="Data"> <xsl:copy> <xsl:copy-of select="@*"/> <xsl:copy-of select="MinVal"/> <xsl:copy-of select="MaxVal"/> <xsl:copy-of select="Type"/> <xsl:copy-of select="DefaultValue"/> </xsl:copy> </xsl:template> </xsl:stylesheet>
merci
majanissa