Heinz Kredel

Erster Versuch mit XML

Inhaltsverzeichnis

Vorwort

Hier kommt der erste Text, der einen Überblick gibt.

1. Hauptteil des ersten Textes

Einleitung.

1.1. 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.

1.2. 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.

Bemerkung: Hinweis für den Leser.

Warnung: Warnung vor Fehlern.

2. Fortsetzung und Vertiefung

Warum müssen wir das fortsetzen?

2.1. Abschnitt 1

Text von Abschnitt 1.

2.2. 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.

Anhang A. 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>
      

Anhang B. 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/">

      

Literatur

  1. Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides , Design Patterns, Elements of Reusable Object-Oriented Software, 1995, Addison Wesley
  2. Tim Bray, Jean Paoli and C. M. Sperberg-McQueen , Extensible Markup Language (XML) 1.0, 1998, World Wide Web Consortium
  3. Charles F. Goldfarb , The SGML HandBook, 1990, Clarendon Press - Oxford
  4. Pekka Kilpelainen , SGML and XML Contents Models, 1998, Universityy of Helsinki
  5. David Megginson , Structuring XML documents, 1998, Prentice Hall
  6. Alfred Aho, Ravi Sethi, Jeffrey Ullman , Compilateurs : principes, techniques et outils, 1989, Intereditions