1 / 27

Données structurées et XML

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). Données structurées et XML. XML permet de représenter des données structurées: Données textuelles Organisées:

lexi
Download Presentation

Données structurées et XML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 <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, email). • Le texte du document: les informations. • Organisation: ne pas mélanger les données: annuaire personne nom prénom bureau poste email 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-8859-1 »?> • <annuaire> • <personne> • <nom> Rossi </nom> • <prénom> Fabrice </prénom> • <bureau> B520</bureau> • <poste> 4823</poste> • <email> Fabrice.Rossi @dauphine.fr </email> • </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-8859-1 »?> 1 <?xml version = « 1.0 » standalone = « yes»?> • <?xml ?> est une déclaration • L’attribut encoding précise l’encodage des caractères du document :ISO-8859-1 , 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, email?) < ! ELEMENT prénom (# PCDATA) < ! ELEMENT bureau (# PCDATA) < ! ELEMENT poste (# PCDATA) < ! ELEMENT email (# 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> < email> Fabrice.Rossi@dauphine.fr </email> <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

  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, email*) L’élément fiche contient exactement un nom , un prénom, un téléphone, et autant de email 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 • <?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-8859-1"?> • 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-8859-1"?> • 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-8859-1"?> • 2 <!DOCTYPE carnet [ • 3 <!-- contenu de la DTD --> • 4 ]> • le nom qui suit DOCTYPE est celui de • l’élément racine

  27. Décrire une conversation • Une DTD pour définir la structure d’un document XML, valide pour une conversation. • [<?xml version="1.0" encoding="iso-8859-1"?> • <!DOCTYPE log [ • <!ELEMENT log ( message*)> • <!ELEMENT message (From, To, Text)> • <!ELEMENT From (User)> • <!ELEMENT To (User)> • <!ELEMENT User( #PCDATA> • <!ELEMENT Text ( #PCDATA)> • ]>

More Related