Bonjour à tous,

Je suis débutant en XSLT et je n'arrive pas à faire ce que je veux avec un xslt.

Mon fichier XML :
<Document>
<DOC.MAIN NO="0001" >
<PAGE.FIRST>12</PAGE.FIRST>
<PAGE.LAST>12</PAGE.LAST>
<PAGE.TOTAL>1</PAGE.TOTAL>
<PAGE.SEQ>1</PAGE.SEQ>
</DOC.MAIN>

<DOC.SUB NO="0001.0001" >
<PAGE.FIRST>13</PAGE.FIRST>
<PAGE.LAST>14</PAGE.LAST>
<PAGE.TOTAL>2</PAGE.TOTAL>
</DOC.SUB>

<DOC.SUB NO="0001.0001.0001" >
<PAGE.FIRST>13</PAGE.FIRST>
<PAGE.LAST>14</PAGE.LAST>
<PAGE.TOTAL>2</PAGE.TOTAL>
</DOC.SUB>

<DOC.SUB NO="0001.0001.0001.0001" >
<PAGE.FIRST>13</PAGE.FIRST>
<PAGE.LAST>14</PAGE.LAST>
<PAGE.TOTAL>2</PAGE.TOTAL>
</DOC.SUB>

</Document>
Je veux un xslt pour avoir cet imbrication selon la hierarchy du NO pour avoir ce résultat:

<Document>
<DOC.MAIN NO="0001" >
<PAGE.FIRST>12</PAGE.FIRST>
<PAGE.LAST>12</PAGE.LAST>
<PAGE.TOTAL>1</PAGE.TOTAL>
<PAGE.SEQ>1</PAGE.SEQ>
</DOC.MAIN>

<DOC.SUB NO="0001.0001" >
<PAGE.FIRST>13</PAGE.FIRST>
<PAGE.LAST>14</PAGE.LAST>
<PAGE.TOTAL>2</PAGE.TOTAL>
<DOC.SUB NO="0001.0001.0001" >
<PAGE.FIRST>13</PAGE.FIRST>
<PAGE.LAST>14</PAGE.LAST>
<PAGE.TOTAL>2</PAGE.TOTAL>
<DOC.SUB NO="0001.0001.0001.0001" >
<PAGE.FIRST>13</PAGE.FIRST>
<PAGE.LAST>14</PAGE.LAST>
<PAGE.TOTAL>2</PAGE.TOTAL>
</DOC.SUB>
</DOC.SUB>
</DOC.SUB>
</Document>


J'ai essayé avec un for-each select, mais ça ne marche pas

<xsl:template match="/">
<DOCUMENT>

<xsl:for-each select="//Document">
<xsl:element name="DOC.PRIM">
<xsl:variable name="NO">
<xsl:value-of select="@NO"/>
</xsl:variable>
<xsl:variable name="x" select="//Document[@NO=$NO]"/>
<xsl:element name="NO">
<xsl:value-of select="$NO"/>
</xsl:element>
<xsl:element name="DOC.SUB">
<xsl:value-of select="."/>
</xsl:element>
</xsl:for-each>


</DOCUMENT>
</xsl:template>


JE VOUS REMERCIE D AVANCE POUR VOTRE AIDE