Altova StyleVision 2025 Enterprise Edition

Les styles peuvent être assignés pour concevoir les composants via des expressions XPath. Ceci permet aux valeurs des propriétés de style d’être prélevées des données XML ou de l’expression XPath elle-même. Aussi, en utilisant la fonction doc() de XPath 2.0/3.0, les nœuds dans tout document XML accessible peuvent être traités. Ce ne sont non seulement des définitions de style qui peuvent être tirées de données XML extraites ; cette fonction permet également de faire des choix de style qui sont conditionnels en matière de structure ou contenu des données XML. Par exemple, utiliser la déclaration if...else de XPath 2.0/3.0, deux couleurs d’arrière-plan différentes peuvent être sélectionnées dépendant de la position d’un élément dans la séquence. Donc, lorsque ces éléments sont présentés comme lignes dans une table, les lignes impaires numérotées peuvent être présentées avec une couleur d’arrière-plan tandis que les lignes paires numérotées sont présentées avec une autre (voir l’exemple ci-dessous). Aussi, dépendant du contenu d’un nœud, la présentation peut varier.

 

Les propriétés de style pour lesquelles les expressions XPath sont activées

Les expressions XPath peuvent être saisies pour les propriétés de style suivantes :

 

Toutes les propriétés disponibles dans la barre latérale des Styles

Les groupes de propriétés Common, Event, et HTML dans la barre latérale des Propriétés

 

Mode statique et mode dynamique (XPath) pour les valeurs de propriétés

Pour ces propriétés où les expressions XPath sont activées, deux modes sont disponibles :

 

Le mode statique, où la valeur de la propriété est saisie directement dans la colonne Valeur de la barre latérale. Par exemple, pour la couleur d’arrière-plan d’un composant de design, la valeur red peut être saisie directement dans la barre latérale.

Dynamique, ou mode XPath, où une expression XPath est saisie. L’expression est évaluée au moment de l’exécution, et le résultat est saisi comme valeur de la propriété. Par exemple, pour la couleur d’arrière-plan d’un composant de design, l’expression XPath suivante peut être saisie : /root/colors/color1. Au moment de l’exécution, le contenu du nœud /root/colors/color1 sera extrait et saisi comme la valeur de la propriété de la couleur d’arrière-plan.

 

Basculer entre les modes statique et dynamique (XPath)

Pour chaque propriété pour laquelle les expressions XPath sont activées, le mode statique est sélectionné par défaut. Pour basculer une propriété vers le mode dynamique (XPath), sélectionnez cette propriété et cliquez sur l’icône XPath dans la barre d’outils de la barre latérale (capture d’écran ci-dessous).

 

EH_Styles_ViaXPath

 

Si une valeur statique était présente pour cette propriété, elle est désormais dégagée et le mode est basculé vers dynamique. Le dialogue Éditer l’expression XPath s’ouvrira. C’est dans ce dialogue que vous saisissez l’expression XPath pour cette propriété. Cliquez sur OK lorsque vous avez terminé.

 

Après avoir saisi une expression XPath pour la propriété, une touche d’expression Éditer XPath apparaît dans la colonne Valeur pour cette propriété (capture d’écran ci-dessus). Cliquer sur cette touche afin d'éditer l'expression Xpath par la suite. Si vous souhaitez basculer de retour vers le mode statique, cliquez sur l’icône XPath dans la barre d’outils. Ceci effacera l’expression XPath et basculera la propriété vers le mode statique.

 

Note : veuillez noter deux points importants. D’abord, seul un mode (statique ou dynamique), et la valeur/expression pour ce mode, est actif à tout moment. Toute valeur/expression qui existait précédemment pour l’autre mode est effacé ; donc basculer vers l’autre mode présentera ce mode avec un champ d’entrée vide. (Afin de retourner vers une valeur/expression précédente, utilisez la commande Undo.) Deuxièmement, si vous re-sélectionnez une propriété après avoir édité davantage le SPS, alors cette propriété sera ouverte dans le mode dans lequel il était précédemment.

 

Créer et éditer la définition XPath

La définition XPath est créée et éditée dans le dialogue de l’expression Éditer XPath. Ce dialogue est accessible de deux manières :

 

À chaque fois que vous basculez vers le mode dynamique d’une propriété du mode statique (en cliquant sur l’icône XPath dans la barre d’outils de la barre latérale), le dialogue Éditer expression XPath apparaît. Vous pouvez désormais créer les expressions XPath. (Notez que cliquer sur l’icône de la barre d’outils lorsqu’elle est déjà en mode dynamique bascule le mode vers le mode statique ; il n’ouvre pas le dialogue Éditer l’expression XPath.)

Le dialogue Éditer expression XPath s’ouvre également lorsque vous cliquez sur le bouton Éditer expression XPath dans le champ Valeur d’une propriété qui a déjà une expression XPath définie pour celle-ci. Le dialogue contiendra l’expression XPath déjà définie pour la propriété que vous pouvez éditer maintenant.

 

Une fois que vous avez saisi ou édité l’expression XPath dans votre champ de saisie, cliquez sur OK pour terminer.

 

Valeurs retournées par les expressions XPath

Les avantages les plus importants d’utiliser les expressions XPath pour définir une valeur de propriété sont : (i) la valeur de propriété peut être prise depuis un fichier XML (à la place d’être directement saisie) ; et/ou (ii) une expression XPath peut tester certaines conditions associées au contenu ou à la structure du document XML étant traité, et sélectionner une valeur en fonction en conséquence. Les expressions XPath renvoient les valeurs dans les deux catégories suivantes :

 

Contenu du nœud XML

L’expression XPath peut aborder les nœuds dans : (i) le document XML étant traité par SPS, ou (ii) tout document XML accessible. Par exemple, l’expression Format/@color accéderait l’attribut color de l’enfant Format du nœud contextuel. La valeur de l’attribut color sera définie comme valeur de la propriété pour laquelle l’expression XPath a été définie. Un nœud dans certains documents XML peut être accédé utilisant la fonction doc() de XPath 2.0. Par exemple, l’expression doc('Styles.xml')//colors/color-3 extrairait la valeur de l’élément color-3 dans le document XML Styles.xml et définissez cette valeur comme valeur de la propriété pour laquelle l’expression XPath a été définie.

 

Expression XPath

La valeur de la propriété peut venir de l’expression XPath elle-même, et non du document XML. Par exemple, la couleur d’arrière-plan d’un élément qui est sorti comme ligne peut être décidée pour alterner selon si la position de la ligne a des nombres impairs ou pairs. Ceci pourrait être atteint utilisant l’expression XPath 2.0/3.0 : if (position() mod 2 = 0) then 'red' else 'green'. Notez que la valeur de renvoi de cette expression est soit le string red ou le string green, et elle sera définie comme valeur de la propriété pour laquelle l’expression XPath a été définie. Dans l’exemple cité, les valeurs de propriété étaient saisies comme chaînes littérales. En alternative, elles pourraient venir d’un document XML, par exemple : if (position() mod 2 = 0) then doc('Styles.xml')//colors/color-1 else doc('Styles.xml')//colors/color-2. Inversement, l’expression XPath pourrait être un string simple, par exemple : ‘green’ : Toutefois, il s’agit de la même chose que si vous saisissez la valeur statique green pour la propriété.

 

Limitations

Les Propriétés de style via la fonction XPath ont les limitations suivantes :

 

1.Pour la sortie RTF, les colors sont saisies par StyleVision dans la table du document RTF. Cette table et créée au moment où XSLT-pour-RTF est générée (y compris pour l’Aperçu pour RTF) et contient, par défaut, les couleurs standard 140 prises en charge par la plupart des navigateurs web. Si les valeurs des propriétés de couleur sont obtenues des données XML ou l’expression XPath, et ne sont pas une des 140 couleurs standard, la prochaine meilleure couleur standard sera utilisée. Par exemple, #FF0001 si aucune des 140 couleurs standard ; donc la valeur #FF0000 (red) sera utilisée.

2.Pour RTF, PDF, et la sortie Word 2007+, les valeurs obtenues pour la propriétéclass des données XML ou littéral dans l’expression XPath sera appliquée aux composants de design suivants : Calculs automatiques, l’espace réservé (contenus), les composants de paragraphe (bloc), et les cellules de table.

 

© 2019-2025 Altova GmbH