Das Spine-Element, oder: das Rückgrat der Publikation

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

Auch das Element <spine> – wörtlich und durchaus passend das "Rückgrat", auch Fachbegriff für den "Buchrücken" – gehört ebenfalls zu den notwendigen Elementen innerhalb des OPF-Pakets. Dieses Element legt primär die Reihenfolge der Inhaltsdokumente innerhalb der ePUB-Publikation fest. Diese Festlegung ist demnach die Grundlage für das "Blättern" durch das E-Book, sie legt den Lesefluss fest.

Innerhalb von <spine> gibt es nur ein Element <itemref>, das zunächst einfach auf die einzelnen Inhaltsdokumente zeigt, die innerhalb des Manifest-Bereichs deklariert wurden. Es stellt damit das Gegenstück zu <Item> dar. Das referenzierende Attribut idref zeigt auf den id-Wert eines item-Elements und ist daher ein Pflichtattribut.

Schauen wir uns ein einfaches Beispiel für das <spine>-Element an:

<?xml version="1.0" encoding="UTF-8"?>
<package xmlns="http://www.idpf.org/2007/opf" version="2.0" unique-identifier="ISBN123456789X">
  . . .
  <manifest>
    <!-- NCX-Datei -->
    <itemid="ncx" href="nav.ncx" media-type="application/x-dtbncx+xml"/>    ②
    <!-- CSS-Stylesheet -->
    <item id="css" href="ebook.css" media-type="text/css"/>
    <!-- Liste der Dokumente -->
    <item id="kap01" href="kap01.htm" media-type="application/xhtml+xml"/>
    <item id="kap02" href="kap02.htm" media-type="application/xhtml+xml"/>
    <item id="kap03" href="kap03.htm" media-type="application/xhtml+xml"/>
    . . .
  </manifest>
  <spine toc="ncx">                       ①
     <itemref idref="kap01"/>
     <itemref idref="kap02"/>
     <itemref idref="kap03"/>
   . . .
 </spine>
  . . .
</package> 

Code-Beispiel: Beispiel des Spine-Elements

Die Spine-Liste sollte alle Inhaltsdokumente enthalten, die in irgendeiner Form für die Navigation benötigt werden. Sie ist – wie in der Folge zu zeigen sein wird – die Grundlage sowohl für die NCX-Datei als auch für die Elemente <tours> und <guide>. Daher muss in ① das Attribut toc von <spine> auch dem Wert der id im zugehörigen item-Eintrag im Manifest-Teil ② entsprechen.

Schließlich lässt sich innerhalb der itemref-Einträge eine Unterscheidung zwischen so genannten primären und sekundären Inhalten treffen. Für diesen Zweck gibt es das optionale Attribut linear="yes|no". Defaultwert ist yes mit der Annahme, dass der Eintrag primären Inhalt enthält. Sekundäre Inhalte könnten Dokumente sein, die für den Lesefluss nicht zwingend notwendig sind und beispielsweise nur zum Nachschlagen dienen oder sogar bewusst ausgeblendet werden sollen.

Unser Formelbeispiel könnte ein solcher Fall sein:

<manifest>
  <!-- NCX-Datei -->
  <item id="ncx" href="nav.ncx" media-type="application/x-dtbncx+xml"/>
  <!-- CSS-Stylesheet -->
  <item id="css" href="ebook.css" media-type="text/css"/>
  <item id="css2" href="mathml.css" media-type="text/css"/>
  <!-- Liste der Dokumente -->
  <item id="kap01" href="kap01.htm" media-type="application/xhtml+xml"/>
  <item id="kap01anhangmathml" href="kap01anh.xml" media-type="text/mathml" fallback="kap01anhanghtml" fallback-style="css2" required-namespace="http://www.w3.org/1998/Math/MathML"/>
  <item id="kap01anhanghtml" href="kap01anh.htm" media-type="application/xhtml+xml"/>
  <item id="kap02" href="kap02.htm" media-type="application/xhtml+xml"/>
  <item id="kap03" href="kap03.htm" media-type="application/xhtml+xml"/>
  . . .
</manifest>
<spine>
  <itemref idref="kap01"/>
  <itemref idref="kap01anhangmathml" linear="no"/>           ①
  <itemref idref="kap02"/>
  <itemref idref="kap03"/>
  . . .
</spine> 

Code-Beispiel: Beispiel des Spine-Aufbaus bei vorhandenen Fallback-Items

In ① wird also durch das Attribut linear="no" festgelegt, dass der MathML-Anhang eine sekundäre Inhaltsdatei ist. Die Fallback-Kette für diese Ressource, die im Manifest-Teil definiert ist, muss hier nicht wiederholt werden.

Die Unterscheidung zwischen primären und sekundären Inhalten kann (muss allerdings leider nicht) von Lesegeräten in der entsprechenden Darstellung genutzt werden. Denkbar ist beispielsweise, dass sekundäre Inhalte nur indirekt als ein Popup dargestellt oder über einen Link erreicht werden können. Das Blättern von einem Inhaltsdokument zum nächsten ist jedoch nur den primären Inhaltsdateien vorbehalten, sekundäre werden hier übersprungen.

   

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