XML-Know How

Fixed Layout-Inhaltsdokumente

Im Gegensatz zur den reflowable E-Books wird der Inhalt beim festem ­Layout nicht innerhalb weniger, sequenzieller XHTML-Dokumente strukturiert, sondern je Seite bzw. Doppelseite. Die Aufsplittung der einzelnen Dokumente ist in diesem Fall nicht inhalts- sondern darstellungsbedingt. Nur diejenigen Elemente, die auf einer Seite stehen sollen, sind im Dokument enthalten.

Die Inhalte werden bei festen Layouts innerhalb des definierten Anzeigebereichs dargestellt. Weichen die Proportionen dieses tatsächlichen Anzeigebereichs des E-Books von der Bildschirmgröße des Lesegeräts ab, wird der Inhalt abhängig vom Gerät in der Regel zentriert und außerhalb der Anzeige mit entsprechenden Rahmen versehen.

EPUB 3

Jedes Inhaltsdokument des EPUB Fixed Layout-Formats muss im Kopf der HTML-Datei den Viewport, also die Angabe der Breite und Höhe einer Seite in Pixeln, enthalten. Die Spezifikation spricht hier vom „initial containing block“. Hierzu wird im head der Datei ein entsprechendes meta-Element eingefügt.


<head>
  […]
  <meta name="viewport" content="width=1200,height=1500" />
  […]
</head>
Listing 5.2 Viewport-Definition für EPUB 3 im HTML-Kopfbereich

Der Inhalt, der innerhalb eines HTML-Dokuments steht, wird entsprechend auf einer einzelnen Seite gerendert. Wenn ein Ausgabesystem eine Doppelseitenansicht unterstützt, werden entsprechend zwei HTML-Dateien ­nebeneinander gerendert.

Kindle Format 8

Da für das KF 8-Format die Viewport-Angabe mit dem Element meta name="original-resolution" global in der OPF-Datei erfolgt, ist eine entsprechende Angabe in den HTML-Dateien nicht notwendig. Allerdings können folglich auch keine abweichenden Seitendimensionen für einzelne HTML-Dokumente implementiert werden.

Abhängig von der Ausrichtungssperrung über das Metaelement meta name="orientation-lock" wird innerhalb einer HTML-Datei eine (Hochformat per portrait) oder zwei (Querformat per landscape) Seiten, also eine Doppelseite abgebildet. Unter anderem aufgrund dieser Spezifikation weichen die Strukturen der Inhaltsdokumente für die beiden Formate EPUB 3 und KF 8 voneinander ab.

Um beispielsweise im Querformat zwei ganzseitige Hintergrundabbildungen auf einer Doppelseite anzuordnen, müssen für KF 8 diese in zwei separaten Blocks ausgezeichnet werden, die per CSS nebeneinander gefloatet werden, anstatt sie, wie bei EPUB, seitenweise zu definieren und die (Doppelseiten-)Darstellung dem Lesegerät zu überlassen.

Als Ersatz für die fehlende Anpassungsmöglichkeit der Schriftgröße durch den Leser implementiert das KF 8-Format eine Zoom-Funktionalität, die sogenannte „Region Magnification“. Diese Vergrößerung eines bestimmten Dokumentbereichs ermöglicht die Darstellung der Inhalte in einem Popup, ohne das Original-Layout zu beeinträchtigen.

05_01_region_magnification.png
Abb. 5.1 Das Region Magnification-Feature von KF 8

  <a class="app-amzn-magnify" data-app-amzn-magnify='{"targetId":"regionziel", "sourceId":"regionquelle", "ordinal":1}'>
  <div id="regionquelle">
    <p>Eine Region Magnification</p>
  <div class="clear"/>
  </div>
</a>
Listing 5.3 HTML-Quelle für eine Region Magnification

Zur Auszeichnung des sogenannten aktiven Bereichs, das heißt dem Quellinhalt für eine Vergrößerung, wird das Ankerelement a verwendet, das die zu vergrößernden Inhalte umschließt. An diesem muss die proprietäre Klasse app-amzn-magnify deklariert werden [1]. Zudem muss es das Attribut data-app-amzn-magnify ein JSON-Objekt (Javascript Object Notation) mit den folgenden Bestandteilen enthalten:

  • targetID, Element-ID, die auf den Container, der den vergrößerten Bereich enthält, verweist
  • sourceID, Element-ID, die den aktiven Bereich darstellt
  • ordinal, Lesereihenfolge, in welcher die Vergrößerung dargestellt wird

Der Container, der bei der Vergrößerung dargestellt wird und auf den mit der targetID verwiesen wird, kann im einfachsten Fall aus einem leeren div-Container mit der entsprechenden ID bestehen (siehe nachfolgendes Listing 5.4). Es wird dann der selbe Inhalt, der in der Quelle enthalten ist, angezeigt. Die Steuerung des Popup-Layouts erfolgt per CSS. Es wird empfohlen, die Schriftgröße des Vergrößerungsbereich auf 150 % zu setzen.


<div id="regionziel" class="target-mag"/>
Listing 5.4 HTML-Auszeichnung einer Region Magnification

Auf weitere Formatierungsvorgaben hinsichtlich der Inhaltsdateien (und der Unterscheidung zwischen den Buchtypen children und comic) wird an dieser Stelle nicht eingegangen. Sie finden sich in Kapitel 4 und 5 der Amazon Publishing Guidelines.