[XSLT] : insertion balise et tri
Bonsoir,
Voici un problème que je n'arrive pas à résoudre.
Je fais donc appel aux compétences avérées de ce site.
J'ai un fichier XML de ce type :
Code:
1 2 3 4 5 6
|
<PV2>
<PV2.8.1>ME</PV2.8.1>
<PV2.23.1>N</PV2.23.1>
<PV2.39.1>5</PV2.39.1>
</PV2> |
Fichier généré par un EAI qui ne sort les balises que lorsqu'elles sont remplies.
Je n'ai donc pas structure fixe.
Je voudrais dans mon exemple, ajouter la balise PV2.9.1 dans l'ordre c'est à dire derrière PV2.8.1.
Jusque là ça va, sauf que la balise PV2.8.1 n'est pas forcément présente.
J'avais donc pensé ajouté la balise systématiquement à la fin et ensuite trié les balises.
Code:
1 2 3 4 5 6 7
| <xsl:template match="*">
<xsl:copy>
<xsl:apply-templates select="@*|*|text()">
<xsl:sort select="name(current())" data-type="number"/>
</xsl:apply-templates>
</xsl:copy>
</xsl:template> |
Mais le tri me donne cela quelque soit le data-type paramétré :
Code:
1 2 3 4 5 6
| <PV2>
<PV2.23.1>N</PV2.23.1>
<PV2.39.1>5</PV2.39.1>
<PV2.8.1>ME</PV2.8.1>
<PV2.9.1>ME</PV2.9.1>
</PV2> |
Auriez-vous une piste de résolution?
Merci.