Beruflich Dokumente
Kultur Dokumente
PLAN
(1/2)
Le nouveau standard de stockage et dchange de donnes : XML Structure Logique et Structure Physique dun document XML Espaces de noms en XML XML Infoset : catalogue des items dinformation XML Le langage de dfinition de schma XML
2
PLAN
(2/2)
Lextraction de fragments : XPath, XQuery La transformation de documents XML : XSLT Synchronisation des contenus multimdia avec SMIL Un format de dessin vectoriel en XML: SVG Les services Web
Chapitre 1
INTRODUCTION
Le langage XML (eXtended Markup Language) est une spcification du W3C depuis fvrier 1998, mais les premiers travaux autour de XML dbutent ds 1996. XML nest pas une nouveaut mais une succession dun ensemble de technologies tels que le SGML, HTML Pour donner un aperu rapide de XML, on peut le dfinir tel un langage (ou une mthode) permettant de structurer des donnes en employant un format texte comme support
INTRODUCTION
Le XML, en lui-mme, ne fait rien !
<?xml version="1.0"?> <demoXML> <message>Voici du XML </message> </demoXML> Ce qui donne avec IE
Alors que le Html a t conu pour afficher de l'information, le XML a t cr pour structurer de l'information. Il ne fait rien d'autre ! Voici un exemple de XML.
Spcification XML
XML est une spcification. Cette spcification dfinit un type gnrique de langage de balise que lon appelle globalement le langage XML En utilisant la mtaphore de lhritage de classes :
Le langage XML est une classe de base abstraite Les divers langages XML utiliss pour crer des
instances de documents sont des classes concrtes drives ; Les langages XML sont tous des langages de balises ; Les instances de documents sont tous des documents XML.
7
Un langage de balisages
XML repose sur le balisage dun flux de texte, comme HTML. La diffrence fondamentale entre les deux langages consiste dans le fait quil nexiste aucune limitation quant aux balises de XML ! En fait, chacun peut inventer ses propres balises. Une balise (tag) se symbolise de la faon suivante : <nom de balise> : on parle dans ce cas de balises ouvrante. Pour fermer une balise, on utilise le format suivant : </nom de balise>.
8
Un langage de balisages
Dans lexemple prcdent <demoXML> et <message> sont des exemples de balises (tags). Les balises sont des chanes de caractres Unicode encadres par les caractres < et > . Entre une balise de dbut et la balise de fin correspondante, on peut trouver du texte ou dautres balises.
Un langage de balisages
Pour schmatiser, un fichier XML est compos de deux sortes de texte Unicode : Du texte de balisage. Les balises sont simplement une technique dcriture pour reprsenter la notion conceptuelle dlment. Des donnes textuelles spares par des balises. Les donnes textuelles sont les contenus des lments. Lorsque des lments sont imbriqus dans dautres lments, ils gnrent des structures arborescentes.
10
Un langage de balisages
Pour comprendre un document XML, il est ncessaire de disposer dun rpertoire des balises utilises dans ce document, ainsi que dune grammaire dcrivant la structuration des balises entre elles. Ces documents indispensables la comprhension mtier des fichiers XML sont les DTD (DocumentType Definition) ou les schmas XML. XML est souvent dfini comme un langage de balises smantiques .
11
12
Chaque lment doit avoir une balise de dbut et la balise de fin correspondante Les balises doivent tre correctement imbriques entre elles Tout document XML doit avoir un et un seul lment racine : un lment qui contient tous les autres Les valeurs associes aux attributs doivent tre encadres par les dlimiteurs ou
14
la rencontre dune balise de dbut, entrer dans ltat de traitement de cette balise la rencontre de la balise de fin correspondante, sortir de cet tat et revenir ltat prcdent Sil ny a pas dtat prcdent, alors on vient de quitter ltat de traitement de llment racine : par consquent, le document est bien form. Si une balise de fin ne correspond pas ltat en cours, le document est mal form
15
Chapitre 2
Introduction
La structure logique dun document XML est une arborescence: structure hirarchique et ordonne
17
Introduction
La structure logique dun document XML est une arborescence dinformations obtenue par un processeur XML partir dun contenu physique constitu dune simple suite linaire de caractres Unicode. Du point de vue logique, un document XML est compos : Dlments constituant la grammaire dorganisation ; De textes constituant les donnes ; ventuellement De dclarations contenues dans un prambule, De commentaires, Dinstructions de traitement.
18
19
Prambule et dclarations
une dclaration XML
<?xml version='1.0" encoding="ISO-8859-1" ?>
Le prambule (prolog) sil est prsent, prcde le texte de balisage et les donnes textuelles dun document. Il contient des dclarations qui peuvent tre les suivantes : La dclaration XML. Elle nest pas obligatoire. La spcification XML prcise cependant quelle devrait tre place au dbut dun document XML. Si elle est prsente, elle doit apparatre en premier
20
Prambule et dclarations
une dclaration de type de document
<!DOCTYPE bulletin_mto SYSTEM "meteo.dtd" [ ]>
La dclaration de type de document (Document Type Declaration : diffrente de la DTD). Elle nest obligatoire que pour la validation. Si elle est prsente, elle doit se trouver dans le prambule et suivre la dclaration XML. La dclaration de type de document permet de rfrencer et/ou dfinir localement deux sortes dentits : Des dfinitions de type de document (DTD) contenant des dclarations de balisage ; Des entits (autres que des DTD).
21
Prambule et dclarations
La dclaration XML dbute par <?xml et se termine par ?> . Elle fournit trois informations sous la forme de pseudo-attributs. version : cet attribut est obligatoire quand la dclaration XML est prsente <?xml version=1.0 ?> encoding : cet attribut indique le type de codage que doivent utiliser les processeurs XML afin de traduire des octets en caractres Unicode la rception dun document, ou de transformer des caractres Unicode en donnes binaires pour le transport. Il permet des applications de se comprendre. <?xml version=1.0 encoding=ISO-8859-1 ?>
22
Prambule et dclarations
standalone : cet attribut indique la nature autonome ou non dun document. Un document est dclar non-autonome lorsque lentit document qui le reprsente est dpendante de dclarations de balisage externes
<?xml version=1.0 encoding=UTF8standalone=no ?>
23
Structure physique
Un document XML peut exister physiquement dun seul bloc mais dpend le plus souvent de lassemblage de plusieurs units physiques existant sparment et appeles entits. Les entits peuvent tre schmatises comme des fichiers provenant de diffrents moyens de stockage situs diffrents emplacements Chaque entit peut elle-mme appeler dautres entits
25
Structure physique
En pratique, un document est reprsent par une premire entit (dite racine) qui peut contenir la totalit du document ou inclure le contenu des entits appeles afin de constituer un seul document logique. Les entits ont un nom qui permet de les appeler. Une entit racine (appel aussi entit document) sert de point de dpart pour le traitement dun document. Les entits appels dans le corps dun document (et non dans une DTD) sont dnommes entits gnrales.
26
27
Les dclarations de la DTD sont placs dans le DOCTYPE aprs la dclaration XML L'attribut standalone a la valeur "yes" <?xml version="1.0" standalone="yes"> <!DOCTYPE document [dclarations]> <document > ... </document > document : nom du type de document dclar, dclarations : dclarations d'lments, d'attributs et d'entits
29
31
<!ATTLIST Nom_lment Nom_attribut type_attribut dfaut> <!ATTLIST document nd (1|2|3) "1"> CDATA : chane de caractres prise telle quelle ID ou IDREF : renvoi dans le document ENTITY ou ENTITIES : entit externe non XML NMTOKEN : noms symboliques forms de caractres alphanumriques NOTATION : attribut de notation
32
Type d'attributs :
34
35
<!ELEMENT mixte (#PCDATA | val1 | val2)*> dans cet exemple l'lment mixte est compos de
donnes et d'lments
36
Quelques exemples
Contenu libre :
<!ELEMENT libre ANY> <!ELEMENT vide EMPTY> <!ATTLIST balise [attribut type #mode [valeur]]> <!ATTLIST enseignant nom CDATA #REQUIRED prenom CDATA #IMPLIED> <!ATTLIST adresse ville CDATA #FIXED "Dakar">
37
lment vide : Attributs pour un lment : Dfinition de la liste des attributs pour une balise
Quelques exemples
Liens hypertextuels internes : ID ou IDREF Dans la DTD
<!ELEMENT SECTION (#PCDATA|xref)*> <!ATTLIST SECTION TARGET ID #IMPLIED> <!ELEMENT xref EMPTY> <!ATTLIST xref ref IDREF #REQUIRED> <SECTION TARGET="cible"> contenu </SECTION> <SECTION> rfrence la section <xref ref="cible"/> </SECTION>
38
Dans l'instance
Exemple d'un XML valide par rapport aux rgles dans la DTD prcdente
<!DOCTYPE addressBook SYSTEM "ab.dtd"> <addressBook> <person id="B.WALLACE" gender="male"> <name> <family>Wallace</family> <given>Bob</given> </name> <email>bwallace@megacorp.com</email> <link manager="C.TUTTLE"/> </person> <person id="C.TUTTLE" gender="female"> <name> <family>Tuttle</family> <given>Claire</given> </name> <email>ctuttle@megacorp.com</email> <link subordinates="B.WALLACE"/> </person> </addressBook>
40