Aller au contenu

Apprenez à utiliser les expressions du langage XPath

Suite du cours précédent sur Xpath. Un peut de théorie pour bien comprendre comment fonctionne Xpath avant de passer dans les prochains cours à la pratique.

Apprenez à utiliser les expressions Xpath pour manipuler le XML.

Tout est dans la vidéo ci-dessous

[ppmaccordion][ppmtoggle title= »Afficher le texte de la vidéo »]

Apprenez à utiliser les expressions du langage XPath

Bonjour à tous et bienvenu sur Développement Facile.

Ici Matthieu expert en développement applicatif, on continu ensemble la série de cours dédiée à XML et donc là on est sur le langage Xpath, dans ce cours vous allez découvrir les expressions Xpath et comment les utiliser dans votre développement.

Définition

Une expression Xpath, en fait c’est une séquence d’expressions séparées par des virgules, il est possible de créer des séquences d’une seule expression, chaque expression de la séquence peut être une expression primitive dont le résultat est un objet unique du modèle de données du document XML, ça peut être une expression de séquence comme une expression de répétition, une condition ça je vous en ai parlé dans la vidéo précédente, de quantification ou des booléens, ça peut être une expression de chemin dont le résultat est une séquence de nœuds et ou un mélange de tous ces types d’expressions.

Expressions primitives du langage

Une expression primitive Xpath, c’est une valeur, une référence à une variable, l’expression du contexte courant ou une expression entre parenthèses ou l’appel d’une fonction, c’est ce que vous pouvez mettre dans une expression. L’expression d’une valeur, il faut savoir qu’Xpath reconnaît deux types de valeurs, les valeurs numériques et les chaînes de caractères. Les chaînes de caractères de types XSD : String sont toujours encadrées par des guillemets, c’est très important, soit les guillemets ou alors vous pouvez utiliser les apostrophes ça fonctionne aussi. Valeur numérique est de type XSD integer, elle ne contient bien évidemment pas les caractères point e ou E, XSD décimale, la valeur décimale ne contient pas de caractères e ou E, par contre elle peut contenir un point pour signifier la virgule, 10,10.3 par exemple, ou XSD double dans tous les autres canaux, vous avez integer, décimale avec une virgule, c’est le point, ou double dans les autres cas.

Le langage Xpath

Ensuite le référencement à une variable s’effectue en faisant précéder le nom de la variable avec le signe dollars, comme en PHP si vous connaissez le langage PHP, vous mettez $ et le nom de votre variable, ça va vous permettre d’accéder à cette variable. L’expression du contexte courant s’effectue avec le point et désigne l’objet en cours, le nœud ou la valeur atomique. Vous pouvez bien évidemment encadrer une expression par des parenthèses ouvrante et fermantes pour forcer l’ordre d’exécution d’une expression comme en mathématique, dans du PHP, dans du JavaScript,  vous avez des conditions tel ou tel truc pour multiplier etc. Vous pouvez mettre des parenthèses pour gérer les priorités comme vous le souhaitez. Xpath possède plusieurs fonctions sur les nombres, les chaînes de caractères, les dates, les booléens et les nœuds, on va voir bien évidemment tout ça au fur et à mesure des différents cours.

Les chemins Xpath

Un chemin Xpath permet de localiser des nœuds et chaque chemin Xpath est un enchaînement de termes d’un nœud ou de séquences d’un nœud, c’est séparé par / ou // tout simplement. Un terme sélectif s’exprime à partir d’un axe de parcours, entre le nœud courant et le nœud à atteindre, il y a un axe de parcours, d’un filtre sur les nœuds visés séparés de l’axe de parcours par : : ou en option d’une liste de conditions exprimées entre crochets. Le / en début de chemin est un raccourci pour le terme sélectif document-node(), et le // en début de chemin est un raccourci pour le terme sélectif document-node()/descendant-or-self::node() // entre deux termes sélectifs peut être décrit comme descendant-or-self::node(), c’est peut-être un peu abstrait mais à travers les prochains cours, vous allez voir des exemples pour pouvoir comprendre un petit peu comment utiliser toutes ces informations dans votre développement.

Les axes de parcours

L’axe de parcours des nœuds recherchés est soit descendant, donc on descend dans le modèle des nœuds dans le fichier XML, ou à ascendance, on part on repart jusqu’au nœud racine du document XML et self ça indique que la sélection est faite sur le nœud courant, sur le nœud en cours de lecture.

Les axes descendants

Child c’est la sélection se fait sur les enfants du nœud courant

descendant la sélection se fait, ça concerne l’ensemble des nœuds descendant du nœud courant, les enfants, les petits-enfants etc.

descendant-or-self la sélection concerne l’ensemble des nœuds enfants du nœud sur le nœud courant lui-même descendant toujours,

following-sibling la section concerne l’ensemble des nœuds frères suivant en termes d’apparition on dans le document XML du nœud courant,

Tout est expliqué en français, following c’est la sélection concerne l’ensemble des nœuds suivants en terme d’apparition dans le nœud XML du nœud courant à l’exception des nœuds descendants du nœud courant donc on ne prend pas en compte les nœuds descendants,

attribute la sélection concerne l’ensemble des nœuds attributs du nœud courant, si le nœud courant ne possède pas d’attribut courant à l’exception du nœud, des descendants du nœud courant, pardon excusez-moi là je suis perdu, je me dis qu’est c’qu’il se passe… si le nœud courant ne possède pas d’attribut dans la liste de nœuds on va le considérer comme vide simplement,

namespace la sélection concerne l’ensemble des nœuds espaces de nom du nœud courant, si le nœud courant ne possède pas d’espace de nom alors la liste de nœuds est vide aussi comme pour les nœuds attributs tout simplement.

Les axes ascendants

Ensuite vous avez parent, ça concerne la sélection du parent du nœud courant, tout simplement ça sélectionne le nœud parent du nœud courant,

ancestor c’est la sélection concerne l’ensemble des nœuds ancetres du nœud courant,

ancestor-or-self vous avez preceding-sibling que vous allez voir, preciding que vous avez également voir souvent, donc là, la sélection concerne l’ensemble des nœuds précédents en termes d’apparition dans le document XML du nœud courant à l’exception des ancêtres du nœud courant, pour preceding-sibling, ancestor-or-self, je vous laisse lire, on les rencontres beaucoup moins souvent, je vous laisse juste lire juste à côté moi à quoi ça sert.

Votre plan d’actions !

C’est parti, c’est un cour qui est assez abstrait j’en conviens, mais dans les cours prochains, dans les cours suivant, les prochains cours, vous allez rentrer beaucoup plus dans le détail avec des exemples de code source, comment utiliser telle ou telle chose, naviguer dans les nœuds tout ça vous allez voir en détail, en attendant si vous avez des questions, si vous souhaitez des cours sur différents sujets ; suffit de les préciser là juste en-dessous de cette vidéo, posez vos questions, demandez les cours que vous souhaitez, faites-le, l’équipe développement facile est à votre disposition pour vous aider, en attendant là juste au-dessus de moi il y a une image lancer la vidéo deux, donc je vous invite à cliquer sur cette image pour lancer la deuxième vidéo, dans la deuxième vidéo, vous allez aller beaucoup plus loin avec XML, avec PHP, vous allez apprendre à utiliser PHP, XML, JavaScript, XML, CSS 3, HTML 5, les bases de données, tout ça c’est la deuxième vidéo je vous dis à tout de suite dans la deuxième vidéo.

[/ppmtoggle] [/ppmaccordion]

Quel cours voudriez avoir pour progresser dans votre développement ?

Utilisez la zone commentaire pour me demander quels sont les cours que vous voudriez voir sur Développement Facile

EXCLUSIF : Les 7 Secrets Révélés de JavaScript pour Créer VOS Applications — dès la semaine prochaine !

EXCLUSIF : La formation « JavaScript Facile » OFFERTE pour Créer VOS Applications — dès la semaine prochaine !

EXCLUSIF : Créez VOS Applications JavaScript — en moins de 7 jours grâce à notre formation OFFERTE « JavaScript Facile »

Que diriez-vous de Développer des Applications JavaScript Performantes — dès la semaine prochaine ?

TÉLÉCHARGEZ : Les codes sources du livre « JavaScript Facile » pour Créer VOS Applications — dès la semaine prochaine !

Cliquez ici pour tout recevoir >>