La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Données structurées et XML

Présentations similaires


Présentation au sujet: "Données structurées et XML"— Transcription de la présentation:

1 Données structurées et XML
Qu’est ce qu’un document XML ? Comment traduire la structure d’un document en XML ? notion de DTD ( Définition d’un Type de Document)

2 Données structurées et XML
XML permet de représenter des données structurées: Données textuelles Organisées: on manipule un document constitué d ’éléments Un élément : un texte ou constitué d’autres éléments ou un mélange des deux ( titre d’ouvrage, prix , nomAuteur, …etc) Un élément peut être associé à des informations complémentaires , les attributs. La structure est celle d’un arbre; un élément un nœud de l’arbre.

3 Langage de balisage Les informations, isolées en éléments sont encadrées par une paire de balises (tags) et son contenu: < chapitre > …….< / chapitre> (intitulé de balise) Les balises ouvrantes portent les attributs( s’ils y en a ) < chapitre version = date = …….< / chapitre> L’imbrication et l’ordre des éléments reflètent la structure. Un document au format XML est un document texte constitué de balises.

4 XML ( extensible markup language)
Les principaux avantages de ce langage: Possibilité de définir librement les balises utilisées ( contrairement à HTML) Distinction claire de la forme et du contenu du document XML + XSL : représentation d’un document : ajouter des feuilles de style Facilité pour établir la correspondance entre les données du document et les systèmes de stockage des données.

5 Exemple de structure HTML
<HEAD> <TITLE>essai</TITLE> </HEAD> <BODY> <P>paragraphe </P> </BODY> </HTML>

6 Exemple But : stocker l’annuaire d’une administration ( nom, prénom, bureau , numéro de poste, ). Le texte du document: les informations. Organisation: ne pas mélanger les données: annuaire personne nom prénom bureau poste Rossi Fabrice 4823 Fabrice.Rossi @dauphine.fr B520

7 Exemple (suite) Traduction en XLM de l’arbre: annuaire.xml
<?xml version = « 1.0 » encoding= « ISO  »?> <annuaire> <personne> <nom> Rossi </nom> <prénom> Fabrice </prénom> <bureau> B520</bureau> <poste> 4823</poste> < > </ > </personne> <! – suite de l’annuaire --- </annuaire>

8 Exemple de fichier XML Hello.xml:
<?xml version = « 1.0 » standalone = « yes»?> < conversation> <bienvenue > Salut à vous </bienvenue> <réponse > Laissez moi seul </réponse> </conversation> 1. En tête obligatoire, instruction de traitement 2. Balise ouvrante ( la racine de l’arbre) début d’un nœud. 3. Un élément de l’arbre 4. Un élément de l’arbre de même niveau 5 . Balise fermante associée la ligne 2.

9 Arbre de l’exemple

10 Exemple de code en XML <?xml version=« 1.0 »?>
<!—ceci est un commentaire--> <article> <auteur> Boby Lapointe </auteur> <titre>Une introduction à xml</titre> <section> <titre>Présentation de xml</titre> <paragraphe>ce document est bien formé</paragraphe> </section> </article>

11 Documents xml bien formés
Les éléments: <truc> : balise ouvrante: 1. Doit toujours correspondre à une balise fermante , ici </truc> 2. Le texte entre <> est le nom de l’élément, constitué de lettres, chiffres,’.’, ‘-’,’_’ et ‘:’. Le contenu d’un nœud de l’arbre, d’un élément, entre balise ouvrante et balise fermante. <et_hop/> : balise mixte pour les éléments vides.

12 fragments xml mal formés
<a><b></a></b>: mal formé <p> bla, bla,bla <br> bla, bla, bla </p> :mal formé <nom.pas:très_bien-choisi/> : bien formé <a> contenu de l’élément </A> ( sensible à la casse): mal formé <un/truc> par exemple </un/truc> <pas texte=‘de problème’ > </pas> : bien formé L’attribut ( toujours dans une balise ouvrante) texte , sa valeur entre «  » ou ‘ ‘ .

13 Instructions xml Le document commence par une déclaration:
<?xml version = « 1.0 » encoding= « ISO  »?> <?xml version = « 1.0 » standalone = « yes»?> <?xml ?> est une déclaration L’attribut encoding précise l’encodage des caractères du document :ISO  , notre ascii français. L’attribut standalone précise si le document est seul ( sans DTD) ou non ( auquel cas une instruction <!Doctype … est nécessaire)

14 La DTD : Définition d’un type de document
Un document XML peut posséder une Déclaration formelle de sa structure, une sorte de grammaire (avec des règles d’utilisation ) que doit respecter le document. La DTD de l’annuaire : < ! ELEMENT personne ( nom, prénom, bureau, poste, ?) < ! ELEMENT prénom (# PCDATA) < ! ELEMENT bureau (# PCDATA) < ! ELEMENT poste (# PCDATA) < ! ELEMENT (# PCDATA) (PCDATA: Parsed Character DATA , chaîne de caractères analysée)

15 Documents générés < personne > < nom> Rossi </nom>
< prénom> Fabrice </prenom> <bureau> B520 </bureau> < poste> 4823 < / poste> < > </ > <personne>

16 Autre document généré < personne >
< nom> Rossi </nom> < prénom> Fabrice </prenom> <bureau> B520 </bureau> < poste> 4823 < / poste> <personne>

17 Les règles d’utilisation DTD
notations Opérateur signification + L’élément doit être présent au minimum une fois * L’élément peut être présent plusieurs fois (ou aucune) ? L’élément peut être optionnellement présent | L’élément A ou B peuvent être présents

18 Exemple commenté < ! ELEMENT carnet ( fiche *) >
L’élément carnet peut contenir un nombre arbitraire d’éléments fiche. < ! ELEMENT fiche ( nom, prénom, téléphone, *) L’élément fiche contient exactement un nom , un prénom, un téléphone, et autant de qu’on le souhaite (< ! ELEMENT nom (# PCDATA)> L’élément nom ne contient que du texte < ! ELEMENT téléphone (fixe fax| portable) *> L’élément téléphone contient dans n’importe quel ordre et en n’importe quelle quantité des éléments: fixe, fax et portable.

19 DTD associé à un sommaire
< ! ELEMENT Sommaire ( Numéro, Date, RubriqueSommaire +)> < ! ELEMENT numéro (# PCDATA)> < ! ELEMENT date(# PCDATA)> < ! ELEMENT RubriqueSommaire( RubriqueTitre, ArticleSommaire+)> < ! ELEMENT RubriqueTitre(# PCDATA)> <! ELEMENT ArticeSommaire(ArticeTitre, ArticlePage)> < ! ELEMENT ArticleTitre (# PCDATA)> < ! ELEMENT ArticlePage (# PCDATA)> Construire l’arbre représentant ce sommaire :

20 Validité d’un document
Un document XML qui possède une DTD associée est dit valide s’il respecte les règles de grammaire. Un document XML est dit bien formé lorsque: toutes les balises ouvrantes ont une balise fermante associée Les balises sont correctement imbriquées.

21 Deux types de DTD Sous forme interne: la grammaire du document est placé au sein même du document. Sous forme externe: un fichier extérieur contient la grammaire du document .

22 Doc avec DTD interne <! DOCTYPE bibliothèque ] >
<?xml version = « 1.0  » ?> <! DOCTYPE bibliothèque [ < ! ELEMENT bibliothèque ( livre +)> < ! ELEMENT livre (Titre, auteur, ref)> < ! ELEMENT Titre(# PCDATA)> < ! ELEMENT auteur (# PCDATA)> < ! ELEMENT ref (# PCDATA)> ] > < bibliothèque> < livre> < titre > Dune </titre> < auteur> Frank Heckbert </auteur> <ref> Fiction-H-1</ref> < / livre> < / bibliothèque>

23 Doc avec DTD externe <?xml version = « 1.0 » ?>
<! DOCTYPE bibliothèque SYSTEM « biblio.dtd »> < bibliothèque> < livre> < titre > Dune </titre> < auteur> Frank Heckbert </auteur> <ref> Fiction-H-1</ref> < / livre> < / bibliothèque> Biblio.dtd: < ! ELEMENT bibliothèque ( livre +)> < ! ELEMENT livre (Titre, auteur, ref)> < ! ELEMENT Titre(# PCDATA)> < ! ELEMENT auteur (# PCDATA)> < ! ELEMENT ref (# PCDATA)>

24 Exemple (XML) :disques.xml
1 <?xml version="1.0" encoding="ISO "?> 2 <!DOCTYPE disques SYSTEM "DisquesML.dtd"> 3 <disques> 4 <groupe > 5 <nom>MUSE</nom> 6 <membre>Matthew Bellamy</membre> 7 <membre>Dominic Howard</membre> 8 <membre>Chris Wolstenholme</membre> 9 </groupe> 10 <disque> 11 <interprete > TOTO </interprete> 12 <titre>Showbiz</titre> 13 </disque> 14 <disque> 15 <interprete> RIRI </interprete> 16 <titre>Origin of symmetry</titre> 17 </disque> 18 </disques>

25 Exemple (DTD) DisquesML.dtd
1 <?xml version="1.0" encoding="ISO "?> 2 <!ELEMENT disques (groupe*, disque*) > 3 <!ELEMENT groupe (nom,membre+) > 4 <!ELEMENT nom (#PCDATA) > 5 <!ELEMENT membre (#PCDATA) > 6 <!ELEMENT disque (interprete, titre)> 7<!ELEMENT interprete (#PCDATA) > 8 <!ELEMENT titre (#PCDATA) >

26 DTD INTERNE DTD interne :
1 <?xml version="1.0" encoding="ISO "?> 2 <!DOCTYPE carnet [ 3 <!-- contenu de la DTD --> 4 ]> le nom qui suit DOCTYPE est celui de l’élément racine


Télécharger ppt "Données structurées et XML"

Présentations similaires


Annonces Google