2010-01-31 4 views
-1

Je suis une abeille fraîche en XSLT. J'ai une contrainte de temps où je dois livrer quelque chose de très urgent.Générique XSLT Transformation

Je colle les échantillons de xml ci-dessous. Voici une petite explication que j'ai input.xml et output.xml. ces deux fichiers doivent être fusionnés car ils ont des formats différents. les deux fichiers doivent être fusionnés en fonction de l'élément "ID". output.xml doit fusionner dans input.xml. Si l'ID d'un élément dans input.xml correspond à l'ID de l'élément output.xml, les éléments enfants de output.xml doivent être fusionnés avant la balise de fin de l'élément correspondant dans le fichier input.xml.

Si vous avez des questions s'il vous plaît renvoyez-les.

input.xml

<Result ID="A"> 
    <Comment>Blah blah blah.</Comment> 
    <aaa>111</aaa> 
    <a1>000</a1> 
    <a2 ID="B"> 
    <a2a>9iu</a2a> 
    <a23>kjf</a23> 
    <b ID="C"> 
    <b1>k</b1> 
    </b> 
    <c>jjj</c> 
    <d ID="E"> 
    <d12>ppp</d12> 
    <d23 ID="W" /> 
    </d> 
    <e ID="AA"> 
    <d ID="G"> 
     <d12>ppp</d12> 
     <d23 ID="O" /> 
    </d> 
    </e> 
</Result> 

output.xml

<Insert> 
    <mn ID="A"> 
    <mn1>345</mn1> 
    <mn2>123</mn2> 
    </mn> 
    <no ID="C"> 
    <op>09</op> 
    <io>89</io> 
    </no> 
    <ab ID="B"> 
    <ab>jik</ab> 
    <dc>hdg</dc> 
    </ab> 
</Insert> 

merged.xml (La sortie obligatoire):

<Result ID="A"> 
    <Comment>Blah blah blah.</Comment> 
    <aaa>111</aaa> 
    <a1>000</a1> 
    <a2 ID="B"> 
    <a2a>9iu</a2a> 
    <a23>kjf</a23> 
    <b ID="C"> 
     <b1>k</b1> 
     <op>09</op> 
     <io>89</io> 
    </b> 
    <c>jjj</c> 
    <d ID="E"> 
     <d12>ppp</d12> 
     <d23 ID="W" /> 
    </d> 
    <ab>jik</ab> 
    <dc>hdg</dc> 
    </a2> 
    <e ID="AA"> 
    <d ID="G"> 
     <d12>ppp</d12> 
     <d23 ID="O" /> 
    </d> 
    </e> 
    <mn1>345</mn1> 
    <mn2>123</mn2> 
</Result> 

Je besoin d'une solution générique qui XSLT fonctionnera sans noms de balises codés en dur.

+2

d'urgence ?? titre très abstrait .. LOL –

Répondre

Questions connexes