XPath de source

www.altova.com Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  Manuel de l'utilisateur et référence > XML > Graphiques >

XPath de source

Le XPath de source est spécifié dans le dialogue Choisir colonnes. Il détermine quels nœuds dans le document sont disponibles pour la sélection en tant que données de l'Axe Y et de l'Axe Y. La liste de choix Profondeur de recherche des colonnes détermine combien de niveaux descendants seront cherchés pour retourner des nœuds qui peuvent être utilisés pour les données d'Axe X et d'Axe Y.

ChartSelectColumnsDlg

Après avoir sélectionné un nouveau XPath de source, cliquer sur Mise à jour des colonnes pour réinitialiser les sélections disponibles (dans le dialogue) pour l'Axe X et l'Axe Y. Si des prédicats sont inclus dans l'expression XPath (par exemple, /Data/Region[1] utilise le [1] prédicat pour sélectionner le premier élément Region), alors, il faudra cocher la case Inclure les indices. Si vous modifiez l'expression de XPath de source, n'oubliez pas de cliquer sur Mettre à jour les colonnes.

 

XPath de source depuis l'emplacement du curseur

Afin d'expliquer quel XPath de source est sélectionné lors de l'ouverture du dialogue Choisir colonnes, nous allons utiliser le document XML affiché ci-dessous. Il est nommé YearlySales.xml et il se trouve dans le dossier \Examples\Tutorial.

 

<?xml version="1.0" encoding="UTF-8"?>

<Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

      xsi:noNamespaceSchemaLocation="YearlySales.xsd">

 <Region id="Americas">

         <Year id="2005">30000</Year>

         <Year id="2006">90000</Year>

         <Year id="2007">120000</Year>

         <Year id="2008">180000</Year>

         <Year id="2009">140000</Year>

         <Year id="2010">100000</Year>

 </Region>

 <Region id="Europe">

         <Year id="2005">50000</Year>

         <Year id="2006">60000</Year>

         <Year id="2007">80000</Year>

         <Year id="2008">100000</Year>

         <Year id="2009">95000</Year>

         <Year id="2010">80000</Year>

 </Region>

 <Region id="Asia">

         <Year id="2005">10000</Year>

         <Year id="2006">25000</Year>

         <Year id="2007">70000</Year>

         <Year id="2008">110000</Year>

         <Year id="2009">125000</Year>

         <Year id="2010">150000</Year>

 </Region>

</Data>

 

 

Les cas suivants sont possibles :

 

Le curseur est placé n'importe où dans la balise de démarrage (y compris dans un attribut-valeur) ou dans la balise de fin de l'élément Data, ou ailleurs dans l'élément Data mais pas dans un nœud descendant, le XPath de source sera : /Data
Le curseur est placé n'importe où dans la balise de démarrage (y compris dans un attribut-valeur) ou dans la balise de fin de tout élément Region element, ou ailleurs dans un élément Region mais pas dans un nœud descendant, le XPath de source sera : /Data/Region
Le curseur est placé n'importe où dans la balise de démarrage (y compris dans un attribut-valeur) ou dans la balise de fin d'un élément Year element, ou ailleurs dans un élément Year, le XPath de source sera : /Data/Region[N]/Year. Le filtre de prédicat [N] sélectionne l'élément Region particulier qui est l'élément Year sélectionné. Donc les données de sélection de l'Axe X et de l'Axe Y seront limitées aux éléments Year de cet élément Region particulier.
Vous souhaitez sélectionner juste un élément Region, par exemple : /Data/Region[1], alors il faudra marquer cet élément, c'est à dire, le premier élément Region tel que montré dans la capture d'écran ci-dessous.

ChartXMLSelection

De même, le fait de marquer les deux éléments Region générera une expression XPath qui sélectionne uniquement ces deux éléments Region.

 

L'expression de XPath de source pourra être éditée par la suite dans le dialogue Choisir colonnes.

 

Dans le Mode Grille, la sélection s'effectue en cliquant sur un nœud ou en marquant une plage. Le XPath de source qui est généré depuis la sélection du Mode Grille est telle que décrite ci-dessus pour le Mode Texte.

 

Inclure les indices dans XPath

La case Inclure les Indices détermine si des filtres de prédicat sont utilisés dans l'expression XPath, si ces filtres de prédicats sont saisis automatiquement au moment où le dialogue Choisir colonnes est appelé ou si ils sont saisis manuellement. Par exemple, si le curseur est placé dans un élément descendant du premier élément Region du document et que la case Inclure les Indices est cochée, alors l'expression XPath saisie automatiquement sera par exemple : /Data/Region[1]/Year. Si la case Inclure les Indices n'est pas cochée, alors l'expression sera : /Data/Region/Year.

 

La case Inclure les Indices détermine aussi si un prédicat saisi manuellement est retenu. C'est pourquoi, si vous souhaitez utiliser des prédicats dans l'expression XPath de source, vous devrez cocher la case Inclure les Indices.

 

Implications des sélection de XPath de source

Veuillez noter les implications suivantes de la sélection du XPath de source.

 

Le nombre des items dans la séquence retourné par le XPath de source détermine le nombre de graduations dans l'Axe X. Le nombre des graduations dans l'Axe X peut être modifié d'une seule autre manière (à part la modification du XPath de source) : en sélectionnant un nombre de libellés pour chaque série, mais le nombre doit être supérieur au nombre de graduations. Voir Sélection de l'Axe X pour plus d'informations concernant ce scénario.
Le XPath de source nœud est le nœud ancêtre pour tous les nœuds disponibles pour la sélection de données de l'Axe X et de l'Axe Y et pour toutes les expressions XPath que vous pourriez saisir.
En conséquence des deux autres points, veuillez noter que tout changement à l'expression du XPath de source affecte non seulement le nombre de graduations sur l'Axe X mais aussi le contexte pour toute expression XPath liée au graphique.

 

Par exemple, voici les implications de certaines expressions XPath par rapport au document XML affiché ci-dessus.

 

/Data/Region: retourne les trois éléments Region, d'où les trois graduations sur l'Axe X. Chaque élément Region sera, à son tour, le nœud contextuel pour les expressions XPaths.
/Data/Region/Year: retourne 18 éléments Year, d'où les 18 graduations sur l'Axe X. Chaque élément Year sera, à son tour, le nœud contextuel pour les expressions XPaths.
/Data/Region[1]/Year: retourne les six enfants élément Year du premier élément Region, d'où les six graduations sur l'Axe X. Chaque élément Year du premier élément Region element sera, à son tour, le nœud contextuel pour les expressions XPaths.
distinct-values(//Year/@id): retourne six items (les valeurs distinctes de l'attribut Year/@id : 2005, 2006, 2007, 2008, 2009, 2010). Néanmoins, puisque cette expression XPath ne retourne aucun item de nœud, elle ne peut pas être un nœud contextuel pour une expression XPath. Si les items dans cette séquence doivent être utilisées pour cibler des nœuds dans le document XML (à l'aide par exemple de la fonction current() (en abrégé : .)), alors l'expression XPath utilisant l'item actuel doit être lancée depuis la racine de document afin que le contexte soit établi. Par exemple : /Data/Region[1]/Year[@id eq .].

 


© 2018 Altova GmbH