XPath XML Path UP Web Année universitaire 2014-2015.

Slides:



Advertisements
Présentations similaires
Introduction à XSLT Éric Laporte Institut Gaspard-Monge
Advertisements

Les Structures.
Introduction au Langage C,C++
Transformation de documents XML
Algorithmes et structures de données Cours 2
Interactivé: L'Action Script.
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
Cours MIAGE Henry Boccon-Gibod 1 XML, langage de structuration documentaire Langage de transformation et langage d'interrogation.
(Classes prédéfinies – API Java)
Xpath XPath is a language for finding information in an XML document.
le langage les éléments
Les fonctions de XPath et XSLT
Domaines nominaux XSLT
Tutoriel XSLT F. Sajous ERSS – 01/04/2005.
Manipulation d’XML avec XSL
Retour au menu principal. Généralités Lenvironnement Laffichage de la fenêtre Déplacement / sélection dans une feuille Classeurs La gestion des classeurs.
Principes de programmation (suite)
XSLT XSL : XSL : formatting objects - langage de formattage; XSLT : langage de transformation bas sur la spcificatioon Xpath (langage dadressage dans des.
UNIVERSITE CHOUAIB DOUKKALI Département des mathématiques
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Introduction à DOM Maroua Bouzid
Xml/xslt : Extensible Stylesheet Language Transformation réalisé par: saÏd NAÏM.
Python La programmation objet
Programmation multimédia 3
Complément Le diagramme des classes
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 5 – Héritage, Interfaces et Listes génériques.
XML: Syntaxe XML, DTD et Schémas
Structures de données IFT Abder Alikacem La classe string Département dinformatique et de génie logiciel Édition Septembre 2009 Département dinformatique.
Le langage Javascript pour le web
Xpath XML Path language par Yves Bekkers
XSLT Langage de transformation darbre par Yves Bekkers.
Manipulation de formulaires en Javascript
Principes de programmation
IFT 6800 Atelier en Technologies d’information
Les méthodes en java • Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. • Une méthode pour être utilisée.
Types de données fondamentaux
Données sous XML Stéphane Marchand-Maillet Groupe Viper Vision par Ordinateur et Multimédia CUI – Université de Genève
Animateur : Med HAIJOUBI
Javascript 1° PARTIE : LES BASES
8 - XML Cours XML.
Les outils de base : XPath, XSL, XLink, XForms
XSLT : XML Stylesheet Language Transformation
XSL eXtensible Stylesheet Language Historique 1999: XSLT 1.0 et XPATH 1.0 : versions supportées par la plupart des outils depuis février 2007 XSLT 2.0.
ACCARY-BARBIER / CNAM - Cycle C ère partie : Technologies XML  CHAPITRE 1 : XML et DTD  CHAPITRE 2 : Schémas XML  CHAPITRE 3 : XPath.
Ecrire des expressions arithmétiques et logiques
Le langage XML.
CSI2520  Cette fonction permet d’attribuer une valeur à une variable (set! nombre (+ 3 4)) (set! nombre (+ 1 nombre)) En SCHEME, les fonctions dont le.
XML Stylesheet Language
Un survol du language C.
Programmation Web : Schémas XSD Jérôme CUTRONA 19:27:07 Programmation Web
Technologies web chapitre III : Le langage JavaScript
 Syntaxe du langage PHP
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Université Lyon 2 - TICE 3 : séance 041 Traitement de données chiffrées dans un tableur TICE 3 – Séance 4 Karine Abbas, Ny Haingo Andrianarisoa.
Strings et Tableaux en Java
Les classes et les objets Les données finales class A { … private final int n = 20 ; // la valeur de n est définie dans sa déclaration … } class A { public.
1 Système d’exploitation Les scripts csh 1 ère Année Année Tienté HSU.
Module : Langage XML (21h)
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
XPath Intro 1 Notation 2 Exemples 3 Utilisations de XPath
Introduction à l’utilitaire
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Philippe Gandy - 22 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Objets et Actions Élémentaires.
Philippe Gandy - 15 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Introduction au langage PL/SQL
XSLT. Les documents XML peuvent avoir dans leur prologue une instruction de traitement xml-stylesheet. Cette instruction de traitement indique au navigateur.
XPath XML Path language Yves Bekkers Mise à jour : 9 octobre 2003.
ALGORITHME ET PROGRAMMATION RÉVISION Informatique et Sciences du Numérique.
Transcription de la présentation:

XPath XML Path UP Web Année universitaire 2014-2015

Objectifs Comprendre le rôle de XPath Apprendre à naviguer dans un document XML en utilisant les expressions XPath

Présentation de XPath XPath est un langage d’expression qui sert à identifier les nœuds d’un document XML. Recommendation W3C XPath version 2.0 XML & services web -1-

Les chemins de localisation Document XML Arborescence XML recette <?xml version="1.0"?> <recette> <titre>Crème au beurre</titre> <categorie>Dessert</categorie> <ingredients> <ingredient> <nom>beurre</nom> <quantite unite=‘’grammes’’> 100 </quantite> </ingredient> … </ingredients> </recette> titre categorie ingredients ingredient ingredient nom quantite unite XML & services web -2-

Les chemins de localisation Un chemin de localisation sert à désigner une partie de l ’arborescence XML. Il est composé de: Un Axe: direction dans l’arbre (les fils, les frères, les ancêtre…) Un type de nœud à localiser: les éléments, les textes… Des prédicats: des conditions à respecter (expressions booléennes à vérifier sur chaque nœud trouvé). XML & services web -1-

Les chemins de localisation Un chemin de localisation sert à désigner une partie de l ’arborescence XML. Il est composé de: Un Axe: direction dans l’arbre (les fils, les frères, les ancêtre…) Un type de nœud à localiser: les éléments, les textes… Des prédicats: des conditions à respecter (expressions booléennes à vérifier sur chaque nœud trouvé). XML & services web -1-

Les chemins de localisation Arborescence XML Les éléments Il existe deux types d’expressions Xpath: recette Absolue Si le point de départ est la racine du document titre categorie ingredients /recette/ingredients/ingredient/nom ingredient ingredient Relative nom quantite Si le point de départ est un autre nœud différent de la racine du document unite //ingredient/nom XML & services web -3-

Les chemins de localisation Arborescence XML Les éléments .. recette Nœud parent titre categorie ingredients Nœud contextuel . ingredient ingredient //ingredient Tous les éléments ingredient dans n'importe quel chemin nom quantite /recette/ingredients/ingredient[1] unite Le premier sous-élément ingredient de l’élément contextuel XML & services web -4-

Les chemins de localisation Arborescence XML Les éléments .. recette //ingredient | //titre Composition de requêtes: tous les éléments ingredient avec tous les éléments titre titre categorie ingredients . ingredient ingredient //ingredient/* Tous les éléments fils de tous les élements ingredient nom quantite unite XML & services web -4-

Les chemins de localisation: recherche par contexte descendant Arborescence XML /recette/ingredients/descendant::* recette Les fils de ingredients et leurs descendants <ingredient> <nom/> <quantite unite="gramme"/> </ingredient> <ingredient/> titre categorie ingredients ingredient ingredient nom quantite unite XML & services web -5-

Les chemins de localisation: recherche par contexte ancestor Arborescence XML /recette/ingredients/ingredient/ancestor::* recette Le père d’un nœud et ses ancêtres titre categorie ingredients child /recette/ingredients/ingredient/child::* ingredient ingredient Les fils d’un nœud <nom>beurre</nom> <quantite unite="gramme"/> nom quantite unite XML & services web -5-

Les chemins de localisation Les attributs Arborescence XML /recette/ingredients/ingredient/@unite recette L’attribut unite dans l’élément quantite titre categorie ingredients /recette/ingredients/ingredient/quantite[@unite] ingredient ingredient Les éléments quantite ayant un attribut unite nom quantite /recette/ingredients/ingredient/quantite[@unite="grammes"] unite Les éléments quantite ayant un attribut unite possédant la valeur "grammes" XML & services web -5-

Les fonctions XPath Les fonctions de noeuds Arborescence XML count(//ingredient) recette Détermine le nombre des nœuds ingredient titre categorie ingredients //ingredient[ last() ] Sélectionne le dernier élément ingredient contenu dans l’élément contextuel ingredient ingredient nom quantite //ingredient[ position()=2 ] unite Sélectionne le 2ème élément ingredient contenu dans l’élément contextuel XML & services web -6-

Les fonctions XPath Les fonctions de noeuds Arborescence XML /recette/categorie/text() recette Tous les nœuds categorie de type textuels titre categorie ingredients name() ingredient ingredient Renvoie le nom du nœud contextuel nom quantite unite XML & services web -6-

Les fonctions XPath Les fonctions sur les chaînes de caractère Arborescence XML recette concat() Permet de concaténer plusieurs chaines de caractère. titre categorie ingredients Exemple: concat(« le titre de la recette est » , / recette/titre) ingredient ingredient nom quantite On peut concat plusieu chaine de caract . une chaine decarac peut etre Ou pa une expression xpath unite grammes XML & services web -7-

Les fonctions XPath Les fonctions sur les chaînes de caractère Arborescence XML recette /recette/ingredients/ingredient/nom[contains(.,'f')] Retourne les noms contenant la lettre f. titre categorie ingredients ingredient ingredient starts-with(/recette/ingredients/ingredient/nom, beu) Retourne true si la première chaîne de caractère passée en paramètre commence par la deuxième chaîne, si non elle retourne false. nom quantite unite grammes XML & services web -7-

Les fonctions XPath Les fonctions sur les chaînes de caractère Arborescence XML recette substring(chaine1, pos, long) Retourne une sous-chaîne de chaîne1 à partir de la position pos dont la longueur est égale à long. titre categorie ingredients ingredient ingredient Exemple: substring(/recette/titre, 2,5) nom quantite unite grammes XML & services web -7-

Les fonctions XPath Les fonctions sur les chaînes de caractère Arborescence XML recette substring-after(chaine1, chaine2) Retourne une sous-chaîne de chaîne1 qui suit la première occurrence de chaine2. titre categorie ingredients ingredient ingredient Exemple: substring-after("012345", "2") Exemple: <recette> <titre>crème au beurre</titre> </recette> substring-after(/recette/titre, "au") retourne: « beurre » nom quantite Renvoie la chaîne une sous-chaîne "345" unite grammes XML & services web -7-

Les fonctions XPath Les fonctions sur les chaînes de caractère Arborescence XML recette Substring-before(chaine1, chaine2) Retourne une sous-chaîne de chaîne1 qui précède la première occurrence de chaine2. titre categorie ingredients ingredient ingredient Exemple: substring-before("012345", "2") nom quantite Renvoie la sous-chaîne "01" unite grammes XML & services web -7-

Les fonctions XPath translate(chaine1, chaine2, chaine3) Les fonctions sur les chaînes de caractère translate(chaine1, chaine2, chaine3) Transforme la chaîne1 en remplaçant chaque occurrence des caractères de chaîne2 par le caractère correspondant (c’est-à-dire occupant la même position) de chaîne3. Par exemple, pour transformer une lettre quelconque et la mettre en majuscule, on utilise l'appel suivant de la fonction : translate(chaine, "abcdefghijklmnopqrstuvwxyz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ"). Exemple: pour transformer chaque lettre « a » minuscule en majuscule: translate("chaine", "a", "A") translate(/monde/nom, " ", "A") XML & services web -7-

Les fonctions XPath normalize-space(chaine) string-length(chaine) Les fonctions sur les chaînes de caractère normalize-space(chaine) Retourne la chaîne de caractère qu’elle reçoit en argument après en avoir supprimé les espaces situés au début et à la fin, et y avoir remplacé chaque séquence d’espaces consécutifs par un espace unique. string-length(chaine) Retourne la longueur de la chaîne de caractère qu’elle reçoit en argument. XML & services web -7-

Les fonctions XPath Les fonctions numériques Arborescence XML recette number(1254) Convertir un texte en nombre titre categorie ingredients sum(/recette/ingredients/ingredient/quantite) Additionner les valeurs de l’ensemble de noeuds ingredient ingredient nom quantite unite grammes XML & services web -8-

Les fonctions XPath Les fonctions numériques Arborescence XML recette ceiling(50.65) évalue un nombre décimal et retourne le plus petit nombre entier supérieur ou égal au nombre évalué.  51 titre categorie ingredients ingredient ingredient floor(50.65) Retourne le plus grand entier égal ou inférieur au nombre qu ’elle reçoit en argument.  50 nom quantite unite grammes XML & services web -8-

Les fonctions XPath Les fonctions numériques Arborescence XML recette round(50.5) Arrondit le nombre qu’elle reçoit à l’entier le plus proche.  51 titre categorie ingredients ingredient ingredient nom quantite unite grammes XML & services web -8-

Les fonctions XPath Les fonctions booléennes Il est parfois nécessaire de créer une constante booléenne initialisée à une valeur true ou false. Cette opération est réalisable par un appel respectivement aux fonctions true() et false() La fonction not(expression) : retourne l’inverse de la variable logique de son argument. La fonction boolean (expression) : retourne true si le résultat de l’expression n’est pas null, si non elle retourne false. XML & services web -8-

Extraction de tous les éléments « ingredient » Exemple (1/2) eclipse-xpath-evaluation-plugin Ce plugin permet à l’utilisateur d’évaluer des expressions Xpath dans une perspective eclipse. Extraction de tous les éléments « ingredient » Document XML

Dernier élément « ingredient » Nombre des ingredients Exemple (2/2) eclipse-xpath-evaluation-plugin Dernier élément « ingredient » Nombre des ingredients

Références http://www.gchagnon.fr/cours/xml/fonctionsxpath.html http://www.dil.univ-mrs.fr/~tichit/java/CoursXML_2.1_XPath.pdf https://www.lri.fr/~benzaken/documents/slxpath.pdf