[XSLT] Méthode de traitement XSL (Regroupement d'informations)
Bonjour,
Je dois transformer via XSL un document XML vers un autre document XML.
Le doucment XML d'origine contient dans un tag une liste d'infos "PKT" et dans un autre tag des détails sur ces PKT, "PKTDetails" :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
<?xml version="1.0"?>
<SO version="" id="">
<ListOfPKT>
<PKT>
<TableIndicator>1</TableIndicator>
<LSP>FDL</LSP>
<OrderNumber>00000000200601177046</OrderNumber>
</PKT>
<PKT>
<TableIndicator>1</TableIndicator>
<LSP>FDL</LSP>
<OrderNumber>00000000200601177060</OrderNumber>
</PKT>
<PKT>
<TableIndicator>1</TableIndicator>
<LSP>FDL</LSP>
<OrderNumber>00000000200603184070</OrderNumber>
</PKT>
<PKTDetails>
<TableIndicator>2</TableIndicator>
<LSP>FDL</LSP>
<OrderNumber>00000000200601177046</OrderNumber>
<ArticleNumber>0000002912</ArticleNumber>
</PKTDetails>
<PKTDetails>
<TableIndicator>2</TableIndicator>
<LSP>FDL</LSP>
<OrderNumber>00000000200601177060</OrderNumber>
<ArticleNumber>0000002913</ArticleNumber>
</PKTDetails>
<PKTDetails>
<TableIndicator>2</TableIndicator>
<LSP>FDL</LSP>
<OrderNumber>00000000200603184070</OrderNumber>
<ArticleNumber>0000048430</ArticleNumber>
</PKTDetails>
<PKTDetails>
<TableIndicator>2</TableIndicator>
<LSP>FDL</LSP>
<OrderNumber>00000000200603184070</OrderNumber>
<ArticleNumber>0000048430</ArticleNumber>
</PKTDetails>
<PKTDetails>
<TableIndicator>2</TableIndicator>
<LSP>FDL</LSP>
<OrderNumber>00000000200603184070</OrderNumber>
<ArticleNumber>0000048430</ArticleNumber>
</PKTDetails>
<PKTDetails>
<TableIndicator>2</TableIndicator>
<LSP>FDL</LSP>
<OrderNumber>00000000200603184070</OrderNumber>
<ArticleNumber>0000048430</ArticleNumber>
</PKTDetails>
<PKTDetails>
<TableIndicator>2</TableIndicator>
<LSP>FDL</LSP>
<OrderNumber>00000000200603184070</OrderNumber>
<ArticleNumber>0000264393</ArticleNumber>
</PKTDetails>
<PKTDetails>
<TableIndicator>2</TableIndicator>
<LSP>FDL</LSP>
<OrderNumber>00000000200603184070</OrderNumber>
<ArticleNumber>0000264393</ArticleNumber>
</PKTDetails>
<PKTDetails>
<TableIndicator>2</TableIndicator>
<LSP>FDL</LSP>
<OrderNumber>00000000200603184070</OrderNumber>
<ArticleNumber>0000264393</ArticleNumber>
</PKTDetails>
<PKTDetails>
<TableIndicator>2</TableIndicator>
<LSP>FDL</LSP>
<OrderNumber>00000000200603184070</OrderNumber>
<ArticleNumber>0000264393</ArticleNumber>
</PKTDetails>
</ListOfPKT>
</SO> |
Mon problème est de regrouper dans mon nouveau document XML les PKT avec dans un tag enfant tous les PKTDetails lui correspondant. Le lien entre les deux se faisant sur le tag enfant commun aux deux : OrderNumber.
Voici ce que je voudrais obtenir :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
<?xml version="1.0"?>
<SO version="" id="">
<ListOfPKT>
<PKT>
<TableIndicator>1</TableIndicator>
<LSP>FDL</LSP>
<OrderNumber>00000000200601177046</OrderNumber>
<PKTDetails>
<TableIndicator>2</TableIndicator>
<LSP>FDL</LSP>
<OrderNumber>00000000200601177046</OrderNumber>
<ArticleNumber>0000002912</ArticleNumber>
</PKTDetails>
</PKT>
<PKT>
<TableIndicator>1</TableIndicator>
<LSP>FDL</LSP>
<OrderNumber>00000000200601177060</OrderNumber>
<PKTDetails>
<TableIndicator>2</TableIndicator>
<LSP>FDL</LSP>
<OrderNumber>00000000200601177060</OrderNumber>
<ArticleNumber>0000002913</ArticleNumber>
</PKTDetails>
</PKT>
<PKT>
<TableIndicator>1</TableIndicator>
<LSP>FDL</LSP>
<OrderNumber>00000000200603184070</OrderNumber>
<PKTDetails>
<TableIndicator>2</TableIndicator>
<LSP>FDL</LSP>
<OrderNumber>00000000200603184070</OrderNumber>
<ArticleNumber>0000048430</ArticleNumber>
</PKTDetails>
<PKTDetails>
<TableIndicator>2</TableIndicator>
<LSP>FDL</LSP>
<OrderNumber>00000000200603184070</OrderNumber>
<ArticleNumber>0000048430</ArticleNumber>
</PKTDetails>
<PKTDetails>
<TableIndicator>2</TableIndicator>
<LSP>FDL</LSP>
<OrderNumber>00000000200603184070</OrderNumber>
<ArticleNumber>0000048430</ArticleNumber>
</PKTDetails>
<PKTDetails>
<TableIndicator>2</TableIndicator>
<LSP>FDL</LSP>
<OrderNumber>00000000200603184070</OrderNumber>
<ArticleNumber>0000048430</ArticleNumber>
</PKTDetails>
<PKTDetails>
<TableIndicator>2</TableIndicator>
<LSP>FDL</LSP>
<OrderNumber>00000000200603184070</OrderNumber>
<ArticleNumber>0000264393</ArticleNumber>
</PKTDetails>
<PKTDetails>
<TableIndicator>2</TableIndicator>
<LSP>FDL</LSP>
<OrderNumber>00000000200603184070</OrderNumber>
<ArticleNumber>0000264393</ArticleNumber>
</PKTDetails>
<PKTDetails>
<TableIndicator>2</TableIndicator>
<LSP>FDL</LSP>
<OrderNumber>00000000200603184070</OrderNumber>
<ArticleNumber>0000264393</ArticleNumber>
</PKTDetails>
<PKTDetails>
<TableIndicator>2</TableIndicator>
<LSP>FDL</LSP>
<OrderNumber>00000000200603184070</OrderNumber>
<ArticleNumber>0000264393</ArticleNumber>
</PKTDetails>
</PKT>
</ListOfPKT>
</SO> |
Je ne vois pas du tout comment faire.
Merci de m'aiguiller vers la bonne méthode.