Vergleichender Überblick - XHTML vs. DTBook

(Auszug aus "E-Books mit ePUB ─ Von Word zum E-Book mit XML" von Dr. Victor Wang)

Der konzeptionelle Unterschied wird bereits bei dem Vergleich des Grundaufbaus einer Inhaltsdatei im jeweiligen Standard deutlich.

Beginnen wir zum Einstieg mit einem einfachen Beispiel, dem Vorwort von "Max und Moritz" (siehe auch die Codebeispiele bei Navigation in seitenorientierten Gliederungen), und schauen uns beide Formate nebeneinander an. Hier die entsprechende XHTML-Datei:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">                  ①
  <head>                                                                   ②
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
     <title>Vorwort</title>                                                ③
  </head>
  <body>                                                                   ④
     <h1>Vorwort</h1>                                                      ⑤
     <div class="dtb:pagenum" id="s0343">
        <p>343</p>
     </div>
     <p>Ach, was muss man oft von bösen</p>
     <p>Kindern hören oder lesen!!</p>
     <p>Wie zum Beispiel hier von diesen,</p>
     <p>Welche Max und Moritz hießen;</p>
     <div class="block-grafik">
        <img src="img/Max_und_Moritz_001.png" alt="Max und Moritz"/>
     </div>
     <p>Die, anstatt durch weise Lehren</p>
     <p>Sich zum Guten zu bekehren,</p>
     <p>Oftmals noch darüber lachten</p>
     <p>Und sich heimlich lustig machten. -</p>
     . . .
  </body>
</html> 

Code-Beispiel: Aufbau "Max und Moritz" in XHTML

Und nun zum direkten Vergleich das Dokument in der DTBook-Struktur:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//NISO//DTD dtbook 2005-3//EN" "http://www.daisy.org/z3986/2005/dtbook-2005-3.dtd">  
<book xmlns="http://www.daisy.org/z3986/2005/dtbook/">          ⑥
  <frontmatter>                                                 ⑦
     <doctitle>Vorwort</doctitle>                               ⑧
     <level>                                                    ⑨
         <pagenum id="s0343">343</pagenum>
         <hd>Vorwort</hd>                                       ⑩
         <linegroup>
             <line>Ach, was muss man oft von bösen</line>
             <line>Kindern hören oder lesen!!</line>
             <line>Wie zum Beispiel hier von diesen,</line>
             <line>Welche Max und Moritz hießen;</line>
             <img src="img/Max_und_Moritz_001.png" alt="Max und Moritz"/>
             <line>Die, anstatt durch weise Lehren</line>
             <line>Sich zum Guten zu bekehren,</line>
             <line>Oftmals noch darüber lachten</line>
             <line>Und sich heimlich lustig machten. -</line>
         </linegroup>
        . . .
     </level>
  </frontmatter>
</book> 

Code-Beispiel: Aufbau "Max und Moritz" in DTBook

Die beiden Wurzelelemente lauten in ① <html> bzw. in ⑥ <book> und legen jeweils einen eigenen Namensraum fest.

Der Inhalt steht im XHTML-Dokument relativ flach im Element <body> in ④, sämtliche Inhalte liegen darunter nebeneinander, sind also bezogen auf ihre Verwandtschaft im XML-Baum alle Geschwister. Eine klammernde Semantik ist nicht erkennbar.

In DTBook liegt eine deutlich tiefere Elementhierarchie vor: Die erste Klammer bildet das Element <frontmatter> in ⑦, damit wird das Dokument in den Bereich der Vorspannseiten eingeordnet. Das Vorwort selbst liegt als <level>-Element in ⑨ vor, also in einer Kapitelstruktur. Damit ist auch die Überschrift des Vorwortes <hd> klar zugeordnet. Sie steht zu Beginn des Kapitels ⑩. In XHTML ist hingegen anhand der einsam stehenden Überschrift <h1> ⑤ nicht erkennbar, welche Absätze dem Vorwort zugeordnet sind und welche nicht. Die in DTBook anschließende <linegroup> fasst schließlich alle Zeilen einer Strophe zusammen, eine vergleichbare Struktur fehlt in XHTML.

Die Verfechter von XHTML werden nun sicherlich einwenden, dass auch in XHTML durchaus Hierarchien dargestellt werden können, indem verschiedene <div>-Elemente mit entsprechender Klassifizierung verwendet werden. Dies ist ja im Beispiel in zwei Fällen geschehen: Sowohl die Seitenzahl als auch die Grafik sind in einem solchen Blockelement untergebracht. Wir werden im Folgenden diese Möglichkeit weiter verfolgen.

   

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema ePub bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © mitp 2011
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "E-Books mit ePUB" denselben Bestimmungen wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

Verlagsgruppe Hüthig Jehle Rehm GmbH, Im Weiher 10, 69121 Heidelberg, kundenbetreuung(at)hjr-verlag.de