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 des ersten Textes Einleitung.
Abschnitt 1 Text von Abschnitt 1. Text von Abschnitt 1 erster Paragraph. Text von Abschnitt 1 erster Paragraph. Text von Abschnitt 1 erster Paragraph. Text von Abschnitt 1 erster Paragraph. Text von Abschnitt 1 erster Paragraph. Text von Abschnitt 1 erster Paragraph.
Abschnitt 2 Text von Abschnitt 2 erster Paragraph. Text von Abschnitt 2 erster Paragraph. Text von Abschnitt 2 erster Paragraph. Text von Abschnitt 2 erster Paragraph. Text von Abschnitt 2 erster Paragraph. Text von Abschnitt 2 erster Paragraph. Text von Abschnitt 2. Text von Abschnitt 2. Text von Abschnitt 2. Listen Item Listen Item
Hinweis für den Leser. Warnung vor Fehlern.
Fortsetzung und Vertiefung Warum müssen wir das fortsetzen?
Abschnitt 1 Text von Abschnitt 1.
Abschnitt 2 Text von Abschnitt 2 erster Paragraph. Text von Abschnitt 2 erster Paragraph. Text von Abschnitt 2 erster Paragraph. Text von Abschnitt 2 erster Paragraph. Text von Abschnitt 2 erster Paragraph. Text von Abschnitt 2 erster Paragraph. Text von Abschnitt 2 zweiter Paragraph. Text von Abschnitt 2 zweiter Paragraph. Text von Abschnitt 2 zweiter Paragraph. Text von Abschnitt 2 zweiter Paragraph. Text von Abschnitt 2 zweiter Paragraph. Text von Abschnitt 2 zweiter Paragraph.
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 "xlink:href CDATA #REQUIRED"> <!-- définition des attributs d'une élément lien --> <!ENTITY % book.link '%book.generalAttr; xlink:type 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; xlink:type 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?)> <!ATTLIST book xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink/namespace/"> 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