Utilisation de variables dans & lt; xsl: sort select = "" / & gt;
Salut suis de construire un modèle générique pour lister le contenu de mon. Mais le Contenu peut être triée sur différents '@ ' ou node ()'. Alors, envie de passer à la xPath.
<xsl:variable name="sort" select="@sortBy"/>
<xsl:variable name="order" select="@order"/>
<xsl:for-each select="Content[@type=$contentType]">
<xsl:sort select="$sort" order="{$order}" data-type="text"/>
<xsl:sort select="@update" order="{$order}" data-type="text"/>
<xsl:copy-of select="."/>
</xsl:for-each>
À l'aide d'une variable à la baisse dans l'ordre croissant ou décroissant dans le order=""
ŒUVRES.
Pourquoi ne pas le faire sur le select=""
?
Je espère faire de cette super dynamique, sélectionnez la variable peut être xPtah de @publier ou d'un Titre/node() ou toute xPath.
Il n'y a pas d'erreur - Il ignore juste les trier.
source d'informationauteur Will Hancock
Vous devez vous connecter pour publier un commentaire.
C'est par la conception. Le
select
attribut est le seul qui n'accepte pas AVTs (Attribut - Valeur des Modèles).La solution habituelle est de définir une variable avec le nom de l'enfant de l'élément qui doit être utilisée comme clé de tri. Ci-dessous, un petit exemple:
Lorsque cette transformation est appliquée sur le document XML suivant:
le résultat voulu est produit:
La
|
(union de l'opérateur) fonctionne... je dois avoir un peu de mal lorsqu'on l'a essayé avant. C'était @Dimitre Novatchev la réponse de me conduire sur le droit chemin!!Les ouvrages suivants:
Il me permet de trier les attributs et les nœuds. Évidemment, tant qu'ils n'ont pas la même
name()
mais des valeurs différentes.