Sie sind auf Seite 1von 40

Universit Cheikh Anta DIOP de DAKAR

Facult des Sciences et Techniques Dpartement de Mathmatiques et Informatique

XML ET LES SERVICES


Mr. KASSE kasseyoussou@yahoo.fr Master Professionnel dInformatique 2009-2010

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

Le nouveau standard de stockage et dchange de donnes : XML


4

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

Utilisations du langage XML


XML est largement diffus pour dcrire toutes sortes de structures arborescentes. Citons par exemple : Les documents contenant des ensembles de donnes (bons de commande, factures, dossiers, manuels techniques, etc.) ; Les documents dcrivant des structures installer de faon rptitive (descripteurs de dploiement des applications J2EE) ;

12

Utilisations du langage XML


Par ailleurs, XML est bien adapt pour lchange de donnes entre des logiciels, cest-dire dans les domaines de lintgration des applications (EAI Enterprise Application Integration) et dans le domaine de la communication interentreprises (B2B Business to Business) Ces logiciels manipulent alors les documents commerciaux et techniques cits plus haut : bons de commande, etc. Les fichiers XML sont souvent des fichiers de grandes tailles contenant de trs nombreuses informations relies entre elles. Ils sont gnralement gnrs automatiquement par des programmes appropris.
13

Principes du langage XML


Les documents XML sont destins essentiellement tre traits par des programmes informatiques appels processeurs XML. Les processeurs XML doivent tre faciles crire Les documents XML doivent tre facilement lisibles par lhomme Un document XML doit obligatoirement tre bien form : obir la spcification XML

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

Principes du langage XML


Les processeurs XML sont des programmes permettant de vrifier que des documents XML sont bien forms. Ils traitent le contenu des lments de manire dterministe. On parle aussi danalyseurs syntaxiques XML (XML parsers) Le fonctionnement dun processeur XML peut tre dcrit de la manire suivante :

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

Documents XML : Structure Logique et Structure Physique


16

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

Constituants dun document XML

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

commentaires et instructions de traitement


Les commentaires (Comment) peuvent tre placs dans un fichier XML ou un fichier DTD : <!-- commentaire --> Instructions de traitement (Processing Instructions) Instructions spciales pour les applications qui manipulent les documents XML : <?cible arg1 arg2 ?> cible : nom de l'application arg1, arg2 : arguments passes l'application <?xml-stylesheet type="text/css" href="style.css" ?> Cette instruction indique au navigateur d'afficher les donnes XML en appliquant la feuille de style : "style.css"
24

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

Structure physique : DTD


Une DTD (Document Type Definition) est une sorte dentit contenant une description formelle de la structure et du vocabulaire (noms de type dlments et noms dattributs) dun document. La spcification XML dfinit compltement lcriture des DTD, mais une DTD nest pas ellemme un document XML

27

Structure physique : DTD


Un processeur validateur lit la DTD avant de lire le document. Une DTD

Permet de dfinir le "vocabulaire" et la structure qui


seront utiliss dans le document XML Grammaire du langage dont les phrases sont des documents XML (instances) Peut tre mise dans un fichier et tre appele dans le document XML
28

Structure physique : DTD


La DTD utilise la dclaration DOCTYPE qui rfrencie des dclarations soit internes ou externes DTD interne :

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

Structure physique : DTD


DTD externe : <!DOCTYPE document (SYSTEM "uri")> Les dclarations sont placs dans un fichier spar Le nom du fichier est identique la racine du document L'attribut standalone a la valeur "no" <!DOCTYPE document SYSTEM "http://ugb.sn/document.dtd">
30

Structure physique : DTD


<!DOCTYPE document (PUBLIC "identifiant_public" "url"?)> PUBLIC est utilis lorsque la DTD est une norme ou qu'elle est enregistre sous forme de norme ISO par l'auteur

31

Structure physique : DTD


Dclaration de listes d'attributs

<!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 :

Structure physique : DTD


Dclaration d'un lment : <!ELEMENT balise valeur> Dcrit une balise balise qui fera partie du vocabulaire ordre spcifi : <!ELEMENT balise (val1, val2, val3)> ordre libre : <!ELEMENT balise (val1 | val2 | val3)> Indicateur d'occurrence d'un lment Contenu textuel dclar comme PCDATA (parseable character data)
33

Structure physique : DTD


Oprateurs doccurrence Notations (a, b) squence (a | b) liste de choix a? lment optionnel [0,1] rue, ville) a* lment rptitif [0,N] a+ lment rptitif [1,N] Exemples (nom, prenom, rue, ville) (oui | non) (nom, prenom?, (produit*, client) (produit*, vendeur+)

34

Structure physique : DTD


Valeur par dfaut des attributs:

#REQUIRED : attribut obligatoirement prsent et


valeur spcifi par le crateur de l'instance #IMPLIED : prsence de l'attribut facultative #FIXED "Valeur" : l'attribut prend toujours cette valeur

35

Structure physique : DTD


Donnes dans un lment : simple

<!ELEMENT Donnees (#PCDATA)> les donnes sont constitues par un flot de


caractres

Modle mixte : complexe

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

Structure physique : Une DTD pour un Address Book


<?xml version="1.0" encoding="UTF-8"?> <!ELEMENT addressBook (person)+> <!ELEMENT person (name,email*)> <!ATTLIST person id ID #REQUIRED> <!ATTLIST person gender (male|female) #IMPLIED> <!ELEMENT name (#PCDATA|family|given)*> <!ELEMENT family (#PCDATA)> <!ELEMENT given (#PCDATA)> <!ELEMENT email (#PCDATA)> <!ELEMENT link EMPTY> <!ATTLIST link manager IDREF #IMPLIED subordinates IDREFS #IMPLIED>
39

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

Das könnte Ihnen auch gefallen