Cours XML - XPath - XQueryEmmanuel Coquery1 XMLXML (eXtensible Markup Language) est un standard du W3C. Il s’agit d’un formatde documents permettant de representer des donnees sous forme de texte, tout enconservant une certaine organisation. Le modele de donnees sous-jacent est unarbre (voir la section ??). Il existe cependant des extensions a XML permettant deconsiderer des graphes.Lorsque l’on considere XML, c’est souvent en conjonction avec un ensemble detechnologies qui vont permettre de l’utiliser. Voici une partie de ces technologies: Descriptions de la forme des documents, par exemple:– LesDTDs(DocumentTypeDe nition),quisontdecritesdansla speci cation1de XML , ainsi que dans la section ??.2– Les schemas XML (ou XML Schema ).3 Designation / selection de parties de documents: XPath , voir aussi la section??. Liens inter et intra documents:4– XLink est un standard permettant de creer des liens entre documentsXML.5– XPointer permet au contraire de creer des liens a internes a un docu-ment. Transformation et interrogation de documents XML:6– XSLT est un langage de transformation de documents XML.7– XQuery estunlangaged’interrogationdedocumentsXML.Ilestabordedans la section ??. APIs standard pour lire des documents XML:8– DOM permetdelireundocumentXMLetdelemanipulersoussaformed’arbre.9– SAX permet de parcourir un document XML en utilisant un systemebase sur un ensemble d’evenements.1http://www.w3c.org/TR/REC-xml ...
XML (eXtensible Markup Language) est un standard du W3C. Il s’agit d’un format dedocumentspermettantderepre´senterdesdonn´eessousformedetexte,touten conservantunecertaineorganisation.Lemode`lededonne´essous-jacentestun arbre (voir la section??etsiepecnadnsedt).exIlreemttnadteextensions`aXMLp conside´rerdesgraphes. Lorsquel’onconsid`ereXML,c’estsouventenconjonctionavecunensemblede technologies qui vont permettre de l’utiliser. Voici une partie de ces technologies:
•Descriptions de la forme des documents, par exemple:
–ontiniefionisqu),tirce´dtalsnadseesDTLcomusDD(pyDeneTtsp´ecification 1 de XML, ainsi que dans la section??. 2 –.)meaSeLshcL´hcssame(LMXMXuo
•Transformation et interrogation de documents XML:
6 –un langage de transformation de documents XML.XSLT est 7 –buomredn´tesXMiLo.Inldeesdtoacetrrgotaageg’dnituesannlQuXyer dans la section??.
•APIs standard pour lire des documents XML:
8 –de lire un document XML et de le manipuler sous sa formeDOM permet d’arbre. 9 –ASXepmrteedparcourirundocumXtneneLMlitunasinstut`yseem bas´esurunensembled’´ev´enements. 1 http://www.w3c.org/TR/REC-xml/ 2 http://www.w3.org/XML/Schema 3 http://www.w3.org/TR/xpath20/ 4 http://www.w3.org/TR/xlink/ 5 http://www.w3.org/TR/xptr-framework/ 6 http://www.w3.org/TR/xslt20/ 7 http://www.w3.org/XML/Query/ 8 http://www.w3.org/DOM/ 9 http://www.saxproject.org/
Le prologueIl prend la forme d’une commande et permet de fournir un ensemble d’informations sur le document.
<?xml info1="val1"
info2="val2" ... ?>
Parmicesinformations,ontrouvelaversiondeXMLutilise´e(version) et qui est presque toujours1.0edagodnc’e,l(sere`tcaracseencoding) ou en-corelefaitqueledocumentfasseounonre´f´erence`ad’autresdocuments (standalone).
Exemple 2Le prologue suivant:
<?xml version="1.0"
encoding="UTF-8"
standalone="no"?>
signifie qu’il s’agit d’un document XML version 1.0, que l’encodage des car-act`eressuitlanormeunicodesur8bits(UTF-8)etqueledocumentfait re´fe´rencea`d’autresdocuments.
Unede´clarationdetypeElle est de forme suivante: <!DOCTYPEle type[pl´essuptionlarasiaereemctdn´] > ou`le typeest au choix (nomentprincl’´el´emuc-pilaudodedmoneleuqidni ment,URLetntDTDalee´emucodudl’uelouriiqndtertvuorepu`eˆtuidentifi-antindique un identifiant publique pour le type, tel que"-//W3C//DTD XHTML 1.0 Transitional//EN"pour le xhtml en version 1.0 transitionnelle): •nom •nomSYSTEM "URL" •nomPUBLIC "identifiant" "URL" leslppueme´itarssnod´laecntairessa,`iaolTtDcDmeodltpneo`settiorresponc `adesd´eclarationsquis’ajoutenta`laDTD.
Exemple 3vinanousaritceald´Late:
<!DOCTYPE collection SYSTEM [ <!ENTITY Arl "Arleston"> ]>
"collection.dtd"
indiquequel’e´l´ementprincipalestnomme´collection, que la description dudocumentestdonn´eedanslefichiercollection.dtd’leuitneet´qteArl correspond au texteArleston.
1.2.2 Syntaxe des noeuds de l’arbre XML AttributstratUnrcti’se´bitunom="valeur"ou biennom=’valeur’doit obli-. Il gatoirementˆetreplac´e`al’int´erieurdelabaliseouvrantedel’e´le´mentquiest sonpe`re. ´ Ele´mentssyasitunselatLue’m´tnnxlaedee´e:vant <nom attributs> ... enfants qui ne sont pas des attributs ... </nom> Lesattributses.d’un´tnospe´se´letnemsedeacsp´eararspnomest le nom de l’e´l´ement. Une´le´mentsansenfantsautresquedesattributspeuts’´ecrire: <nom attributs/>