Читать книгу EPUB3 und KF8 verstehen - Andreas Kämmerle - Страница 9
2.1.3 Das spine-Element
ОглавлениеEin weiterer grundlegender Bestandteil des OPF-Standards ist eine Struktur, welche die standardmäßige Abfolge der einzelnen Inhaltsdokumente innerhalb des EPUBs festlegt. Diese Sortierung wird von dem Containerelement spine übernommen. Kommt ein Lesegerät am Ende einer Datei an, wird anhand der Angaben innerhalb dieses Container festgelegt, welche Datei als nächstes angezeigt wird.
Die Einträge der XHTML-Inhaltsdokumente im Spine erfolgen mit dem Element itemref. Die Reihenfolge dieser Elemente definiert die Sequenz in der Publikation in Form einer geordneten Liste. Jedes itemref-Element muss mit dem idref-Attribut auf einen item-Eintrag im Manifest verweisen. Somit sind die Elemente in spine grundsätzlich eine Teilmenge der im manifest-Element definierten EPUB-Dokumente.
Mit dem Attribut linear kann darüber hinaus zwischen Dokumenten, die für die Leseabfolge benötigt werden und zusätzlichen Inhalten außerhalb dieser Abfolge unterschieden werden. Dokumente, die Bestandteil des Haupttextes sind, besitzen den Standardwert yes, ergänzende Inhalte erhalten den Wert no. Aufgrund des Standardwerts kann das Attribut bei primären Dokumenten weggelassen werden.
Für das itemref-Element sind in der Spezifikation Eigenschaften definiert, die im optionalen property-Attribut angegeben werden können. Die Eigenschaftswerte page-spread-left und page-spread-right ermöglichen die Festlegung des Seitenbeginns eines Inhaltsdokuments. Stellt ein EPUB-Reader die Inhalte in einer Doppelseiten-Ansicht dar, kann auf diese Weise die Seitenanordnung gesteuert werden.
Darüber hinaus existiert zur Seitensteuerung für das spine-Element das optionale Attribut page-progression-direction, mit welchem die globale Seitenlaufrichtung festgelegt werden kann. Mögliche Werte sind ltr (links nach rechts), rtl (rechts nach links) und default (Standardeinstellung des Geräts).
Der spine-Container muss mindestens einen Eintrag für das Navigationsdokument beinhalten. Das nachstehende Beispiel bezieht sich auf das manifest entsprechend Code-Listing 2.6.
1<spine>
2 <itemref id="toc" linear="no"/>
3 <itemref idref="kapitel1" properties="page-spread-right"/>
4 <itemref idref="kapitel2"/>
5</spine>
Listing 2.7 Ein einfacher spine-Container