Altova StyleVision 2025 Enterprise Edition

Exemple : Trier sur de multiples Sort-Keys

Accueil Préc Haut Suivant

Dans l’exemple ci-dessous (disponible dans le dossier (Mes) Documents, C:\Documents and Settings\<username>\My Documents\Altova\StyleVision2025\StyleVisionExamples\Tutorial\Sorting\SortingOnTwoTextKeys.sps), les membres de l’équipe sont recensés dans une table. Chaque membre est recensé par son prénom, nom de famille et adresse e-mail dans une ligne de la table. Disons que nous voulons trier la liste des membres par ordre alphabétique, d’abord par leurs noms de famille, puis par leurs prénoms. Voici comment cela fonctionne.

 

Lorsque la liste n’est pas triée, l’ordre de sortie est l’ordre dans lequel les éléments member sont recensés dans le document XML (capture d’écran ci-dessous, qui est la sortie HTML).

 

SS_Sort_UnsortedHTML

 

Dans le Mode Design, cliquez avec la touche de droite dans l’élément member (mis en surbrillance bleue dans la capture d’écran ci-dessous), et depuis le menu contextuel qui apparaît, sélectionnez la commande Tri de sortie.

 

SS_Sort_SelectElementDes

 

Ceci fait apparaître le dialogue Définir Tri de sortie (capture d’écran ci-dessous). Notez que l’élément sélectionné pour le tri, member, est nommé selon l’entrée des Nœuds de tri. Ce nœud est également le nœud contextuel pour l’expression XPath afin de sélectionner la « sort-key ». Cliquez sur le bouton Ajouter ligne (à gauche de la barre d’outils du volet) pour ajouter la première instruction de tri. Dans la ligne ajoutée, saisissez une expression XPath dans la colonne Match pour sélectionner le nœud last. En alternative, cliquez sur le bouton BtnEdit pour créer l’expression XPath. La colonne Datatype vous permet de sélectionner comment le contenu de la sort-key doit être évalué : comme texte ou comme nombre. La colonne Trier recense l’ordre du tri : ascendant ou descendant. Sélectionnez Texte et Ascendant. Cliquez sur OK pour finir.

 

DlgDefineSortOrder1

 

Dans le Mode Design, la balise member affiche une icône indiquant qu’elle contient un filtre tri tag_sort. La sortie HTML de la liste « team-member », triée par le nom de famille, est affichée ci-dessous. Notez que les deux « Edwards » ne sont pas triés par ordre alphabétique (Nadia est recensée avant John, ce qui correspond à l’ordre dans le document XML). Une deuxième sort-key est requise pour trier par nom de famille.

SS_Sort_SortedOnLast

Dans le Mode Design, cliquez avec la touche de droite sur la balise member et sélectionnez la commande Trier sortie depuis le menu contextuel. Le dialogue Définir Tri de sortie apparaît avec l’instruction de tri last recensée. Pour ajouter une autre instruction de tri, ajoutez une nouvelle ronde et saisissez l’élément first comme sa sort-key (capture d’écran ci-dessous). Cliquez sur OK pour finir.

DlgDefineSortOrder2

Dans la sortie HTML, la liste est désormais triée par ordre alphabétique d’après le nom de famille et puis le prénom.

SS_Sort_SortedOnLastFirst

 

© 2019-2025 Altova GmbH