Documente Academic
Documente Profesional
Documente Cultură
XML
XPath
XLink
XQuery
Conclusion
XML
M1 SIGE Nicolas Travers
Universit e Cergy-Pontoise
2 mai 2007
Nicolas Travers
XML
HTML
XML
XPath
XLink
XQuery
Conclusion
Plan
1
HTML
XML
XPath
XLink
XQuery
Conclusion
HTML Hypertexte Meta Language Caract eristiques Elements CSS XML XPath XLink XQuery Conclusion
Nicolas Travers XML
HTML
XML
XPath
XLink
XQuery
Conclusion
HTML
Denition an approach to information management in which data is stored in a network of nodes connected by linkk. Nodes can contain text, graphics, audio, video as well as source code or other forms of data. [Smith & Weiss, 1988]. Texte avec des liens vers dautres documents Lecture non s equentielle
Navigation est importante (di erents browsers) Lost in cyberspace
Inclusion de di erents m edias comme image, vid eo et son Web : de plus en plus interactif
Nicolas Travers XML
XML
XPath
XLink
XQuery
Conclusion
Caract eristiques
D ecrit les elements sur un page Web, pour que le browser puisse les acher selon les besoins dun utilisateur
Pas de layout xe Nombre limit e d elements Avantages : Tout sache partout, longues pages possibles, ... Probl` eme : Achage di erent selon browser, pas statique
XML
XPath
XLink
XQuery
Conclusion
Exemple en image
Nicolas Travers
XML
XML
XPath
XLink
XQuery
Conclusion
Exemple simple
<HTML> <HEAD> <TITLE> Titre de la fen etre </TITLE> </HEAD> <BODY> <h1>Titre en haut de la page</h1> Texte de la page </BODY> </HTML>
Langage de base pour cr eer des pages Webs Liens Formats, Images, etc Souvent fait avec outils qui cr eent un mauvais code (Dreamweaver)
Nicolas Travers XML
HTML Elements
XML
XPath
XLink
XQuery
Conclusion
Elements
Titres 1-6
<H1>Heading 1</H1>
Listes
<UL> <LI>Monday</LI> <LI>Tuesday</LI> <LI>Wednesday</LI> <LI>Thursday</LI> <LI>Friday</LI> </UL>
HTML Elements
XML
XPath
XLink
XQuery
Conclusion
Elements
Liens :
<A HREF=http ://www.hcuge.ch/>nom du lien</A>
Images :
<IMG SRC=/ ntravers/cv/nicolas-identite.jpg> <IMG SRC=/ ntravers/cv/nicolas-identite.jpg ALT=Warning ! ! !/> <IMG SRC=/ ntravers/cv/nicolas-identite.jpg ALIGN=right> Attribut taille : width, height en pixels
Formats :
Gras : <b>texte</b> Italics : <i>texte </i> Typewrite : <tt>texte</tt>
Nicolas Travers
XML
HTML Elements
XML
XPath
XLink
XQuery
Conclusion
Elements
Tableaux :
d eclaration : <table> nouvelle ligne : <tr> nouvelle colonne : <td> exemple :
<table> <tr> <td>1 col</td><td>2 col</td> </tr> </table>
Nicolas Travers
XML
HTML Elements
XML
XPath
XLink
XQuery
Conclusion
Exemple en image
Nicolas Travers
XML
HTML CSS
XML
XPath
XLink
XQuery
Conclusion
Nicolas Travers
XML
HTML CSS
XML
XPath
XLink
XQuery
Conclusion
Possibilit es dachage
Nicolas Travers
XML
HTML
XML
XPath
XLink
XQuery
Conclusion
HTML XML eXtensible Meta Language Cr eer un document XML DTD Sch ema XML Sur le Web eXtensible Stylesheet Language XPath XLink XQuery
Nicolas Travers XML
HTML
XML
XPath
XLink
XQuery
Conclusion
Histoire
XML -eXtensible Markup Language
Version 1.0 : 10.2.1998
But principal :
Structurer linformation dune mani` ere standard Echange dinformation (commerce electronique)
Nicolas Travers
XML
HTML
XML
XPath
XLink
XQuery
Conclusion
Limites
Limites de HTML
HTML a et e et reste un succ` es fantastique Con cu pour acher du texte dans un browser Web. Manque de v erication syntaxique (pas de validation) Manque de structure et contenu s emantique Absence dun m ecanisme de liens robuste Non extensible
HTML
XML
XPath
XLink
XQuery
Conclusion
Exemple de document
< ?xml version=1.0 ?> <catalog> <book genres=roman isbn=123456789> <title>Lassassin du roi</title> <author>Robin Hobb</author> <price currency=euros>16,26</price> </book> <book genres=roman> <title>La nef du cr epuscule</title> <author>Robin Hobb</author> </book> <book genres=roman> <title>Les secrets de Castelcerf</title> </book> </catalog>
Nicolas Travers
XML
HTML
XML
XPath
XLink
XQuery
Conclusion
Buts
Nicolas Travers
XML
HTML
XML
XPath
XLink
XQuery
Conclusion
Quapporte XML ?
Modularit e : combinaisons de fragments de DTDs et de documents Extensibilit e : cible du lien pas n ecessairement dans lobjet (pas forc ement de droits d ecriture), nouvelles applications Distribution : notion de document composite, dont le contenu est cr e e automatiquement : s eparation contenu / pr esentation Internationalit e : bas e sur Unicode (et non ASCII) Orient e donn ees : doit etre facilement lisible par les machines (cr eation facile par les machines, pour le commerce electronique) But : faciliter le traitement automatis e des donn ees
Nicolas Travers XML
HTML
XML
XPath
XLink
XQuery
Conclusion
Contexte
XML : Repr esentation de donn ees XHTML : HTML aux normes de XML DTD : Document Type Denition (Structure) XSD : XML Schema Denition (DTD en XML) XPath : Structuration du Parsing (Parcours) XSL : eXtensible Stylesheet Language (Traitement) DOM : Document Object Model (Mod` ele de donn ees) XQuery : Query Language ...
Nicolas Travers
XML
HTML
XML
XPath
XLink
XQuery
Conclusion
Applications XML
Scalable Vector Graphics (SVG)
(dessin) (software description) (trading software) (Speech synthetizer)
The Internet Open Trading Protocol (OTP) The Java Speech Markup Language (JSML) The Health Level 7 (HL7)
The Open Financial Exchange Specication (OFE) The Handheld Device Markup Language (HDML) The Channel Denition Format (CDF) Visual XML (VXML)
(modify DTD and XML documents)
The Signed Document Markup Language (SDML) The Translation Mempry Exchange (TMX) Really Simple Syndication (RSS) Simple API for XML (SAX) (ou xerces)
Nicolas Travers
XML
HTML
XML
XPath
XLink
XQuery
Conclusion
Syntaxe
Similaire ` a HTML <balise attribut=valeur>Contenu</balise> Fermeture / balise Structuration hi erarchique (arbres)
Une seule racine pour larbre
El ement=sous-arbre El ement vide : <balise attribut=valeur/> attribut=valeur, Guillemets sont importants Commentaires :
< !ceci est un commentaire jusquici >
Nom dattributs en minuscules, noms uniques Caract` eres interdits ou d econseill es ($ ; +,-)
Nicolas Travers XML
HTML
XML
XPath
XLink
XQuery
Conclusion
Document XML
D eclaration xml < ?xml ?>
version=1.0 Encodage encoding=UTF-8 standalone=yes
Processing Instructions, traitement du XML (param` etres pour applications) D eclaration du type du document
DTD/Schema
Nicolas Travers
XML
HTML
XML
XPath
XLink
XQuery
Conclusion
catalog book
genres="roman" isbn="123456789"
book
genres="roman"
book
genres="roman"
title
"Lassassin du roi"
author
"Robin Hobb"
price
currency="euros" "16,26"
title
"La nef du crpuscule"
author
"Robin Hobb"
title
"Les secrets de Castelcerf"
Nicolas Travers
XML
HTML DTD
XML
XPath
XLink
XQuery
Conclusion
HTML DTD
XML
XPath
XLink
XQuery
Conclusion
DTD exemple
< ?xml version=1.0 ?> < !DOCTYPE catalog [ < !ELEMENT catalog (book+)> < !ELEMENT book (title,author,price)> < !ATTLIST book genres CDATA> < !ATTLIST book isbn CDATA> < !ELEMENT title (#PCDATA)> < !ELEMENT author (#PCDATA)> < !ELEMENT price (#PCDATA)> < !ATTLIST price currency CDATA> ]>
Nicolas Travers
XML
HTML DTD
XML
XPath
XLink
XQuery
Conclusion
Types
Nud et sa structure : ELEMENT (...) Type dune donn ee : #PCDATA Contenu alternatif : .. | .. | ..
Nicolas Travers
XML
HTML DTD
XML
XPath
XLink
XQuery
Conclusion
Nicolas Travers
XML
HTML DTD
XML
XPath
XLink
XQuery
Conclusion
Occurences
Nicolas Travers
XML
XML
XPath
XLink
XQuery
Conclusion
XML-schema
DTD parfois inadapt ees Peu de possibilit es de v erier les donn ees ` a lint erieur dun el ement La DTD nest pas un document XML ni SGML, elle a une syntaxe particuli` ere
Apprentissage plus long Ne b en ecie pas de lautomatisation
Besoin dun sch ema XML qui permette de mieux contr^ oler les donn ees tout en partageant la syntaxe XML
Nicolas Travers
XML
XML
XPath
XLink
XQuery
Conclusion
D enition
Un sch ema : Sp ecie la syntaxe dune classe de documents XML D enit les el ements et attributs, ainsi que les contraintes sur les valeurs de ceux-ci Est contenu dans un el ement du genre : <xsd :schema xmlns :xsd=http ://www.w3.org/1999/XMLSchema> ... </xsd :schema>
Nicolas Travers
XML
XML
XPath
XLink
XQuery
Conclusion
Contenu
Contenu : cha ne de caract` eres, nombre, ... <xsd :element name=auteur type=xsd :string minOccurs=1 />
Nicolas Travers
XML
XML
XPath
XLink
XQuery
Conclusion
Elements complexes
<xsd :element name=book > <xsd :complexType content=elementOnly> <xsd :attribute name=genres type=xsd :string use=required /> <xsd :element name=title type=xsd :string minOccurs=1 /> <xsd :element name=author type=xsd :string minOccurs=1 /> <xsd :element name=price type=xsd :price minOccurs=1 /> </xsd :complexType> </xsd :element>
Nicolas Travers
XML
XML
XPath
XLink
XQuery
Conclusion
ComplexType
D enit le contenu de l el ement qui le contient Peut avoir lattribut content, qui indique le type de contenu que l el ement peut avoir : elementOnly textOnly Mixed empty
Nicolas Travers
XML
XML
XPath
XLink
XQuery
Conclusion
XML et le Web
XHTML (eXtensible Hypertext Markup Language)
Reformulation de html 4.0 en XML R` egles plus strictes
Feuilles de style
XSL/XSLT
G en erer des pages Webs en se basant sur des documents XML et des feuilles de style G en eration des chiers html ` a la base de XML Word, LaTeX, PDF, ...
HTML
XML
XPath
XLink
XQuery
Conclusion
XSL / XSLT
S eparation du contenu et de lachage (XML na pas dinfo sur lachage)
html contient cette information
Nicolas Travers
XML
HTML
XML
XPath
XLink
XQuery
Conclusion
XSL Exemple
< ?xml version=1.0 ?> <xsl :stylesheet xmlns :xsl=http ://www.w3.org/1999/XSL/Transform> <xsl :template match=/catalog> <html> <body> <table border=1 cellspacing=0 cellpadding=3> <tr bgcolor=#FFFF00> <td>Titre</td> <td>Auteur</td> </tr> <xsl :for-each select=/catalog/book order-by=title> <tr> <td><xsl :value-of select=title /></td> <td><xsl :value-of select=author /></td> </tr> </xsl :for-each> </table> </body> </html> </xsl :template> </xsl :stylesheet>
Nicolas Travers XML
HTML
XML
XPath
XLink
XQuery
Conclusion
R esultat
Nicolas Travers
XML
HTML
XML
XPath
XLink
XQuery
Conclusion
commandes XSL
templates : <xsl :template match=/catalog> valeur : <value-of select=/price /> boucle : <xsl :for-each select=/catalog/book> appelle de templates : <xsl :apply-templates select=title /> if : <xsl :if test=./author = Robin Hobb> else : <xsl :otherwise> switch : <xsl :choose> <xsl :when test=./author = Robin Hobb>
Nicolas Travers
XML
HTML
XML
XPath
XLink
XQuery
Conclusion
R esultat XML/XSL
Nicolas Travers
XML
HTML
XML
XPath
XLink
XQuery
Conclusion
HTML D enition
XML
XPath
XLink
XQuery
Conclusion
XPath
Langage dinterrogation des documents XML S electionne certaines parties dun document XML
sous-arbres ; noeuds ; attributs ; texte ;
Intervient dans :
XSL/XSLT (format) ; XML-schemas (sch ema avec contraintes) ; XQuery (langage de requ etes) ; XLink (relie plusieurs chiers, cf href) ; XPointer (d esigne une portion de document) ;
Nicolas Travers XML
HTML Syntaxe
XML
XPath
XLink
XQuery
Conclusion
Syntaxe G en erale
Axe de parcours arborescent (avec syntaxes abr eg ees)
enfant : /child : : ou / descendant : /descendant : : ou // parent : /parent : : ../ anc etre : /ancestor : : attribut : /attribut : : ou /@... ...
Pr edicat (restriction)
[@genres=roman] [@isbn>12345]
Nicolas Travers XML
HTML Syntaxe
XML
XPath
XLink
XQuery
Conclusion
XPath exemple
/child : :catalog/child : :book[attribute : :genres=roman] /catalog/book[@genres=roman] (syntaxe abr eg ee)
catalog book
genres="roman" isbn="123456789"
book
genres="roman"
book
genres="roman"
title
"L'assassin du roi"
author
"Robin Hobb"
price
currency="euros" "16,26"
title
"La nef du crpuscule"
author
"Robin Hobb"
title
"Les secrets de Castelcerf"
Nicolas Travers
XML
HTML Syntaxe
XML
XPath
XLink
XQuery
Conclusion
XPath exemple
/child : :catalog/child : :book[attribute : :genres=roman] /catalog/book[@genres=roman] (syntaxe abr eg ee)
book
genres="roman" isbn="123456789"
book
genres="roman"
book
genres="roman"
title
"L'assassin du roi"
author
"Robin Hobb"
price
currency="euros" "16,26"
title
"La nef du crpuscule"
author
"Robin Hobb"
title
"Les secrets de Castelcerf"
Nicolas Travers
XML
HTML Syntaxe
XML
XPath
XLink
XQuery
Conclusion
XPath exemple 2
/child : :catalog/child : :book[child : :author/text()=Robin Hobb]/title /catalog/book[author/text()=Robin Hobb]/title
catalog book
genres="roman" isbn="123456789"
book
genres="roman"
book
genres="roman"
title
"L'assassin du roi"
author
"Robin Hobb"
price
currency="euros" "16,26"
title
"La nef du crpuscule"
author
"Robin Hobb"
title
"Les secrets de Castelcerf"
Nicolas Travers
XML
HTML Syntaxe
XML
XPath
XLink
XQuery
Conclusion
XPath exemple 2
/child : :catalog/child : :book[child : :author/text()=Robin Hobb]/title /catalog/book[author/text()=Robin Hobb]/title
book
genres="roman" isbn="123456789"
book
genres="roman"
title
"L'assassin du roi"
author
"Robin Hobb"
price
currency="euros" "16,26"
title
"La nef du crpuscule"
author
"Robin Hobb"
Nicolas Travers
XML
HTML Syntaxe
XML
XPath
XLink
XQuery
Conclusion
XPath exemple 2
/child : :catalog/child : :book[child : :author/text()=Robin Hobb]/title /catalog/book[author/text()=Robin Hobb]/title
title
"L'assassin du roi"
title
"La nef du crpuscule"
Nicolas Travers
XML
HTML Fonctions
XML
XPath
XLink
XQuery
Conclusion
concat (concatener deux cha nes) ; string-length (taille dune cha ne) ; contains, starts-with, ends-with (tests dappartenance) ; count (nombre de nuds s electionn es) ; name (nom de l el ement) ; position (num ero du nud) ; last (nombre de nuds s electionn e avant) ;
Nicolas Travers
XML
HTML
XML
XPath
XLink
XQuery
Conclusion
HTML XML XPath XLink Hyperliens HTML (rappels) XLL : Extensible Linking Language XQuery Conclusion
Nicolas Travers XML
HTML
XML
XPath
XLink
XQuery
Conclusion
Hyperliens
Association entre : deux parties de texte du texte et un objet un objet et du texte Lien HTML : lien entre une source et une cible Cible : page HTML, ou un el ement dune page HTML, nomm e avec lattribut NAME
Nicolas Travers
XML
HTML
XML
XPath
XLink
XQuery
Conclusion
Nicolas Travers
XML
HTML
XML
XPath
XLink
XQuery
Conclusion
Cibles ressources
donn ees, r esultats de requ ete dans une BD, etc.
Nicolas Travers
XML
HTML
XML
XPath
XLink
XQuery
Conclusion
< ?xml version=1.0 ?> <catalog> <book id=idea1> <xref href=idea2>A rst impression of the subject matter would inevitably lead to the conclusion that ... </xref> </book> <book id=idea2> <xref href=idea1>Contrary to our earlier conclusion, it would appear that the evidence points to a dierent ... </xref> </book> </doc>
Nicolas Travers
XML
HTML
XML
XPath
XLink
XQuery
Conclusion
Liens etendus
Liens pas n ecessairement contenus dans lun des chiers XML reli es par le lien Relier ensemble plusieurs ressources (pas seulement une relation 1-1 comme en HTML) Relier des ressources qui ne contiennent pas les liens elles-m emes (graphiques, sons, documents read-only, non modiables pour inclure les liens) Filtrage dynamique, addition, modication de liens Une application peut traiter les liens selon ses propres besoins
Nicolas Travers
XML
HTML
XML
XPath
XLink
XQuery
Conclusion
<image xlink :type=extended xlink :title=informations disponibles > <html :img src=... xlink :type=resource xlink :role=depart /> <res xlink :type=locator xlink :href=... xlink :role=photographe /> <res xlink :type=locator xlink :href=DetailsPhoto382.xml#DatePrise xlink :role=date /> <res xlink :type=locator xlink :href=Photo382Big.jpg xlink :role=agrandissement /> <res xlink :type=locator xlink :href=Copyright.xml xlink :role=copyright /> <vers xlink :type=arc xlink :from=depart xlink :to=photographe xlink :title=prise par xlink :show=new xlink :actuate=onRequest /> <vers xlink :type=arc xlink :from=depart xlink :to=date xlink :title=date de la prise xlink :show=embed xlink :actuate=onLoad /> <vers xlink :type=arc xlink :from=depart xlink :to=copyright xlink :title=© ; xlink :show=replace xlink :actuate=onRequest /> <vers xlink :type=arc xlink :from=depart xlink :to=agrandissement xlink :title=version 1280x1024 pixels xlink :show=replace xlink :actuate=onRequest /> </image>
Nicolas Travers
XML
HTML
XML
XPath
XLink
XQuery
Conclusion
HTML XML XPath XLink XQuery D enition Exemple de requ ete Conclusion
Nicolas Travers XML
HTML D enition
XML
XPath
XLink
XQuery
Conclusion
Motivations
Etendre linterrogation de XPath 1.0 Namespace
dc :Creator tous les el ements <Creator> appartenant au namespace dc : chapter/@li :title : lattribut title de pr exe li des el ements <chapter>
Comparaisons complexes Quanticateurs (some, every) Op erations ensemblistes Op erations conditionnelles Construction de documents (alternative et compl ement ` a XSLT) Langage fonctionnel semblable ` a SQL, OQL
Nicolas Travers XML
XML
XPath
XLink
XQuery
Conclusion
XQuery
<catalog> <book genres="roman" isbn="123456789" > <title> Lassassin du roi </title> <author> Robin Hobb </author> <price currency="euros" > 16,26 </price> </book> <book genres="roman" > <title> La nef du crpuscule </title> <author> Robin Hobb </author> </book> <book genres="roman" > <title> Les secrets de Castelcerf </title> </book> </catalog>
for $i in doc(cat.xml)/catalog/book where $i//author = Robin Hobb and $i/title = Lassassin du roi return <prix> {$i/price/text()} </prix>
catalog book
genres="roman" isbn="123456789"
book
genres="roman"
book
genres="roman"
title
"Lassassin du roi"
author
"Robin Hobb"
price
currency="euros" "16,26"
title
"La nef du crpuscule"
author
"Robin Hobb"
title
"Les secrets de Castelcerf"
Nicolas Travers
XML
XML
XPath
XLink
XQuery
Conclusion
XQuery
<catalog> <book genres="roman" isbn="123456789"> <title> Lassassin du roi </title> <author> Robin Hobb </author> <price currency="euros" > 16,26 </price> </book> <book genres="roman" > <title> La nef du crpuscule </title> <author>Robin Hobb </author> </book> <book genres="roman" > <title> Les secrets de Castelcerf </title> </book> </catalog>
for $i in doc(cat.xml)/catalog/book where $i//author = Robin Hobb and $i/title = Lassassin du roi return <prix> {$i/price/text()} </prix>
catalog book
genres="roman" isbn="123456789"
book
genres="roman"
book
genres="roman"
title
"Lassassin du roi"
author
"Robin Hobb"
price
currency="euros" "16,26"
title
"La nef du crpuscule"
author
"Robin Hobb"
title
"Les secrets de Castelcerf"
Nicolas Travers
XML
XML
XPath
XLink
XQuery
Conclusion
XQuery
<book genres="roman" isbn="123456789" > <title> Lassassin du roi </title> <author> Robin Hobb </author> <price currency="euros" > 16,26 </price> </book> <book genres="roman" > <title> La nef du crpuscule </title> <author> Robin Hobb </author> </book> <book genres="roman" > <title> Les secrets de Castelcerf </title> </book>
for $i in doc(cat.xml)/catalog/book where $i//author = Robin Hobb and $i/title = Lassassin du roi return <prix> {$i/price/text()} </prix>
book
genres="roman" isbn="123456789"
book
genres="roman"
book
genres="roman"
title
"Lassassin du roi"
author
"Robin Hobb"
price
currency="euros" "16,26"
title
"La nef du crpuscule"
author
"Robin Hobb"
title
"Les secrets de Castelcerf"
Nicolas Travers
XML
XML
XPath
XLink
XQuery
Conclusion
XQuery
<book genres="roman" isbn="123456789" > <title> Lassassin du roi </title> <author> Robin Hobb </author> <price currency="euros" > 16,26 </price> </book> <book genres="roman" > <title> La nef du crpuscule </title> <author> Robin Hobb </author> </book> <book genres="roman" > <title> Les secrets de Castelcerf </title> </book>
for $i in doc(cat.xml)/catalog/book where $i//author = Robin Hobb and $i/title = Lassassin du roi return <prix> {$i/price/text()} </prix>
book
genres="roman" isbn="123456789"
book
genres="roman"
book
genres="roman"
title
"Lassassin du roi"
author
"Robin Hobb"
price
currency="euros" "16,26"
title
"La nef du crpuscule"
author
"Robin Hobb"
title
"Les secrets de Castelcerf"
Nicolas Travers
XML
XML
XPath
XLink
XQuery
Conclusion
XQuery
<book genres="roman" isbn="123456789" > <title> Lassassin du roi </title> <author> Robin Hobb </author> <price currency="euros" > 16,26 </price> </book> <book genres="roman" > <title> La nef du crpuscule </title> <author> Robin Hobb </author> </book>
for $i in doc(cat.xml)/catalog/book where $i//author = Robin Hobb and $i/title = Lassassin du roi return <prix> {$i/price/text()} </prix>
book
genres="roman" isbn="123456789"
book
genres="roman"
title
"Lassassin du roi"
author
"Robin Hobb"
price
currency="euros" "16,26"
title
"La nef du crpuscule"
author
"Robin Hobb"
Nicolas Travers
XML
XML
XPath
XLink
XQuery
Conclusion
XQuery
<book genres="roman" isbn="123456789" > <title> Lassassin du roi </title> <author> Robin Hobb </author> <price currency="euros" > 16,26 </price> </book> <book genres="roman" > <title> La nef du crpuscule </title> <author> Robin Hobb </author> </book>
for $i in doc(cat.xml)/catalog/book where $i//author = Robin Hobb and $i/title = Lassassin du roi return <prix> {$i/price/text()} </prix>
book
genres="roman" isbn="123456789"
book
genres="roman"
title
"Lassassin du roi"
author
"Robin Hobb"
price
currency="euros" "16,26"
title
"La nef du crpuscule"
author
"Robin Hobb"
Nicolas Travers
XML
XML
XPath
XLink
XQuery
Conclusion
XQuery
<book genres="roman" isbn="123456789" > <title> Lassassin du roi </title> <author> Robin Hobb </author> <price currency="euros" > 16,26 </price> </book>
for $i in doc(cat.xml)/catalog/book where $i//author = Robin Hobb and $i/title = Lassassin du roi return <prix> {$i/price/text()} </prix>
book
genres="roman" isbn="123456789"
title
"Lassassin du roi"
author
"Robin Hobb"
price
currency="euros" "16,26"
Nicolas Travers
XML
XML
XPath
XLink
XQuery
Conclusion
XQuery
16,26
for $i in doc(cat.xml)/catalog/book where $i//author = Robin Hobb and $i/title = Lassassin du roi return <prix> {$i/price/text()} </prix>
price
currency="euros" "16,26"
Nicolas Travers
XML
XML
XPath
XLink
XQuery
Conclusion
XQuery
<prix> 16,26 </prix>
for $i in doc(cat.xml)/catalog/book where $i//author = Robin Hobb and $i/title = Lassassin du roi return <prix> {$i/price/text()} </prix>
prix
"16,26"
Nicolas Travers
XML
XML
XPath
XLink
XQuery
Conclusion
Exemples
Imbrication :
for $i in doc(cat.xml)/catalog/book return <livre> { for $j in $i/title return {$j} } </livre>
Quanticateur :
for $i in doc(cat.xml)/catalog/book where every $s in $i/price satises $s > 15 return {$i}
Aectation de valeurs :
for $i in doc(cat.xml)/catalog/book let $l := (for $j in $i/title return {$j}) return <livre>{$l}</livre>
Nicolas Travers
XML
XML
XPath
XLink
XQuery
Conclusion
Expressivit e de XQuery
declare function local :f($doc as xs :string) as element() { for $x in (doc(rev.xml)/review|doc($doc)/catalog) [. contains(Robin Hobb)]/book/[.//price > 15] where some $y in $x/comments satises contains ($y, Excellent) order by $x/@isbn return <livre> {$x/@isbn} <prix>{$x//price/text()}</price> { if (count($x/title) > 2) then { for $z in doc(books.xml)/book where $z/@isbn = $x/@isbn return <titre>{($z/title)[3]}</titre> } else<titre/> } </livre> }
XPath ; Contraintes ; Filtres ; Quanticateurs ; Construction de document ; Imbrications ; Agr egats ; Op erations conditionnelles ; Op erations ensemblistes ; Ordonnancements ; S equences ; Fonctions ;
Nicolas Travers
XML
HTML
XML
XPath
XLink
XQuery
Conclusion
Nicolas Travers
XML
HTML
XML
XPath
XLink
XQuery
Conclusion
Conclusion
Xhtml sera le html ` a utiliser XML est le format cl e en ce qui concerne lInternet
Beaucoup doutils accessible Lisible, simple dutilisation Plus compl` exe quon pense
Nicolas Travers
XML
HTML
XML
XPath
XLink
XQuery
Conclusion
Sites ` a voir
http http http http http http http http http ://www.w3c.org/XML ://java.sun.com/xml/ ://xml.apache.org ://www.xml.com ://www.jclark.com/xml/xt.html ://www.oasis-open.org/cover/xml.html ://www.xml101.com ://www.alphaworks.ibm.com ://www.xmlsoftware.com
Nicolas Travers
XML