J'ai un fichier XML dont le contenu que je veux trier par ordre du document (essentiellement dans l'ordre que les articles ont été écrits sur).Trier par position XSL() donnant des résultats étranges
J'utilise actuellement le code suivant:
<xsl:template match="/Error">
<xsl:apply-templates>
<xsl:sort select="position()" order="descending" />
</xsl:apply-templates>
</xsl:template>
<xsl:template match="/Error/Warning">
<!-- etc -->
</xsl:template>
XML Exemple (données remplacé pour faciliter la lecture):
<Error>
<Warning data="stuff" timestamp="08:26:17 2010/08/01">CODE.1</Warning>
<Clear data="stuff" timestamp="08:26:36 2010/08/01">CODE.2</Clear>
<Warning data="stuff" timestamp="08:36:00 2010/08/01">CODE.3</Warning>
<Clear data="stuff" timestamp="08:36:56 2010/08/01">CODE.4</Clear>
<Warning data="stuff" timestamp="08:40:31 2010/08/01">CODE.5</Warning>
</Error>
Ceci, cependant, semble donner des résultats étranges comme il semble être dans aucun ordre particulier! Des idées?
Retrait du genre semble faire fonctionner correctement - cet ordre sera fiable en écriture ordre ou est-ce pas garanti?
Vous ne fournissez pas la sortie problématique et vous n'expliquez pas ce qui est mal à la sortie que vous ne l'avez pas montré. De plus, vous ne spécifiez pas ce qui doit vraiment être trié. Cette question est incomplète et indéfinie. S'il vous plaît, corrigez votre question. –
Il semble que votre modèle soit erroné, il devrait être 'ErrorLog/Warning'. Aussi, vous trier dans l'ordre des documents, donc ce n'est pas nécessaire. –
@Dimitre La sortie est juste dans un ordre aléatoire, je n'ai pas jugé important de montrer cela? - Question mise à jour afin qu'elle soit plus claire @Alejandro Je veux tout commander dans ''. La réponse de Paul Butchers ci-dessous fonctionne bien pour ce dont j'ai besoin. –
Chris