Hier kommt der erste Text, der einen Überblick gibt.
Einleitung.
Text von Abschnitt 1.
Text von Abschnitt 2. Text von Abschnitt 2. Text von Abschnitt 2.
Listen Item
Listen Item
Bemerkung: Hinweis für den Leser.
Warnung: Warnung vor Fehlern.
Beispiel der Anwendung der DTD.
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE book SYSTEM "report.dtd"> <book> <title>My book</title> <overview> <title>Avant-propos</title> <paragraph> Avant de lire ce document... </paragraph> </overview> <chapters> <chapter> <title>Il était une fois</title> <paragraph> Il était une fois un petit koala rouge... </paragraph> </chapter> </chapters> </book>
Die verwendete DTD.
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- hook pour permettre a l'utilisateur de rajouter des attributs --> <!ENTITY % generalAttr ""> <!-- l'ensemble des attributs communs à chaque élément --> <!ENTITY % book.generalAttr "id ID #IMPLIED %generalAttr;"> <!-- URI locator --> <!ENTITY % locator.att "href CDATA #REQUIRED"> <!-- définition des attributs d'une élément lien --> <!ENTITY % book.link '%book.generalAttr; xml:link CDATA #FIXED "simple" %locator.att;'> <!-- un lien quelconque --> <!ELEMENT link (#PCDATA)> <!ATTLIST link %book.link;> <!-- l'auteur(s) du document --> <!ELEMENT authors (author)+> <!ATTLIST authors %book.generalAttr;> <!ELEMENT author (#PCDATA)> <!ATTLIST author %book.link;> <!-- le coordonnateur(s) du stage --> <!ELEMENT managers (manager)+> <!ATTLIST managers %book.generalAttr;> <!ELEMENT manager (#PCDATA)> <!ATTLIST manager %book.link;> <!-- la société dans lequel le stage a été effectué --> <!ELEMENT organisation (#PCDATA)> <!ATTLIST organisation %book.link;> <!-- titre du rappport, du chapitre ou de la section --> <!ELEMENT title (#PCDATA)> <!ATTLIST title %book.generalAttr;> <!-- contenu général d'une section ou d'un item de liste --> <!ENTITY % book.content "(paragraph|list|code|img|newpage)"> <!-- saut de page --> <!ELEMENT newpage EMPTY> <!ATTLIST newpage %book.generalAttr;> <!-- définition de la liste --> <!ELEMENT item (%book.content;)*> <!ATTLIST item %book.generalAttr;> <!ELEMENT list (item)+> <!ATTLIST list %book.generalAttr; type (ordered|unordered) "unordered"> <!-- définiton d'un paragraphe --> <!ELEMENT em (#PCDATA | link)*> <!ATTLIST em %book.generalAttr;> <!ELEMENT paragraph (#PCDATA | em | link)*> <!ATTLIST paragraph %book.generalAttr;> <!-- note simple --> <!ELEMENT note (#PCDATA | link)*> <!ATTLIST note %book.generalAttr;> <!-- les exemples --> <!ELEMENT code (#PCDATA)*> <!ATTLIST code %book.generalAttr;> <!-- les images --> <!ELEMENT img EMPTY> <!ATTLIST img %book.generalAttr; xml:link CDATA #FIXED "simple" %locator.att; title CDATA #REQUIRED scale NMTOKEN "1" > <!-- les sections (récursives) --> <!ELEMENT section (title, (%book.content; | section)+)> <!ATTLIST section %book.generalAttr;> <!-- les appendices --> <!ELEMENT appendices (appendix)+> <!ATTLIST appendices %book.generalAttr;> <!ELEMENT appendix (title, (%book.content; | section)+)> <!ATTLIST appendix %book.generalAttr;> <!-- les chapitres --> <!ELEMENT chapters (chapter)+> <!ELEMENT chapter (title, (paragraph|note)*, (section+, (paragraph|note)*)?)> <!ATTLIST chapter %book.generalAttr;> <!ELEMENT overview (title, %book.content;)+> <!ATTLIST overview %book.generalAttr;> <!-- la bilbiographie --> <!ELEMENT bibliography (entry)+> <!ATTLIST bibliography %book.generalAttr;> <!ELEMENT entry (authors?, title, year, publisher?, uri?)> <!ATTLIST entry %book.generalAttr;> <!ELEMENT year (#PCDATA)*> <!ATTLIST year %book.generalAttr;> <!ELEMENT publisher (#PCDATA)*> <!ATTLIST publisher %book.generalAttr;> <!ELEMENT uri EMPTY> <!ATTLIST uri %book.link;> <!-- structure général du rapport --> <!ELEMENT book (title, authors?, managers?, organisation?, overview?, chapters, (appendices)?, bibliography?)>