Xpath XML Path language par Yves Bekkers

Slides:



Advertisements
Présentations similaires
Données structurées et XML
Advertisements

XML.
1 3.Langage XSL = XSLT + XSL-FO transformationFormatage.
Transformation de documents XML
DTD Sylvain Salvati
Le langage de requêtes SPARQL SPARQL Protocol And RDF Query Language
Cours MIAGE Henry Boccon-Gibod 1 XML, langage de structuration documentaire Langage de transformation et langage d'interrogation.
Données structurées et XML
Cours 2 : Transformation de documents XML
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
Nicolas Singer Maître de conférence, université Champollion
Tutoriel XSLT F. Sajous ERSS – 01/04/2005.
Manipulation d’XML avec XSL
Introduction : Compilation et Traduction
CREATION DE FEUILLE DE STYLE pour structuré le document XML
On parle darbre de recherche dune question *Racine de larbre : question *Nœuds : points de choix (formule à démontrer) *Passage dun nœud vers son fils.
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
OCaml – Les arbres L3 MI.
Introduction à DOM Maroua Bouzid
Xml/xslt : Extensible Stylesheet Language Transformation réalisé par: saÏd NAÏM.
L’utilisation des bases de données
Introduction à la structuration des documents: les techniques M2: Gestion des connaissances.
XML: Syntaxe XML, DTD et Schémas
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Le langage Javascript pour le web
Conservatoire National des Arts et des Métiers de Paris Représentation et édition de documents XML.
XSLT Langage de transformation darbre par Yves Bekkers.
XML : concours d’acronymes ou futur standard ?
STAF 2X XSL/FO Glaus & Ruckstuhl Mars © Glaus & Ruckstuhl TECFA Programme du 18 et 19 mars Revision XML Introduction à XSL/FO (intérêts et.
Semaine #1 INF130 par Frédérick Henri.
Semaine #1 INF135 par Frédérick Henri.
1 PHP 1.Langage PHP 1.1. Types de base, variables et constantes 1.2. Opérateurs et expressions 1.3. Instructions 1.4. Fonctions 2.Accès aux bases de données:
Partie II Sémantique.
Description de documents XML multistructurés au moyen de nœuds retards Jacques Le Maitre LSIS Université du Sud Toulon-Var.
1 Couplage dun langage de contrôle de formatage avec un système de formatage existant DEA ISC : 1 avril 2003 Fateh Boulmaiz
XML Plan du cours Introduction au fichier XML
Données sous XML Stéphane Marchand-Maillet Groupe Viper Vision par Ordinateur et Multimédia CUI – Université de Genève
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.
JavaScript.
Le langage XML.
XPath XML Path UP Web Année universitaire
Programmation Web : Schémas XSD Jérôme CUTRONA 19:27:07 Programmation Web
Technologies web et web sémantique TP3 - XML. XML eXtensible Markup Language (langage extensible de balisage) – Caractéristiques: méta-langage = un langage.
Publication et Traitement avec XSL
Copyright © 2005 Yves MARCOUX1 Concepts XML de base Yves MARCOUX EBSI - Université de Montréal.
MJ. Blin et M. CsernelPoleInfo31 XML et ses environnements Documents XML bien formés Prologue Arbre d'éléments Attributs Commentaires Entités internes.
Sélection de colonnes (la projection)
Introduction à XML Yves Bekkers. Plan Introduction - structurer l’information Les langages à balises - un peu d’histoire XML - concepts de base Outils.
 G. Gardarin Les outils de base: Publication avec XML 1. XPATH 2. XSLT 3. XSLFO 4. XLink, XForms, RSS, … 5. XML et la bureautique.
Soutenance du mémoire de synthèse
Module : Langage XML (21h)
Modélisation des documents: DTD et Schéma
XPath Intro 1 Notation 2 Exemples 3 Utilisations de XPath
GENIE MULTIMEDIA Restitution de documents CSS Christine Vanoirbeek EPFL – IC – CGC Bâtiment BC (Station 14) 1015 LAUSANNE
Chap 1 Grammaires et dérivations.
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
XML : un métalangage pour la description de documents structurés XML a été défini par le consortium W3 en fonction de 2 objectifs: Compenser les limitations.
XSLT. Les documents XML peuvent avoir dans leur prologue une instruction de traitement xml-stylesheet. Cette instruction de traitement indique au navigateur.
XQuery Une extension de Xpath à la mode SQL Un concurrent d'XSLT ? Yves Bekkers Mise à jour : 30 mai 2016.
Extensions à la spécification XML Le "plus petit cercle" XML Yves Bekkers Mise à jour : 9 octobre 2003.
XPath XML Path language Yves Bekkers Mise à jour : 9 octobre 2003.
SMIL - Yves bekkers - IFSIC1 SMIL Synchronized Multimedia Integration Language par Yves Bekkers.
Transcription de la présentation:

Xpath XML Path language par Yves Bekkers

Plan Pourquoi Xpath ? Syntaxe des expressions de chemin Quelques exemples Opérandes et opérateurs Conclusion

Pourquoi XPath

Déplacements dans un document XML Xpath : Un langage fonctionnel pour adresser les sous-arbres d'un arbre XML Norme utilisée dans de nombreux outils XML XSLT : langage de transformation d'arbre XML Xlink : outils de définition de liens XQuery : langage d'interrogation de documents

Transformation XSLT

Problème de repérage Au sein des feuilles de style XSLT on doit désigner les branches de l’arbre d’entrée (document source) Repère 2 Repère 1 Solution : « expression de chemin »

Chemin absolu Codepostal de la carte de visite : /cartedeVisite/adresse/ville/@codepostal

Chemin relatif A partir du numéro, la note : ../../note

Racine d’un document La racine d’un document est au dessus de l’élément racine du document, elle contient des commentaires éventuels des instructions de traitements éventuelles un et un seul élément (l’élément racine)

Type de nœud d’un arbre XPath 1. Nœud « élément » /carteDeVisite/note 2. Pseudo-nœud « attribut » /carteDeVisite/adresse/ville/attribute::codepostal /carteDeVisite/adresse/ville/@codepostal 3. Nœud « texte » /carteDeVisite/note/clé/text() 1 2 3 1 2 3

Autres types de nœud Nœud commentaire Nœud instruction de traitement <!-- ceci est un commentaire --> Nœud instruction de traitement <?xml-stylesheet type="text/xsl" href="C:\Abekkers\outils\xml2tree\xml2svg.xslt"?> Partie name() Partie text()

Syntaxe des expressions de chemin

Expression de chemin séquence d’étapes Chemin absolu Chemin relatif /étape1/étape2/étape3/... Chemin relatif étape1/étape2/étape3/...

Étape Une étape est composée de trois parties axe de déplacement (optionnel) test de nœud (obligatoire) prédicat (optionnel) 

Syntaxe d’une section Exemple La partie test de nœud est obligatoire child::text()[position()=1] carteDeVisite[nom=’Bekkers’] comment() ancestor::nom attribut::codepostal La partie test de nœud est obligatoire La partie axe se termine par :: La partie prédicat est délimitée par […] axe test prédicat

Axes de déplacement + attribute

Partie test Un test c’est : Un nom d’élément, exemple : ville, prénom * : n’importe quel élément text() comment() processing-instruction() processing-instruction(nom) node() identique à l’union de *, text(), comment() et de

Filtrage à l’aide du prédicat Une expression Xpath s’évalue en un ensemble de nœuds /html/body/p 1 1 Filtrage par la position /html/body/p[position()=1] /html/body/p[position()=last()] Filtrage par le contenu /html/body/p[em]

Quelques raccourci

Quelques exemples

Quelques exemples //note/text() //note/text()[position()=1] 2 1 1 3 //note/text() //note/text()[position()=1] //nom[.=’Bekkers’] 1 2 3

Quelques exemples

Quelques exemples - suite

Opérandes et opérateurs

Constantes Chaînes Valeurs numériques 'Paris' "That's rubbish" 'He said "Boo"' Valeurs numériques 12, 3.05, - 5.25

Prédicat - exemples [@codepostal=’35700’] [.=’Bekkers’] [nom=’Bekkers’] [position()=last()-1] [not(position()=1)]

Opérateurs Expression numériques : Expression booléenne : +, -, *, div, mod position(), last(), count(nds), string-length(expr) Expression booléenne : or, and, not(...), false(), true(), boolean(...), =, !=, <, <=, >= (à écrire < et >) Expression nœud id(chaîne)

Opérateurs (suite) Expressions chaîne string(exp) concat(exp1, exp2, …) substring(expr,start), substring(expr,start,length) substring-before(expr,expr) substring-after(expr,expr)

Générateur d’identificateur generate-id(expr) génère automatiquement un identificateur XML spécifique au premier nœud de l’ensemble de nœuds donné par l’expression generate-id() génère automatiquement un identificateur XML spécifique au nœud courant

Fonction generate-id() Propriétés L’ordre alphabétique des identificateurs est le même qui l’ordre des nœuds dans le document Si generate-id(A) est un préfixe de generate-id(B), alors A est un ancêtre de B L’identificateur est unique au sein de tous les documents ouverts durant l’exécution.

Opérateur union Tous les éléments pere ou mere du document //pere | //mere

Séquence de plusieurs prédicats le dernier fils du nœud courant pourvu que ce soit un élément « ville » ou un élément « rue » [last()][ville or rue] le dernier des fils « ville » ou « rue » du nœud courant [ville or rue][last()]

SELECT DISTINCT de SQL tous les premiers éléments "ville" du document différents les uns des autres //ville[not(text()=preceding::ville/text())] équivalent de not in

Conclusion

Conclusions Xpath est puissant et indispensable permet d’adresser n’importe quel nœud d’un document par sa position ou par contexte Mais Xpath n’est pas fait pour remplacer SQL et les bases de données efficacité ? Dans une feuille de style XSLT, Xpath est rarement employé dans toute sa généralité