Salut tout le monde, j'ai un code xslt (qui marche super bien) qui me repreduit un fichier xml (selection d'une pièce) à partir un fichier source xml (qui contient lui toutes les pièces), mais j'ai certaines pièces qui se compose de plusieurs parties, le but donc est de modifier mon xslt, pour que si la pièce que je veux selectionné est composé je selectionne aussi ses parties.
voici mon xsl:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
        <xsl:output method='xml' encoding='ISO-8859-1' indent='yes'/>

<xsl:template match="/">
<PLMXML>
<ProductDef id="id1">
<InstanceGraph id="id2" rootRefs="inst1798736">
<xsl:apply-templates/>
</InstanceGraph>
</ProductDef>
</PLMXML>
</xsl:template>

<xsl:param name="inst"/>
<xsl:param name="id"/>

<xsl:template match="//Instance[@id='inst1798736']">
<xsl:copy-of select="."/>
</xsl:template>

<xsl:template match="//Instance[@id=$inst]">
<xsl:copy-of select="."/>
</xsl:template>

<xsl:template match="//Part[@id='id14']">
<Part id="id14" name="2_Cylinder_Engine" type="assembly">
<xsl:attribute name="instanceRefs">
<xsl:value-of select="$inst"/>
</xsl:attribute>
</Part>
</xsl:template>

<xsl:template match="//Part[@id=$id]">
<xsl:copy-of select="."/>
</xsl:template>

<xsl:template match="text()"></xsl:template>
</xsl:stylesheet>


si c'est possible je cherche a trouvé une solution en récursif. Merci.
Modifié par aadari (15 Oct 2007 - 09:49)
Salut Smiley cligne
Peut être que j'ai mal expliquer le sujet Smiley confus
En fait le but est de faire exactement la même chose avec mon programme actuel, mais avec un petit plus, si l'id que je donne en paramètre est une pièce assemblé, recopié la partie suivante du code, autant de fois que de parties composant la pièce que je souhaite affiché:


...
<xsl:template match="//Instance[@id=$inst]">
     <xsl:copy-of select="."/>
</xsl:template>
...
<xsl:template match="//Instance[@id=$inst]">
     <xsl:copy-of select="."/>
</xsl:template>
...


J'ai pensé a faire des boucles pour chaque pièce assemblée, mais mon fichier source est très très riche en pièces assemblées, ça sera plus une usine à gaz qu'autre chose Smiley sweatdrop
Voila si vous avez des idées, je vous attend Smiley lol
Merci
Modifié par aadari (15 Oct 2007 - 11:07)