1 / 7

DOCUMENT VALIDE

DOCUMENT VALIDE. Obéir à une structure type prédéfini Document valide = bien formé + obéir à une structure type définie dans une DTD. <?xml version=‘1.0‘standalone=‘no‘?> <!DOCTYPE achat.ordre SYSTEM “ao.dtd“> <achat.ordre> <date>16 novembre 1999</date> <adresse>

zarita
Download Presentation

DOCUMENT VALIDE

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. DOCUMENT VALIDE • Obéir à une structure type prédéfini • Document valide = bien formé + obéir à une structure type définie dans une DTD <?xml version=‘1.0‘standalone=‘no‘?> <!DOCTYPE achat.ordre SYSTEM “ao.dtd“> <achat.ordre> <date>16 novembre 1999</date> <adresse> <nom>Jean</nom> <numéro>8</numéro> <rue>Boulevard de St Germain</rue> <ville>Paris</ville> <pays>FR</pays> <cp>75005</cp> </adresse> <article> <article> <numéro.produit>248</numéro.produit> <description>champagne,millésimé,1994</description> <quantité>3</quantité> <prix_unitaire>75</prix_unitaire> </article> <article> <numéro.produit>163</numéro.produit> <description>fromage,tartare</description> <quantité>2</quantité> <prix_unitaire>10.30</prix_unitaire> </article> </article> </achat.ordre>

  2. DTD : interne ou externe d’un document • Les DTD sont une spécification de structure de document réutilisable • La composition d’une DTD en répartissant les déclarations entre une section « interne » et une ou plusieurs sections « externes » • Les sections conditionnelles • Appel de la DTD dans le document XML DTD interne <?xml version=‘1.0‘ standalone=‘yes‘?> <!DOCTYPE exemple [ <!-- début de la DTD--> <!ELEMENT exemple (#PCDATA)> <!--fin de la DTD--> ] > <!--début de l’instence--> <exemple>test</exemple> <!--fin du document--> DTD externe <?xml version=‘1.0‘ standalone=‘no‘?> <!DOCTYPE exemple SYSTEM”exemple.dtd”> <!-- début del’instence--> <exemple>test</exemple> <!--fin du document--> exemple.dtd <?xml version=‘1.0‘?> <!-- début de la DTD--> <!ELEMENT exemple (#PCDATA)> <!--fin de la DTD-->

  3. Structure et hiérarchie des éléments (structure arbre) (I) Structure Hiérarchie Fichierrapport.dtd <rapport> <!ELEMENT rapport (titre,auteur+,chapitre+,toc,index,)> <titre>...</titre> <!ELEMENT titre (#PCDATA)> <auteur> <!ELEMENT auteur (prénom+, nom)> <prénom>...</prénom> <!ELEMENT prénom (#PCDATA)> <nom>...</nom> <!ELEMENT nom (#PCDATA)> </auteur> <!ELEMENT chapitre(tchap, intro?, sec1*)> <auteur> <!ATTLIST chapitre target ID #IMPLIED> <prénom>...</prénom> <!ELEMENT sec1 (tsec,(p sec2)*)> <nom>...</nom> <!ATTLIST sec1 target ID #IMPLIED> </auteur> <!ELEMENT sec2 (tsec,(p sec3)*)> <chapitre> <!ATTLIST sec2 target ID #IMPLIED> <tchap>...</tchap> <!ELEMENT tsec (#PCDATA)> <intro>...</intro> <!ELEMENT sec3 (tsec,p)> <sec1>...</sec1> <!ATTLIST sec3 target ID #IMPLIED> ......................... <!ELEMENT p (#PCDATA em renvoi tableau )*> </chapitre> <!ATTLIST p target ID #IMPLIED> </rapport> <!ELEMENT em (#PCDATA)> <!ELEMENT renvoi EMPTY> <!ATTLIST renvoi ref IDREF #REQUIRED> <!ELEMENT toc ANY> <!ELEMENT index ANY> <!ENTITY %tab SYSTEM ‘./tableau.dtd’ > %tab;

  4. Structure et hiérarchie des éléments (structure arbre) (II) Fichier tableau .dtd <!ELEMENT tableau (legende,lig,lig+) > <!-- un tableau doit avoire au moins deux lignes--> <!ELEMENT legende (#PCDATA)> <! ATTLIST legende no CDATA #IMPLIED> <! ATTLIST legende target ID #IMPLIED> <!ELEMENT lig (cell,cell+)> <!--une ligne doit avoire au moins deux cellules donc un tableau aura au moins deux colonnes--> <! ATTLIST lig n1 CDATA #IMPLIED > <!ELEMENT cell (#PCDATA)> <! ATTLIST cell colspan CDATA #IMPLIED > Fihier mon_rapport .xml <?xml version=‘1.0’ standalone=‘no‘?> <!DOTYPE rapport SYSTEM ‘/usr/loal/edit/xml/dtd/rapport.dtd’> <rapport> <titre>Test</titre> ………………… <tableau></tableau> </rapport>

  5. CONTENU D’UNE DTD • Les déclarations d’entités générales • Les déclarations d’entités paramètres • Les déclarations de notions • Les déclarations d’éléments • Les déclarations de listes d’attributs • Les commentaires <!DOCTYPE test [ <!ENTITY exemple “Ceci est un exemple”> <!ELEMENT date (#PCDATA)> <!ATTLIST date format (ISO | EN-exp | FR-exp) #REQUIRED)> ] <!--début de l’instance--> <test> <p>&exemple</p> <date format=“ISO“>1999-11-16</date> </test>

  6. RÉUTILISATION DES DIVERSES RESSOURCES DISPONIBLES ET LES INCONVÉNIENTS • Réalisation des documents complexes est très simples • Les conflits de noms sont les seules difficultés • Le conflit apparaîtra lorsqu’une application (un navigateur) traitera le document <?xml version’1.0’ standalone=‘no‘?> <!DOCTYPE rapport [ <!ELEMENT rapport ANY> <!ENTITY % dc SYSTEM ’http://pur1.oclc.org/metadata/dublin-core.dtd’> <!ENTITY % basic SYSTEM ’http://foo.bar.org/XML/basic-text.dtd’> <!ENTITY % bib SYSTEM ’http://xyz.org/Xml-bib/biblio.dtd’> <!ENTITY % ad SYSTEM ’http://local/xml/adresses.dtd’> <!ENTITY % math SYSTEM ’http://www.w3.org/TR/REC-MathML/MathML.dtd’> %dc; %basic; %bib; %ad; %math; ] <rapport> .................. <fn> <apply> <int/> <bvar><ci>x</ci></bvar> <lowlimit><cn>0</cn></lowlimit> <uplimit><cn>1</cn></uplimit> </apply> </fn> <fn id=‘note21‘>quelque commentaire</fn> </rapport>

  7. RESOUDRE CEPROBLÈME GRACE AUX DOMAINES NOMINAUX • Les conflits ne seraient pas apparus, si les auteurs n’importent pas de déclarations dans la DTD sans regarder ce qu’elles contiennent • Les domaines nominaux permettent lors de l’édition d’un document d’utiliser des noms garantis uniques • La déclaration d’un domaine nominal se fait à l’aide de l’attribut spécial xmlns: <?xml version=“1.0”?> <!DOCTYPE rapport SYSTEM “rapport.dtd”> <rapport xmlns:math=“http://www.w3.org/TR/1998/REC-MathML-19980407.html” xmlns:bt=“http://foo.bar.org/xml/schemas/Basic-text.dtd> .............. <math:fn> <math:apply> <math:int/> <math:bvar><math:ci>x</math:ci></math:bvar> <math:lowlimit><math:cn>0</math:cn></math:lowlimit> <math:uplimit><math:cn>1</math:cn></math:uplimit> </math:apply> </math:fn> <bt:fn bt:id=‘note21‘>commentaire</bt:fn> .................. </rapport>

More Related