Sunteți pe pagina 1din 72

HTML

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


Nicolas Travers XML

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

Hypertexte Meta Language

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

HTML Caract eristiques

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

M eme format que XML, bas e sur XML


Moins stricte (balises non ferm es, ...)

Tendance vers Xhtml, html 4.01 presque Xhtml


Validator : http ://validator.w3.org/ Avantages : analyse automatique plus simple, standard
Nicolas Travers XML

HTML Caract eristiques

XML

XPath

XLink

XQuery

Conclusion

Exemple en image

Nicolas Travers

XML

HTML Caract eristiques

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>

Paragraphes et passage ` a la ligne


<P>paragraphe</P>, <BR/> linebreak

Listes
<UL> <LI>Monday</LI> <LI>Tuesday</LI> <LI>Wednesday</LI> <LI>Thursday</LI> <LI>Friday</LI> </UL>

UL - Unordered List, OL - Ordered List


Nicolas Travers XML

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

CSS : Cascading StyleSheets


Red enition de lachage de balises connue ou nouveau
Plus de contr ole sur le layout

Economise de lespace et facilite la maintenance en cas de changements Exemples :


H1{font-weight :bold ;font-family :helvetica ;fontstyle :normal} Notion des classes :
<p class=classique> Texte </p> p.classique color :jaune

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

eXtensible Meta Language

Histoire
XML -eXtensible Markup Language
Version 1.0 : 10.2.1998

Descendant de SGML (1986)


Standard Generalized Markup Language

Documentation sur le site du w3c :


http ://www.w3.org/XML/ Tutorial : http ://www.w3schools.com/xml/default.asp

But principal :
Structurer linformation dune mani` ere standard Echange dinformation (commerce electronique)

Nicolas Travers

XML

HTML

XML

XPath

XLink

XQuery

Conclusion

eXtensible Meta Language

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

Limites de TeX, PDF, RTF


TeX : communaut es scientiques PDF : Adobe RTF : Microsoft

Formats propri etaires, Non ouverts , Non standardis es


Nicolas Travers XML

HTML

XML

XPath

XLink

XQuery

Conclusion

eXtensible Meta Language

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

eXtensible Meta Language

Buts

D enition dun contexte de structuration de donn ees


Utilisable facilement sur Internet Compatible avec SGML Le plus lisible possible Minimum doption, exibilit e maximale D eveloppement de programmes simples Formats de donn ees et de protocoles

Nicolas Travers

XML

HTML

XML

XPath

XLink

XQuery

Conclusion

eXtensible Meta Language

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

eXtensible Meta Language

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

eXtensible Meta Language

Applications XML
Scalable Vector Graphics (SVG)
(dessin) (software description) (trading software) (Speech synthetizer)

The Open Software Description (OSD)

The Internet Open Trading Protocol (OTP) The Java Speech Markup Language (JSML) The Health Level 7 (HL7)

(Donn ees cliniques, nanci` eres, administratives) (Financial Data)

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)

(PDA data model)

(websites content and structure)

The Signed Document Markup Language (SDML) The Translation Mempry Exchange (TMX) Really Simple Syndication (RSS) Simple API for XML (SAX) (ou xerces)

(Digital signature of documents)

(Data Exchange - Translation Memory)

(Syndication de contenu Web) (Java API for XML)

Nicolas Travers

XML

HTML

XML

XPath

XLink

XQuery

Conclusion

Cr eer un document XML

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

Cr eer un document XML

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

Commentaires (Ignor es dans le processing) Contenu

Nicolas Travers

XML

HTML

XML

XPath

XLink

XQuery

Conclusion

Cr eer un document XML

Repr esentation sous forme darbre

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

Document Type Denition


R egles de structuration pour les documents XML Groupes peuvent se mettre daccord sur un structure pour echanger des donn ees V erication des donn ees Document bien form e : syntaxe XML est OK Document valide : structure est OK selon DTD Exemple :
catalog = book(s) book = titre + author + price + @genres + @isbn titre = TEXT + @currency author = TEXT price = TEXT
Nicolas Travers XML

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

Valeurs dun attribut


Attribut : !ATTLIST (avec CDATA) (peut etre enum er e) #IMPLIED : lapplication traitant le document fournira la valeur par d efaut #REQUIRED : lauteur du document doit d enir lattribut en question #FIXED : lattribut ne peut prendre que la valeur mentionn ee Une valeur compatible avec le type associ e` a lattribut : sans indication explicite, lattribut prendra cette valeur

Nicolas Travers

XML

HTML DTD

XML

XPath

XLink

XQuery

Conclusion

Occurences

pas indicateur doccurrence : exactement 1 fois ? 0 ou 1 fois * 0 ou plus + 1 ou plus

Nicolas Travers

XML

HTML Sch ema 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

HTML Sch ema 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

HTML Sch ema 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

HTML Sch ema 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

HTML Sch ema 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

HTML Sur le Web

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, ...

CSS - Cascading Style Sheets


D enition de certains styles dans des pages pour des el ements r ep etitifs Information est dans le chier html (ent ete)
Nicolas Travers XML

HTML

XML

XPath

XLink

XQuery

Conclusion

eXtensible Stylesheet Language

XSL / XSLT
S eparation du contenu et de lachage (XML na pas dinfo sur lachage)
html contient cette information

XSL - eXtensible Stylesheet Language


Information sur lachage Serveurs peuvent cr eer les pages avec XML et XSL (Cocoon)

XSLT - XSL Transformations


Langage de programmation pour transformer XML et XSL dans un nouveau chier en format XML Utilis e pour la transformation en html, par exemple

Nicolas Travers

XML

HTML

XML

XPath

XLink

XQuery

Conclusion

eXtensible Stylesheet Language

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

eXtensible Stylesheet Language

R esultat

Nicolas Travers

XML

HTML

XML

XPath

XLink

XQuery

Conclusion

eXtensible Stylesheet Language

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

eXtensible Stylesheet Language

R esultat XML/XSL

Nicolas Travers

XML

HTML

XML

XPath

XLink

XQuery

Conclusion

HTML XML XPath D enition Syntaxe Fonctions XLink XQuery Conclusion


Nicolas Travers XML

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 /@... ...

Motif (nom d el ement)


title @genres text()

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

Les fonctions dXPath

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 HTML (rappels)

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

Hyperliens HTML (rappels)

Exemple de lien HTML

Code HTML pour la source du lien :


<H3>lien simple</H3> <P>Ce <A HREF=lien simple.html#S1>lien</A>pointe vers une section particuli` ere.</P>

Code HTML dans le document cible :


<H4><A NAME=S1>section cible</A></H4> <P>Cette section est celle vers laquelle je veux pointer.</P>

Nicolas Travers

XML

HTML

XML

XPath

XLink

XQuery

Conclusion

XLL : Extensible Linking Language

XML Linking Language

Sources linking elements


car les liens sont bidirectionnels Les linking elements contiennent des locators

Cibles ressources
donn ees, r esultats de requ ete dans une BD, etc.

On ne suit plus un lien, on le traverse exemple lien simple :


<lien.simple xlink :form=simple href=http ://toto.xml>aller voir</lien.simple>

Nicolas Travers

XML

HTML

XML

XPath

XLink

XQuery

Conclusion

XLL : Extensible Linking Language

R ef erences crois ees

< ?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

XLL : Extensible Linking Language

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

XLL : Extensible Linking Language

Exemple lien etendu

<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=&#169 ; 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

HTML Exemple de requ ete

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

HTML Exemple de requ ete

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

HTML Exemple de requ ete

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

HTML Exemple de requ ete

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

HTML Exemple de requ ete

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

HTML Exemple de requ ete

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

HTML Exemple de requ ete

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

HTML Exemple de requ ete

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

HTML Exemple de requ ete

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

HTML Exemple de requ ete

XML

XPath

XLink

XQuery

Conclusion

Exemples

Fonction dagr egat :


for $i in collection(catalog)/catalog/book return <count> {count($i/author)} </count>

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

HTML Exemple de requ ete

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

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

Le web est de plus en plus interactif


Sans standards il y aura des probl` emes

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

S-ar putea să vă placă și