je xml qui contient quelques documents:groupement positionnel utilisant XSLT
<document>
<line id="0">
<field id="0"><![CDATA[H:doc1]]></field>
</line>
<line id="1">
<field id="0"><![CDATA[L:1]]></field>
</line>
<line id="2">
<field id="0"><![CDATA[L:2]]></field>
</line>
<line id="3">
<field id="0"><![CDATA[L:3]]></field>
</line>
<line id="4">
<field id="0"><![CDATA[H:doc2]]></field>
</line>
<line id="5">
<field id="0"><![CDATA[L:1]]></field>
</line>
</document>
H = en-tête du document et L = élément de ligne. dans cet exemple, nous avons deux H qui signifient deux documents qui sont doc1 et doc2. doc1 comporte trois éléments de ligne et doc2 un élément de ligne.
comment convertir les données en utilisant la version xslt 1 pour obtenir ce résultat:
<documents>
<document>
<header>
<number>doc1</number>
</header>
<line-item>
<line-number>1</line-number>
<line-number>2</line-number>
<line-number>3</line-number>
</line-item>
</document>
<document>
<header>
<number>doc2</number>
</header>
<line-item>
<line-number>1</line-number>
</line-item>
</document>
</documents>
Eh bien, qu'avez-vous essayé? Où avez-vous des problèmes? –
Bonne question, +1. Voir ma réponse pour une solution XSLT 1.0 complète, courte et facile à l'aide de clés. :) –
Également ajouté une solution XSLT 2.0 plus courte en utilisant '' –