Altova StyleVision 2025 Enterprise Edition

La fonctionnalité du regroupement est disponible dans les SPS XSLT 2.0 et 3.0 et pour la sortie HTML, Texte, RTF, PDF, et Word 2007+. Le regroupement n’est pas pris en charge pour la sortie Authentic View.

 

Le regroupement permet aux items (généralement des nœuds) d’être traités en groupes. Par exemple, considérez un inventaire de voitures, dans lequel les détails de chaque voiture se trouvent sous un élément car. Si, par exemple, l’élément car a un attribut brand, alors les voitures peuvent être regroupées par marque. Ceci peut être utile pour une multitude de raisons. Par exemple :

 

Toutes les voitures d’une seule marque peuvent être présentées ensemble dans la sortie, sous l’en-tête de son nom de marque.

Les opérations peuvent être effectuées à l’intérieur d’un groupe et les résultats de cette opération présentés séparément pour chaque voiture. Par exemple, le nombre de modèles disponibles pour chaque marque peut être recensé.

 

De plus, un groupe peut ensuite être traité davantage dans les sous-groupes. Par exemple, à l’intérieur de chaque marque, les voitures peuvent être groupées par modèle et par année.

 

Critères de regroupement

Les items peuvent être regroupés utilisant deux critères généraux : (i) une clé de regroupement, qui teste généralement la valeur d’un nœud, et (ii) la position relative des items. Le critères de regroupement spécifiques suivants sont disponibles :

 

group-by, qui regroupe les items sur la base d’une clé XPath définie. Par exemple, les éléments car peuvent être regroupés sur la base de leurs attributs brand. Le regroupement est défini sur l’élément car, et une expression XPath sélectionne l’attribut brand.

group-adjacent utilise une combinaison de grouping-key et de critères de position. Tous les items adjacents qui ont la même valeur pour la clé de groupement sont inclus dans un groupe. Si la valeur de grouping-key d’un item est différent de l’item précédent, alors cet item commence un nouveau groupe.

group-starting-with lance un nouveau groupe quand un nœud correspond à un modèle XPath défini. Si un nœud ne correspond pas à un modèle XPath défini, alors il est attribué au groupe actuel.

group-ending-with termine un groupe quand un nœud correspond à un modèle XPath défini ; le nœud correspondant est le dernier dans ce groupe. Le prochain nœud lance un nouveau groupe. Si un nœud suivant à celui qui lance un groupe ne correspond pas à un modèle XPath défini, il est attribué au groupe actuel.

 

Créer des groupes

Les groupes peuvent être créés soit sur un nœud, soit sur un modèle de current-group via le menu contextuel. Pour créer un groupe, cliquez avec la touche de droite sur le nœud ou modèle de current-group, et dans le menu contextuel qui apparaît, sélectionnez la commande Group by. Ceci fait apparaître le dialogue Définir regroupement de sortie (capture d’écran ci-dessous).

 

DlgGroupingOview

 

Dans le dialogue, vérifiez la case à cocher Activer la case à cocher du regroupement, sélectionnez ensuite le Type de regroupement et, dans la case de texte Correspondre, saisissez l’expression XPath qui définit la clé de regroupement (pour les options group-by et group-adjacent) ou le modèle de correspondance désiré (pour les options group-starting-with and group-ending-with). Quand vous cliquez sur OK, un dialogue s’ouvre vous demandant si vous souhaitez trier le group-set par ordre alphabétique (par ordre ascendant). Vous pouvez toujours trier les group-sets par la suite ou supprimer un tel tri par la suite. La capture d’écran ci-dessous affiche les nœuds et les modèles du current-group qui ont eu des regroupements qui ont été ajoutés à ceux-ci.

 

DesViewGrouping

 

Dans la capture d’écran ci-dessus, le nœud person a été regroupé et les groupes résultant triés. Par exemple, si les éléments person ont été regroupés par département, alors les divers départements peuvent être triés par ordre alphabétique ascendant. Les groupes ainsi créés ont été regroupés ainsi davantage en créant le regroupement dans le modèle current-group(). Ce cette manière, les éléments person peuvent être groupés, disons, d’abord par le département, et ensuite par le niveau d’emploi.

 

Trier les groupes

Après avoir défini une définition de regroupement, une fenêtre pop-up vous demandera de confirmer si les groupes doivent être triés par ordre ascendant ou non. Vous pouvez définir le tri par la suite à tout moment, ou modifier ou supprimer, à tout moment, l’ensemble de tri à cette étape.

 

Pour définir, modifier ou supprimer le tri par la suite, cliquez avec la touche de droite sur le modèle de regroupement requis et sélectionnez Sort by. Ceci ouvre le dialogue Définir l’ordre du tri de sortie. Pour savoir comment utiliser ce dialogue, veuillez consulter la section Utilisateurs. Le point important à noter est que pour trier les groupes sur la base de leur grouping-key, vous devez sélectionner la fonction XPath current-grouping-key() comme clé de tri. Par exemple, voir les fichiers décrits dans les sections suivantes.

 

Consulter et éditer les paramètres de regroupement et de tri

Pour consulter et éditer les paramètres de regroupement et de tri sur un modèle, cliquez avec la touche de droite sur le modèle et sélectionnez Group-by ou Sort by, respectivement. Ceci ouvre le dialogue respectif, dans lequel les paramètres peuvent être consultés ou modifiés.

 

Modèles définis par l'utilisateur

Les modèles définis par l’utilisateur sont des modèles qui sont appliqués à des items sélectionnés par une expression XPath que vous spécifiez. Les nœuds sélectionnés par l’expression XPath d’un modèle utilisé par l’utilisateur peut aussi être regroupé. Dans ce cas, le regroupement est appliqué dans le modèle défini par l’utilisateur.

 

© 2019-2025 Altova GmbH