Bases de données documentaires et distribuées Cours NFE04



Documents pareils
Module BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr

NFE204 Bases de données avancées

Bases de données documentaires et distribuées Cours NFE04

Bases de données documentaires et distribuées Cours NFE04

Bases de données documentaires et distribuées Cours NFE04

Bases de données documentaires et distribuées Cours NFE04

Bases de données avancées Introduction

BASE DE DONNÉES XML NATIVE

BASE DE DONNÉES XML NATIVE

Gestion de données incertaines et de leur provenance

Faculté Polytechnique de Mons. Le processus d Extraction, Transformation et Load (ETL) dans des entrepôts de données XML

Document Object Model (DOM)

Langage SQL : créer et interroger une base

Master d Informatique Corrigé du partiel novembre 2010

Programmation des Applications Réparties. Parsers XML DOM et SAX

Programmation Web. Madalina Croitoru IUT Montpellier

4. SERVICES WEB REST 46

BD et XML : Exercices

La base de données XML exist. A. Belaïd

Acronymes et abréviations. Acronymes / Abbréviations. Signification

Initiation à la Programmation en Logique avec SISCtus Prolog

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau

Jean-François Boulicaut & Mohand-Saïd Hacid

Générer du code à partir d une description de haut niveau

XML et Bases de données. Les bases de données XML natives.

Bases de données documentaires et distribuées Cours NFE04

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

XML et recherche d information

Créer le schéma relationnel d une base de données ACCESS

Introduction aux «Services Web»

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions

Je catalogue, tu FRBRises, il/elle googlise. L évolution des catalogues et les bibliothécaires Vendredi 29 mars 2013 Manufacture des tabacs

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014

Gestion documentaire (Extraits du CCI version 1.2)

Bases de données et sites WEB Licence d informatique LI345

Annexe C Spécification pour les fichiers importés en format XML

SQL Parser XML Xquery : Approche de détection des injections SQL

Groupe Eyrolles, 2004 ISBN :

Tutorial NL220. Objectifs : Fournir un guide utilisateur pour NL220. Présenter une méthodologie efficace pour la création de projet

TARIFS PIETONS SAISON PEDESTRIAN RATES SEASON 2014/2015 TARIFS ASSURANCE CARRE NEIGE CARRE NEIGE INSURANCE RATES 2014/2015

Avertissement. La Gestion Electronique de Documents

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition

DevTest Solutions. Référence. Version 8.0

Crawl intelligent et adaptatif d applications web pour l archivage du web

Une méthode d apprentissage pour la composition de services web

Design et implémentation d un logiciel de validation et de génération de configurations réseaux

Présentation du langage et premières fonctions

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

MODERN LANGUAGES DEPARTMENT

Systèmes d information et bases de données (niveau 1)

Exemple de recherche documentaire

< _155_0>

DNS : Domaine Name System

OASIS Date de publication

Introduction aux concepts d ez Publish

Les ontologies pour l intégration sémantique : enjeux et défis

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

et Active Directory Ajout, modification et suppression de comptes, extraction d adresses pour les listes de diffusion

Configuration du serveur FTP sécurisé (Microsoft)

0.1 Mail & News : Thunderbird

Pharmed. gestion de pharmacie hospitalière. Installation / déploiement

Once the installation is complete, you can delete the temporary Zip files..

Big Data et Graphes : Quelques pistes de recherche

Petit guide pour l installation de CVW sous Linux

THE LAW SOCIETY OF UPPER CANADA BY-LAW 19 [HANDLING OF MONEY AND OTHER PROPERTY] MOTION TO BE MOVED AT THE MEETING OF CONVOCATION ON JANUARY 24, 2002

Exemples de reque tes dans data.bnf.fr

UNIVERSITY OF MALTA FACULTY OF ARTS. French as Main Area in an ordinary Bachelor s Degree

Automatisation de l administration système

Bibliothèque numérique de l enssib

Gérer ses environnements de développement avec Vagrant RMLL 2012

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch

Création d objet imbriqué sous PowerShell.

Rapport de stage. Titre : Aide à la conception d interfaces et déploiement d un site d administration de tables SQL Stagiaire : Julien LE GALL

AUTORISATION PARENTALE SAISON

Devenez un véritable développeur web en 3 mois!

Plateforme PAYZEN. Définition de Web-services

Open Source Job Scheduler. Installation(s)

Recycle Bin (Corbeille Active directory)

i-depots i-gedexpert i-compta i-bureau

Installation de SCCM 2012 (v2)

Sélection du contrôleur

Table des matières. 1. Installation de VMware ESXI Pré-requis Installation... 3

Interest Rate for Customs Purposes Regulations. Règlement sur le taux d intérêt aux fins des douanes CONSOLIDATION CODIFICATION

Les modes de recherche sur le Web 2.0

Mise en place d un serveur trixbox sur un domaine Kwartz. Version 1.0 du 25 juin 2012 Lycée Polyvalent d Artois, Noeux les Mines Adrien Bonnel

bbc Launch Pad Juillet 2011 Version 10.0

Cours de Génie Logiciel

Cours 1. I- Généralités sur R II- Les fonctions de R et autres objets III-Les vecteurs

PROGRAMME ESTIVAL DE REVISIONS ET DE LECTURE

Gérer son DNS. Matthieu Herrb. tetaneutral.net. Atelier Tetaneutral.net, 10 février

Mesurer les performances (CPU) sous Linux

TP 1. Prise en main du langage Python

ONTARIO Court File Number. Form 17E: Trial Management Conference Brief. Date of trial management conference. Name of party filing this brief

SCI6052 Information documentaire numérique École de bibliothéconomie et des sciences de l information

PUBMED. Vous pouvez rentrer l adresse de ce support dans vos favoris :

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG

MISE EN PLACE D UNE SOLUTION DE SURVEILLANCE PERMETTANT DE SUPERVISER LES BASES DE DONNÉES

Transcription:

Bases de données documentaires et distribuées Cours NFE04 Le langage XPath: les axes Auteurs : Raphaël Fournier-S niehotta, Philippe Rigaux prénom.nom@cnam.fr Département d informatique Conservatoire National des Arts & Métiers, Paris, France

Plan du cours

Les axes dans XPath (déf. W3C) Axis name child attribute ancestor ancestor-or-self descendant descendant-or-self following following-sibling namespace parent preceding preceding-sibling self Semantics Selects all children of the current node (défaut) Selects all attributes of the current node Selects all ancestors of the current node Selects all ancestors of the current node and the current node itself Selects all descendants of the current node Selects all descendants of the current node and the current node itself Selects everything in the document defined after the closing tag of the current node Selects all siblings after the current node Selects all namespace nodes of the current node Selects the parent of the current node Selects everything in the document that is defined before the start tag of the current node Selects all siblings before the current node Selects the current node

Illustration : un document XML 1 <?xml version="1.0" encoding="iso 8859 1"?> 2 <library> 3 < year="2010"> 4 <>Web Data and Distribution</> 5 <>S. Abiteboul</> 6 <>I. Manolescu</> 7 <> Rigaux</> 8 <>M. C. Rousset</> 9 <> Senellart</> 10 11 < year="2007"> 12 <>Database Systems</> 13 <>R. Ramakrishnan</> 14 <>J. Gehrke</> 15 16 </library> Listing 1 Fichier twos.xml Test Quelle est la forme arborescente (DOM) de ce document?

Quelques axes en exemple Prenons l exemple de l arbre DOM suivant : library "2010" "2007" Web Data and Distribution S. Abiteboul I. Manolescu Rigaux M.-C. Rousset Senellart Database Systems R. Ramakrishnan J. Gehrke

Child Quelques axes en exemple : child child : tous les enfants du nœud courant. child est l axe par défaut, on peut l omettre dans les expressions. library "2010" "2007" Web Data and Distribution S. Abiteboul I. Manolescu Rigaux M.-C. Rousset Senellart Database Systems R. Ramakrishnan J. Gehrke

Child Quelques axes en exemple : child child : tous les enfants du nœud courant. library "2010" "2007" Web Data and Distribution S. Abiteboul I. Manolescu Rigaux M.-C. Rousset Senellart Database Systems R. Ramakrishnan J. Gehrke

Child Quelques axes en exemple : child child : tous les enfants du nœud courant. library "2010" "2007" Web Data and Distribution S. Abiteboul I. Manolescu Rigaux M.-C. Rousset Senellart Database Systems R. Ramakrishnan J. Gehrke

Child Quelques axes en exemple : child child : tous les enfants du nœud courant. library "2010" "2007" Web Data and Distribution S. Abiteboul I. Manolescu Rigaux M.-C. Rousset Senellart Database Systems R. Ramakrishnan J. Gehrke

Attribute Quelques axes en exemple : attribute attribute : sélectionne les attributs du nœud courant. attribute peut s abréger en "@". Un attribut n est pas un enfant de son nœud élément. library "2010" "2007" Web Data and Distribution S. Abiteboul I. Manolescu Rigaux M.-C. Rousset Senellart Database Systems R. Ramakrishnan J. Gehrke

Attribute Quelques axes en exemple : attribute attribute : sélectionne les attributs du nœud courant. library "2010" "2007" Web Data and Distribution S. Abiteboul I. Manolescu Rigaux M.-C. Rousset Senellart Database Systems R. Ramakrishnan J. Gehrke

Attribute Exemple /child::library/child::*/@year S abrège en : /library/*/@year Root <!- ceci > <library> </library> "1857" "1862" "1877" <> </> <> </> <> <> ln = "Besancon" </> </> ln = "Paris" <> </> <> </> Charles Baudelaire Les fleurs du mal Victor Hugo Les miserables Emile Zola L assomoir

Attribute Exemple (suite) /library/*/@year Root <!- ceci > <library> </library> "1857" "1862" "1877" <> </> <> </> <> <> ln = "Besancon" </> </> ln = "Paris" <> </> <> </> Charles Baudelaire Les fleurs du mal Victor Hugo Les miserables Emile Zola L assomoir

Attribute Exemple (suite) /library/*/@year Root <!- ceci > <library> </library> "1857" "1862" "1877" <> </> <> </> <> <> ln = "Besancon" </> </> ln = "Paris" <> </> <> </> Charles Baudelaire Les fleurs du mal Victor Hugo Les miserables Emile Zola L assomoir

Attribute Exemple (suite) /library/*/@year Root <!- ceci > <library> </library> "1857" "1862" "1877" <> </> <> </> <> <> ln = "Besancon" </> </> ln = "Paris" <> </> <> </> Charles Baudelaire Les fleurs du mal Victor Hugo Les miserables Emile Zola L assomoir

Attribute Exemple (suite) /library/*/@year Root <!- ceci > <library> </library> "1857" "1862" "1877" <> </> <> </> <> <> ln = "Besancon" </> </> ln = "Paris" <> </> <> </> Charles Baudelaire Les fleurs du mal Victor Hugo Les miserables Emile Zola L assomoir

Tests et prédicats Plan du cours

Tests et prédicats Test de nœud Les tests de nœuds Test du type du nœud : node() sélectionne les nœuds quelque soit leur type (élément, nœud texte, processing-instruction) text() sélectionne les nœuds de type texte comment() sélectionne les nœuds de type commentaire processing-instruction() sélectionne les nœuds de type proc-instruction Test de nom : name sélectionne les éléments ou attributs de noms name * sélectionne les nœuds nommés (Element ou Attribute), quel que soit le nom.

Tests et prédicats Test de nœud Expressions complètes avec child Revenons sur child. child::para sélectionne l élément de nom para, enfant du nœud courant. child::* sélectionne tous les Elements enfants du nœud courant (pas les nœuds Text). child::text() sélectionne tous les nœuds Text enfants du nœud courant. child::node() sélectionne tous les Elements enfants du nœud courant, quel que soit leur type.

Tests et prédicats Test de nœud Mise en jambe Test Que cherchent à calculer les expressions suivantes? Donner les résultats de leurs évaluations sur le fichier twos.xml. /child::library /child::*/child::/child::/child::text() /child::library/child::/attribute::* /child::library/child::/attribute::year /descendant:: /child::*/descendant::library /descendant::/child::

Tests et prédicats Les prédicats Les prédicats Un prédicat est une condition filtrant un ensemble contexte (ne garde que les nœuds (sous-arbres) satisfaisant la condition). Contraintes booléennes (combinaison logique (and, or, not) de contraintes plus simples) : Comparaisons child::biblio/child::livre[attribute::isbn= 0262-01210-3 ]/child::s Existence d un attribut ou d un élément document[child::date] personne[attribute::date_naissance] Exemples (W3C) : child::employee[child::secretary or child::assistant] descendant::toy[not(attribute::color = "red") and attribute::country= "China"]

Tests et prédicats Les prédicats Evaluation des prédicats Une petite subtilité Si l expression est une véritable expression booléenne, pas de soucis /inventory/drink/lemonade[child::amount>15] Si le résultat du prédicat ou si le prédicat est un nombre, le résultat du prédicat est converti à true si le nombre est égal à la position dans le contexte d évaluation (sinon false) Ainsi, para[3] est équivalent à para[position()=3].

Tests et prédicats Les prédicats Zoom sur les prédicats utilisant la fonction position() <library> < year="2010"> <>Web Data and Distribution</> <>S. Abiteboul</> <>I. Manolescu</> <> Rigaux</> <>M. C. Rousset</> <> Senellart</> < year="2007"> <>Database Systems</> <>R. Ramakrishnan</> <>J. Gehrke</> </library> Listing 2 Extrait de twos.xml Example /child::library/child::/child::[position()=1] Test Quel est le résultat de l évaluation de cette requête appliquée au document twos.xml?

Tests et prédicats Les prédicats Zoom sur les prédicats utilisant la fonction position() <library> < year="2010"> <>Web Data and Distribution</> <>S. Abiteboul</> <>I. Manolescu</> <> Rigaux</> <>M. C. Rousset</> <> Senellart</> < year="2007"> <>Database Systems</> <>R. Ramakrishnan</> <>J. Gehrke</> </library> Listing 3 Extrait de twos.xml Example /child::library/child::/child::[position()=last()] Test Quel est le résultat de l évaluation de cette requête appliquée au document twos.xml?

Tests et prédicats Les prédicats Zoom sur les prédicats utilisant la fonction position() <library> < year="2010"> <>Web Data and Distribution</> <>S. Abiteboul</> <>I. Manolescu</> <> Rigaux</> <>M. C. Rousset</> <> Senellart</> < year="2007"> <>Database Systems</> <>R. Ramakrishnan</> <>J. Gehrke</> </library> Listing 4 Extrait de twos.xml Example /child::library/child::/child::[position()=3] Test Quel est le résultat de l évaluation de cette requête appliquée au document twos.xml?

Tests et prédicats Les prédicats Zoom sur les prédicats utilisant la fonction position() <library> < year="2010"> <>Web Data and Distribution</> <>S. Abiteboul</> <>I. Manolescu</> <> Rigaux</> <>M. C. Rousset</> <> Senellart</> < year="2007"> <>Database Systems</> <>R. Ramakrishnan</> <>J. Gehrke</> </library> Listing 5 Extrait de twos.xml Example /child::library/child::[position()=2]/child:: Test Quel est le résultat de l évaluation de cette requête appliquée au document twos.xml?

Tests et prédicats Les prédicats Zoom sur les prédicats utilisant la fonction position() <library> < year="2010"> <>Web Data and Distribution</> <>S. Abiteboul</> <>I. Manolescu</> <> Rigaux</> <>M. C. Rousset</> <> Senellart</> < year="2007"> <>Database Systems</> <>R. Ramakrishnan</> <>J. Gehrke</> </library> Listing 6 Extrait de twos.xml Example /child::library/child::/child::*[position()=1] Test Quel est le résultat de l évaluation de cette requête appliquée au document twos.xml?