Erster Versuch mit XML Heinz Kredel Heinz Kredel Information Technology Center University of Mannheim Vorwort Hier kommt der erste Text, der einen Überblick gibt. Hauptteil Einleitung.
Abschnitt 1 Text von Abschnitt 1.
Abschnitt 2 Text von Abschnitt 2. Text von Abschnitt 2. Text von Abschnitt 2. Listen Item Listen Item Hinweis für den Leser. Warnung vor Fehlern.
Beispiel Anwendung 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?)> Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides Design Patterns, Elements of Reusable Object-Oriented Software 1995 Addison Wesley Tim Bray, Jean Paoli and C. M. Sperberg-McQueen Extensible Markup Language (XML) 1.0 1998 World Wide Web Consortium Charles F. Goldfarb The SGML HandBook 1990 Clarendon Press - Oxford Pekka Kilpelainen SGML and XML Contents Models 1998 Universityy of Helsinki David Megginson Structuring XML documents 1998 Prentice Hall Alfred Aho, Ravi Sethi, Jeffrey Ullman Compilateurs : principes, techniques et outils 1989 Intereditions