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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.