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