salut à tous, j'ai un fichier source en XML, et je veut selectioné des partie de ce fichier pour avoir en sortie un autre fichier XML (croyez moi ça sert Smiley cligne ) EX:


<?xml version="1.0" ?>
<PLMXML>
<ProductDef id="id1">
<InstanceGraph id="id2" rootRefs="inst17">
<Instance id="inst1798736" name="Cylinder" partRef="#id14">
</Instance>
<Instance id="inst19" name="rod" partRef="#id58">
<ApplicationRef application="TC" label="rod"></ApplicationRef>
<Transform id="id507"> 1 0 0 1 1</Transform></Instance>
</InstanceGraph></ProductDef></PLMXML>


je veux donc selectionné la balise Instance tel qu'elle est avec son contenu si son ID=inst19.
Smiley sweatdrop
Merci
Modifié par aadari (25 Sep 2007 - 11:55)
Modérateur
Bonjour aadari et bienvenue parmi nous Smiley smile

En tant que modérateur, je me dois de te faire remarquer que tu n'as malheureusement pas respecté l'une des Règles de base du forum qui est d'afficher les codes et exemples proprement à l'aide des boutons [ code]... ici ton code XML[ /code] (sans espace).

Je te remercie par avance de bien vouloir éditer ton message afin de le rendre conforme à cette règle. Smiley cligne

D'ailleurs, je rappelle que le lien qui apparaît en bandeau tout en haut du forum ("Nouveau sur le forum ?...") est important. Il contient des pistes de recherche, des indications sur les règles de vie de la communauté, etc.
Si ce n'est déjà fait, il serait courtois de ta part de bien vouloir en prendre connaissance.

Bonne continuation Smiley smile

upload/1-code.gif
Modérateur
Merci Smiley cligne

Bon, je le fais de tête ; ça fait un moment que je ne me suis pas replongé dans xslt donc il peut y avoir des erreurs... Smiley murf

Il me semble qu'il faut passer par copy-of... Quelquechose du genre :
<xsl:copy-of select="//Instance[@id='inst19']" />

Modifié par koala64 (25 Sep 2007 - 09:58)
Smiley langue déjà essayé ça ne marche. je crois que c'est bien un copy-of, mais vu qu'on veut faire la selestion d'une balise fille, il faut un <apply-templates> quelque part!!!! Smiley rolleyes

j'ai essayé ce code mais il ne marche pas n'en plus Smiley bawling

<xsl:template match="//InstanceGraph">
<xsl:apply-templates select"Instance[@id='inst19']"
<xsl:copy/>
</xsl:template>


Mais le problème, je crois, c'est de lui faire comprendre que <InstanceGraph> et fille de <ProductDef> Smiley eek
Modérateur
Essaie ça :
<xsl:template match="//Instance[@id='inst19']">
     <xsl:copy-of select="." />
</xsl:template>

Modifié par koala64 (25 Sep 2007 - 10:29)
nada, rien... résultat fichier vide!!!!
ah oui je précise que je travail sous Linux, mais je ne pense pas que ça change quelque chose??? Smiley confus
J'ai tout essayé, rien Smiley fache

quand je selectione un noeud du premier ou deuxieme niveau ça marche, donc le problème est donc mon expresion Xpath, ou bien mon SSH ne les connai pas??? Smiley decu
Modérateur
Ton SSH ?! Ah... Smiley sweatdrop

Bon ben si c'est résolu, merci de l'indiquer dans le titre de ton sujet. Smiley cligne