Altova StyleVision 2025 Enterprise Edition

Les variables qui sont dans la portée peuvent être éditées dans Authentic View par l’utilisateur Authentic View pour contrôler l’affichage dans Authentic View. Par exemple, si dans un grand document XML contenant, disons des données personnelles de plusieurs filiales d’une entreprise sont utilisées, l’utilisateur de Authentic View peut obtenir l’option de sélectionner une filiale de l’entreprise particulière. L’affichage Authentic View du document XML pourrait être restreint à la filiale sélectionnée par l’utilisateur Authentic View.

 

Comment cela fonctionne ?

Trois étapes sont impliquées pour définir des variables éditables dans Authentic View (voir également la capture d’écran ci-dessous):

 

1.La variable requise est définie sur le modèle au sein duquel elle sera utilisée. Ce modèle délimite l’étendue de la variable. La variable ne peut être utilisée qu’au sein du modèle sur lequel elle est dans la portée.

2.Un modèle défini par l’utilisateur est créé avec le nom de la variable. Le contenu dynamique de ce modèle défini par l’utilisateur contiendra la valeur de la variable. Si l’espace réservé (contenus) ou le champ d’entrée est inséré dans le design comme contenu du modèle défini par l’utilisateur, alors l’utilisateur de Authentic View peut saisir tout contenu comme valeur de la variable. Les options disponibles à l’utilisateur de Authentic View peuvent toutefois être restreintes en insérant un contrôle de formulaires, tel une liste déroulante, comme contenu du modèle défini par l’utilisateur.

3.La variable peut être utilisée dans une expression XPath pour contrôler l’affichage Authentic View. Par exemple, la variable peut être utilisée dans une condition. Dépendant de la valeur de chaque branche de la condition, un affichage différent peut être précisé. Un autre mécanisme où la variable peut être bien utilisée est dans une expression qui correspond au modèle ou au filtre modèle.

 

Note :         Veuillez prendre note des points suivants :

 

Puisque le groupement et le tri ne sont pas pris en charge dans Authentic View, les variables éditables dans Authentic View ne peuvent pas être utilisées dans un SPS contenant une de ces fonctions.

Puisque les fonctions de variables éditables s’appliquent uniquement à Authentic View, le design pour Authentic View devra être différent que pour les autres sorties. Ceci peut être conçu facilement en utilisant la fonction Conditions basées sur la sortie.

 

Fichier d'exemple

Le fichier AuthenticVariables.sps dans le dossier (Mes) Documents, C:\Documents and Settings\<username>\My Documents\Altova\StyleVision2025\StyleVisionExamples\Tutorial\Grouping\Scores\, montre comment des variables éditables peuvent être utilisées dans Authentic View. Le fichier XML contient les résultats de correspondances dans un tournoi. Les équipes participantes dans le tournoi sont divisées en deux groupes. La variable éditable permet à l’utilisateur de Authentic View de sélectionner le groupe à consulter et de restreindre l’affichage à ce groupe.

 

La capture d’écran ci-dessous affiche tout le design SPS. Une variable éditable est créée et les différentes étapes requises pour la configurer sont libellés dans la capture d’écran ci-dessous. Une description des étapes réelles est donnée dans la capture d’écran ci-dessous.

 

EditableVarsAuth

 

Les étapes clé de la configuration des variables éditables étaient les suivantes :

 

Dans le modèle $XML (le modèle racine), une variable éditable appelée SelectGroup est définie avec un type de xs:string. Cette variable sera dans la portée de tout le modèle

Dans le modèle $XML, une variable non-éditable appelée Groups est définie avec un type <auto>. Son objectif est de recueillir dynamiquement les valeurs distinctes de tous les attributs results/group/@id. Ces valeurs distinctes sont prévues être affichées dans la liste déroulante de la zone de liste déroulante de laquelle l’utilisateur Authentic View sélectionnera le groupe qu’il souhaite voir affiché.

Un modèle défini par l’utilisateur est créé et nommé $SelectGroup (le nom de la variable éditable). L’emplacement du modèle utilisé par l’utilisateur n’est pas important aussi longtemps qu’il est dans la portée de la variable éditable.

À l’intérieur de ce modèle défini par l’utilisateur, une zone de liste déroulante est insérée. La zone de liste déroulante utilise l’expression XPath $Groups, 'All' pour sélectionner les valeurs d’entrée de la liste déroulante. L’expression XPath renvoie la séquence des items contenus dans la variable $Groups (qui recueille dynamiquement tous les groupes disponibles), et ajoute un item All à la séquence renvoyée par $Groups. L’item d’entrée All de la zone de liste sera utilisée pour afficher tous les groupes.

Le modèle défini par l’utilisateur est joint dans un modèle conditionnel basé sur la sortie avec la sortie définie pour Authentic View. Ceci est dû au fait que la variable éditable ne peut être utilisée que dans Authentic View.

La prochaine étape est d’utiliser la valeur de la variable éditable que l’utilisateur Authentic View sélectionne. Ceci sera utilisé pour filtrer l’affichage vers le groupe du bas que l’utilisateur Authentic View sélectionne. Ceci est réalisé en spécifiant un filtre dans le modèle results/group. L'expression XPath de ce filtre est :

 

         if ($SelectGroup != 'All') then @id=$SelectGroup else @id

 

Cette expression de filtre installe une étape de prédicat sur l’élément group. Si la variable $SelectGroup a une valeur qui n’est pas égale à All, alors l’étape de prédicat sera [@id=X], où X est la valeur de la variable $SelectGroup (que l’utilisateur Authentic View a sélectionné dans la zone de liste déroulante). Ce filtre a l’effet de sélectionner le groupe qui a un attribut id avec la valeur que l’utilisateur Authentic View a sélectionné. Si la variable $SelectGroup a une valeur de All, alors l’expression de prédicat sélectionnera les groupes avec une valeur d’attribut id, à savoir tous les groupes.

Le modèle group est enfermé à l’intérieur d’une condition basée sur la sortie, dont chaque branche sélectionne une sortie différente. Uniquement dans la branche Authentic View, le modèle group applique le filtre.

 

La sortie Authentic View aura l’air de ceci :

 

EditableVarsAuthOutput

 

Notez les entrées dans la zone de liste déroulante, la sélection du Group B de la zone de liste déroulante, et l’affichage limité au Group B.

 

© 2019-2025 Altova GmbH