Andreas Kämmerle

EPUB3 und KF8 verstehen

Die E-Book-Formate EPUB3 und KF8 –
Möglichkeiten und Anreicherungen im Vergleich

pagina E-Books

Buchnavigation

•Buch lesen

•Haupttitel

•Inhaltsverzeichnis

•Informationen zu Andreas Kämmerle

•Informationen zum Buch

•Impressum

Inhaltsverzeichnis

1 Einleitung

2 EPUB 3

2.1 Publications 3.0

2.1.1 Der metadata-Container

2.1.2 Der manifest-Container

2.1.3 Das spine-Element

2.1.4 Das bindings-Element

2.2 Content Documents 3.0

2.2.1 HTML 5-Inhaltsdokumente

2.2.2 Das HTML-Navigationsdokument

2.2.3 MathML

2.2.4 SVG

2.2.5 JavaScript

2.2.6 CSS

2.3 Media Overlays 3.0

2.4 Open Container Format 3.0

2.4.1 Der abstrakte Container

2.4.2 Der physische ZIP-Container

2.4.3 Font-Verschlüsselung

2.5 Unterschiede zu EPUB 2

2.6 EPUB erzeugen und validieren

3 Kindle Format 8

3.1 Die Paketdatei OPF

3.1.1 Der metadata-Container

3.1.2 Der manifest-Container

3.1.3 Das spine-Element

3.1.4 Das guide-Element

3.2 Die NCX-Navigationsdatei

3.3 HTML-Inhaltsdokumente

3.4 Das HTML-Inhaltsverzeichnis

3.5 CSS

3.6 KindleGen und Kindle Previewer

4 Vergleich der Formate

4.1 Die „Seite“

4.2 Umbruch

4.2.1 Seitenumbruch

4.2.2 Hurenkinder und Schusterjungen

4.2.3 Zeilenumbruch

4.2.4 Satzarten

4.3 Absätze

4.4 Die Schriftart

4.5 Auszeichnungen

4.6 Initialen

4.7 Festabstände

4.8 Überschriften

4.9 Listen

4.10 Kästen

4.11 Tabellen

4.12 Text und Bild

4.13 Marginalien

4.14 Fußnoten

4.15 Kolumnentitel und Pagina

5 Einführung in Fixed Layout

5.1 Fixed Layout-Metadaten

5.2 Fixed Layout-Inhaltsdokumente

5.3 Fixed Layout-CSS

6 Fazit

Anhang

Literaturverzeichnis

Abkürzungsverzeichnis

Das EPUB 3-Attribut epub:type

Übersicht der Format-Eigenschaften

Übersicht der Layoutunterstützung

[zurück]

1 Einleitung

Das Jahr 2012 wird als das Jahr in die Geschichte der Mediennutzung eingehen, in dem sich E-Books am Markt neben dem gedruckten Buch endgültig etabliert haben werden. Auch wenn die Verkaufszahlen der Produkte dieser jungen Technologie noch lange nicht die des großen Bruders Print erreicht haben und vielleicht nie erreichen werden, so ist die kritische Masse an Lesegeräten ebenso längst erreicht wie auch eine sozialpsychologische Akzeptanz in den für die Verlagen wichtigsten Käufer- und Leserschichten. Grund genug für die Publikums- und Fachverlage, ihre Inhalte künftig „crossmedial“, das heißt in mehreren Ausgabekanälen, zu publizieren.

„Crossmedial“ heißt dabei nicht zwingend „multimedial“ – der erste Schritt der Verlage ins digitale Publizieren ist in der Regel der, die selben Inhalte in derselben Anordnung vom Buch ins E-Book zu überführen. Das ist aufwändig genug, sehen sich viele Verlage doch zunächst der Aufgabe gegenüber, die Inhalte überhaupt in einer wieder verwertbaren, digitalen Form vorzuhalten – von einem integrierten Produktionsworkflow für Print und E-Book noch gar nicht zu reden.

Doch ist dies nur der erste Schritt, der die technischen und konzeptionellen Möglichkeiten der neuen Medien noch nicht adäquat berücksichtigt. Im gleichen Maße, wie sich das Mediennutzungsverhalten der Bevölkerung verändert (Interaktion, Zugriff auf vernetzte Information, Video-Einbindung in redaktionellem Kontext und vielem mehr), wächst auch der Druck, Verlagsinhalte diesen neuen Nutzungsgewohnheiten gemäß aufzubereiten.

Mit den beiden neuen E-Book-Standards EPUB 3 und KF 8 ist hierfür erstmalig die technologische Grundlage gegeben. Die „Enriched E-Books“ können kommen. Nicht weniger – aber auch nicht mehr. Denn unstrittig ist, dass viele Verlagsinhalte sich überhaupt nicht für eine derartige Anreicherung eignen. So soll auch mit dem vorliegenden Buch nicht der Eindruck vermittelt werden „nur ein Enriched E-Book ist ein gutes E-Book“. Eine solche Aussage würde verkennen, dass sich viele Leser dem E-Book schlicht aus Komfortgründen – Mobilität, Gewicht, Zugänglichkeit, Skalierbarkeit der Schrift etc. – zuwenden.

Doch wäre es ein Fehler, die neuen Möglichkeiten deswegen als Spielerei oder überflüssigen Ballast abzutun. Denn so, wie es Inhalte gibt, die sich nicht für ein Enriched E-Book eignen, so gibt es andere, bei denen der Nutzen unmittelbar erkennbar ist. Hier entstehen derzeit neue Märkte und neue Möglichkeiten der Produktentwicklung für Verlage. Die Entscheidung für die neuen Formate und deren Einsatz muss also in erster Linie aus Lektorat und Vertrieb kommen.

Spezifische Probleme der E-Book-Produktion

Weshalb aber ist im E-Book-Markt das Einhalten von Standards so wichtig? Hier kommen wir auf das gravierendste, spezifische Problem bei E-Books zu sprechen: Die Darstellung der Inhalte – präziser, die Berechnung, wie die Inhalte dargestellt werden – erfolgt erst auf dem Zielgerät, also auf dem jeweiligen E-Book-Reader des Kunden. Der Verlag hat also keine vollständige Kontrolle darüber, wie die Inhalte dargeboten werden. Das ist bei der Produktion von gedruckten Medien anders: Ist hier das erste Exemplar korrekt, so gilt das auch für die gesamte Auflage.

Für den Leser darf dieses Problem nicht zutage treten. Er hat zunächst einmal die berechtigte Erwartung, ein fehlerfreies und ansprechend umgesetztes Produkt für sein spezifisches Ausgabegerät zu erhalten. Das Interesse des Verlages muss darüber hinaus gehen. Es gilt, eine möglichst konsistente Darstellung auf allen Lesegeräten sicherzustellen. Wo das nicht ohne Weiteres möglich ist, muss die Optimierung für verschiedene Lesegeräte kostengünstig und automatisiert möglich sein. Der Verlag muss also bei der Produktion von E-Books immer alle gängigen Ausgabegeräte im Blick behalten. Das ist nur darüber zu gewährleisten, dass man sich an einen der Standards hält, die wiederum von den Lesegeräten unterstützt werden.

Aus der Veröffentlichung neuer Lesegeräte, der Nachfrage nach digitaler Literatur und der damit verbundenen, technologiegetriebenen Marktentwicklung haben sich zunächst verschiedene offene und proprietäre E-Book-Formate entwickelt. Aus dieser Vielfalt haben sich heute, neben dem klassischen PDF, die Formate EPUB und Mobipocket als die E-Book-Formate mit den vielversprechendsten Zukunftsaussichten etabliert.

Der offene EPUB-Standard, der unter Beteiligung von Software- und Medienunternehmen entstand, hat sich als das zentrale E-Book-Format für die Verlagswelt etabliert und wird von zahlreichen Ausgabemedien unterstützt. Daneben stellt das proprietäre Mobipocket-Format, das von den Amazon Kindle-Lesegeräten unterstützt wird, aufgrund der Marktposition und der Vertriebs-Infrastruktur des Online-Händlers den größten Konkurrekten im Bereich der reflowable[1] E-Book-Formate dar.

Das EPUB-Format wurde 2007 vom International Digital Publishing Forum entworfen. Das IDPF hat sich zum Ziel gesetzt, technische Standards für das elektronische Publizieren zu definieren. Zu den Mitgliedern der Organisation, speziell der EPUB Working Group, gehören unter anderem Hersteller von E-Reader-Geräten, Software-Unternehmen sowie Verlage und Dienstleister. Entsprechend existiert heute eine Vielzahl an Lesesoftware, -geräten und Autorenwerkzeuge, die das Format unterstützen, allen voran sei die kostenlose Software Adobe Digital Editions und die App iBooks für Apples iPhone und iPad zu nennen.

Bei EPUB handelt es sich um einen freien, internationalen Industriestandard, dessen technische Spezifikationen veröffentlicht sind. Das Format setzt selbst wiederum auf bestehenden Standards und Technologien auf. Diese offene und plattformübergreifende Struktur ermöglicht eine Integration in bestehende Publikationsprozesse.

Allerdings muss festgehalten werden, dass der EPUB-Standard von den bestehenden Leseanwendungen oft eigenwillig und nur unvollständig interpretiert und dargestellt wird. Dieses Problem, das auf die rasche Verbreitung des Formats zurückzuführen ist, wird sich mit den neuen Generationen von Lesegeräten hoffentlich von selbst lösen.

Mobipocket ist das proprietäre Format der Kindle-Plattform von Amazon. Der dahinter stehende französische Hersteller Mobipocket SA wurde im Jahr 2005 von Amazon übernommen. In einer leicht modifizierten Version wird das Format von den Kindle-Lesegeräten, sowie den kostenlosen Leseanwendungen, die für zahlreiche Betriebssysteme existieren, genutzt.

Es handelt sich hierbei um ein binäres und komprimiertes Endformat, das bezüglich der Inhaltsdaten jedoch auch auf bestehenden Standards basiert. Mobipocket weist jedoch, speziell was die Darstellungsmöglichkeiten betrifft, im Vergleich zu EPUB einen deutlich eingeschränkten Feature-Umfang auf.

Dass das Format so erfolgreich ist, liegt zu einem großen Teil an dem intelligenten Vertriebskonzept von Amazon. Der Online-Händler hat schon früh den Mehrwert eines weitreichenden digitalen Ökosystems erkannt und mit der geschlossenen Kindle-Architektur für eine feste Bindung der eigenen Kunden im Bereich E-Books gesorgt. Mit eigener Lese-Hardware (dem Kindle-Reader), die direkt auf das Angebot von Amazon zugreifen kann und somit für eine extrem geringe Hemmschwelle beim Kauf sorgt, wird das Konzept konsequent abgerundet.

Veröffentlichung von EPUB 3 und KF 8

Im Oktober 2011 wurde die finale Version der Spezifikation zum neuen EPUB-Standard in der Version 3 von der EPUB-Arbeitsgruppe des IDPF verabschiedet. Zeitgleich kündigte der Online-Händler Amazon Ende Oktober 2011 die Veröffentlichung des neuen E-Book-Formats Kindle Format 8 für seine Kindle-Plattform an, welches das aktuelle Mobipocket-Format ersetzen wird.

EPUB 3 ist eine weitreichende Überarbeitung des EPUB-Standards, die wesentliche Verbesserungen für komplexe, angereicherte und interaktive E-Books liefert. Die entscheidenden Neuerungen lassen sich in die Bereiche Layout, Multimedia-Fähigkeit, Sprachunterstützung sowie verbesserte Zugänglichkeit zusammenfassen. Dabei setzt das IDPF verstärkt auf den Ansatz, bestehende Technologiestandards in EPUB 3 zusammenzuführen.

Mit der Ankündigung des neuen Formats KF 8 seitens Amazon als Antwort auf EPUB 3 bleiben die Erwartungen, die Kindle-Reader würden zukünftig das EPUB-Format unterstützen, bis auf Weiteres unerfüllt. Die Frage, weshalb Amazon nach wie vor auf ein eigenes, proprietäres Format setzt, lässt sich durch die Erhaltung des Wettbewerbsvorteils des Anbieters auf dem bestehenden E-Book-Markt erklären – auch weiterhin können mit den Kindle-Geräten ausschließlich E-Books im Mobipocket- bzw. KF 8-Format, die über das eigene Online-Portal erworben werden, gelesen werden.

Die beiden neuen Formate EPUB 3 und KF 8 basieren im Wesentlichen auf denselben Kerntechnologien HTML 5 und CSS. Die Unterstützung dieser aktuellen Webstandards macht das hohe Innovationspotential des E-Book-Marktes deutlich. Die Formate bieten mit der Unterstützung multimedialer und interaktiver Elemente erstmals Möglichkeiten, die über die Darstellung von gedruckten Inhalten auf unterschiedlichen Displays hinausgehen. Langfristig werden Fortschritte und Innovationen im Bereich der Webanwendungen für E-Books nutzbar.

Bedeutung für die Verlagsbranche

Mittelfristig wird die Veröffentlichung der neuen E-Book-Formate deutliche Auswirkungen auf den Markt haben. Bis zu einer vollständigen Implementierung durch eine überwiegende Anzahl von Lesegeräten werden noch einige Monate vergehen – eine zeitnahe Umsetzung der weiterentwickelten Standards durch zentrale Leseanwendungen ist jedoch absehbar.

In jedem Fall müssen sich die Verlage damit auseinandersetzen, die neuen technologischen Entwicklungen konzeptionell zu nutzen, um die Digitalisierung aktiv voranzutreiben und sich am Markt zu platzieren. Verlage, die über die klassischen Printformate hinaus als professionelle Informationsanbieter wahrgenommen werden wollen, müssen sich bereits jetzt mit der Planung und Umsetzung neuer Features auseinandersetzen. Nur so kann es gelingen, zum richtigen Zeitpunkt mit neuen Produktformen an den Märkten präsent sein zu können, sobald sich diese etabliert haben.

Für einen Verlag, der erst mit dem Aufbau eines E-Book-Programmes beginnt, wäre es daher naheliegend, gleich die zukunftsträchtigen Formate EPUB 3 und KF 8 einzusetzen oder zumindest konzeptionell zu berücksichtigen – auch für Titel, die keine multimedialen Erweiterungen erfahren sollen.

Die überarbeitete EPUB-Spezifikation bietet im Vergleich zum neuen Kindle-Format eine umfangreichere Implementierung von Features, die die digitalen Möglichkeiten voll ausnutzen. In der derzeitigen Umstellungsphase kommen die Verlage jedoch nicht an einer Doppelstrategie für den Einsatz beider Versionen sowohl des EPUB- als auch des Kindle-Formats (EPUB 2/EPUB 3 und Mobipocket/KF 8) vorbei.

Aktuell stehen die Verlage im Spannungsfeld zwischen der Entwicklung neuer Produktformen und der einfachen Zweitverwertung in neuen Medienformen. Also der sinnvollen Nutzung aller digitalen Möglichkeiten und der Umsetzung der Strukturen und Bestandteile des klassischen gedruckten Buches.

Das beginnt für viele Verlage zunächst mit der systematischen Digitalisierung der Inhalte, um überhaupt den E-Book-Markt bedienen zu können und führt damit zwangsläufig zur Betrachtung der Strukturen vorhandener oder neuer Printpublikationen, die in diesem Zusammenhang als wichtige Grundlagenarbeit von besonderem Interesse für die E-Book-Produktion sind.

Zum Aufbau dieses Buches

Dieses Buch setzt sich mit den neuen E-Book-Formaten EPUB 3 und KF 8 unter der Berücksichtigung der genannten Anforderungen der Verlagsbranche auseinander. Dabei werden in einer grundlegenden Vorbetrachtung zunächst die beiden E-Book-Formate in ihrem Umfang analysiert und Umsetzungsbeispiele gegeben.

Es folgt ein Vergleich der Standards, der die Übertragung von Buchstrukturen in das digitale Format untersucht. Hierauf aufbauend wird eine Referenzübersicht entwickelt, die einen praxisnahen Überblick über die Unterstützung verlagsrelevanter Anforderungen durch die neue Generation der E-Book-Standards gibt.

[zurück]

2 EPUB 3

Grundsätzlich basiert das EPUB-Format auf den Internettechnologien HTML und CSS. Dabei ist die Auszeichnungssprache HTML die Technologie für die Strukturierung der Inhaltsdaten, während die Formatierungssprache CSS für die Darstellung der HTML-Daten verantwortlich ist. Der EPUB-Standard beinhaltet jedoch weit mehr als eine Sammlung von Definitionen für Struktur und Layout von Inhaltsdaten. Neben dieser wichtigsten Festlegung sind im EPUB-Standard auch alle anderen Aspekte, wie ein EPUB aufgebaut ist, verbindlich geregelt.

Bei dem EPUB-Format handelt es sich um einen speziellen ZIP-Container, der eine feste Struktur von Dateien beinhaltet. Die Dateiendung des Formats lautet .epub. Das Umbenennen dieser Dateiextension in .zip ermöglicht das Extrahieren des Inhalts mit einer ZIP-Anwendung.

Abb. 2.1 Typischer Aufbau eines EPUB 3-Containers

Die Art und Anzahl der Dateien, speziell innerhalb des OPS-Ordners, der die eigentlichen Inhaltsdateien enthält, variiert je nach Inhalt und Umfang des EPUBs. Die grundsätzlichen Bestandteile und die Verzeichnisstruktur des Formats sind jedoch festgelegt.

Der EPUB 3-Standard umfasst vier Substandards, die jeweils für unterschiedliche Aufgabenbereiche stehen. Jeder dieser XML-Standards ist von der Organisation IDPF in einem eigenen Spezifikationsdokument definiert. Am 11. Oktober 2011 erreichten die EPUB 3-Spezifikationen nach eineinhalb Jahren Arbeit der EPUB Working Group ihren finalen Stand als „Recommended Specification“. Sie sind unter http://idpf.org/epub/30 abrufbar. Die einzelnen Dokumente gliedern sich wie folgt:

„Publications 3.0“ beschreibt die Metadaten und Dateistruktur innerhalb des EPUB-Containers

„Content Documents 3.0“ definiert die Inhalte einer EPUB-Publikation

„Media Overlays 3.0“ beschreibt die Struktur für die Synchronisierung von Text und Audio

„Open Container Format 3.0“ definiert das Dateiformat und den ZIP-Prozess

2.1 Publications 3.0

Die „Publications 3.0“-Spezifikation definiert ein zentrales XML-Format zur Speicherung von Metadaten und Angaben über die Struktur der elektronischen Publikation. Sie finden ihren Niederschlag in einer verpflichtenden XML-Datei mit der Endung .opf. OPF steht für „Open Packaging Format“ und ist ein begriffliches Relikt aus der vorherigen EPUB-Version 2.

Die Metadaten enthalten Informationen über die Inhalte des E-Books, wie zum Beispiel Titel, Autor und Erscheinungsjahr, die sich von Ausgabemedien oder durch Suchanfragen auswerten lassen und somit einen Mehrwert bei der Distribution bieten können.

Die in der Spezifikation enthaltene Beschreibung zur Struktur des Dokuments umfasst eine vollständige Auflistung der im Archiv gespeicherten Inhaltsdateien, deren logische Reihenfolge (Serialisierung) und den Verweis auf das Navigationsdokument.

Darüber hinaus definiert die OPF-Spezifikation grundsätzliche Minimalanforderungen an den Inhalt, denen valide EPUB-Dokumente entsprechen müssen. Dazu gehören zwingend benötigte Dateien sowie die Bereitstellung von Fallback-Lösungen für Inhalte, die nicht verpflichtend von allen Ausgabemedien unterstützt werden müssen.

Abb. 2.2

Die OPF-Datei muss in einem EPUB zwingend vorhanden sein und kann wie in Abbildung 2.2 dargestellt auf oberster Ebene innerhalb des Inhaltsordners liegen. Fehlt diese Datei, ist das EPUB-Dokument invalide. Der Name der Datei sowie ihr Ablageort im EPUB-Verzeichnis kann beliebig gewählt werden (Referenzierung erfolgt über die container.xml-Datei, siehe Kapitel 2.4.1), die Extension muss allerdings .opf lauten.

1<package xmlns="http://www.idpf.org/2007/opf" version="3.0" unique-identifier="buchID">

2    <metadata xmlns:dc="http://purl.org/dc/elements/1.1/">

3        […]

4    </metadata>

5    <manifest>

6        […]

7    </manifest>

8    <spine>

9        […]    

10    </spine>

11    <bindings>

12        […]

13    </bindings>

14</package>

Listing 2.1 Das Grundgerüst der OPF-Datei

Die OPF-Datei ist ein XML-Dokument und beginnt mit dem Wurzelelement package, das die Metadaten und Strukturinformationen umschließt. Die zwei Attribute version, mit dem Wert der aktuellen EPUB-Version 3.0, und unique-identifier, eine eindeutige ID, die dem Attribut-Wert id des Elements dc:identifier im metadata-Container entspricht (siehe Kapitel 2.1.1), sind verpflichtend. Das Element besitzt zudem die Namespace-Deklaration http://www.idpf.org/2007/opf. Das Wurzelelement umfasst ein Set an Container-Elementen, die jeweils Informationen zu einem der zuvor genannten Aspekte der Dokumentstruktur umfassen.

metadata enthält die Metadaten der Publikation

manifest listet unsortiert alle eingebundenen Dokumentressourcen

spine legt die Lesereihenfolge der Inhaltsdateien fest

bindings (optional) steuert den skriptbasierten Umgang mit Dateitypen, die durch das Ausgabemedium nicht unterstützt werden

2.1.1 Der metadata-Container

Die Metainformationen eines EPUB-E-Books wurden mit der EPUB-Version 3 um einige Bereiche erweitert. Hierzu gehört die Verfeinerung der bestehenden Metadaten und die Unterstützung weiterer Metadaten-Standards.

Die Metaangaben von EPUB 3 basieren analog zur Vorgängerversion auf dem Dublin Core Element Set (DCMES), das 15 Elemente zur Beschreibung einer Publikation umfasst.[2] Durch die Verwendung des Namespaces http://purl.org/dc/elements/1.1 am metadata-Element [1] kann auf dieses Elementset zugegriffen werden. Ergänzt wird dieses Metadaten-Set durch das meta-Element, welches eine Detaillierung der Dublin-Core-Elemente ermöglicht sowie zusätzliche Metadaten-Standards unterstützt.

Der minimale Umfang an Metadaten umfasst die Elemente dc:identifier, dc:title und dc:language sowie den property-Attributwert dcterms:modified für das meta-Element. Die Dublin Core Metadata Terms (DCTERMS) gehören zu den vom Standard reservierten Präfixen des meta-Elements. Sie stellen eine Ergänzung des DCMES dar und enthalten verfeinernde wie auch zusätzliche Elemente. Das folgende Beispiel stellt ein solches minimales Set an Metadaten für eine EPUB-Publikation dar:

1<metadata xmlns:dc="http://purl.org/dc/elements/1.1/">

2    <dc:title>EPUB 3 und KF 8 verstehen</dc:title>

3    <dc:language>de</dc:language>

4    <dc:identifier id="bookurl">http://www.pagina-online.de/epub</dc:identifier>

5    <meta property="dcterms:modified">2012-10-10T12:00:00Z</meta>

6</metadata>

Listing 2.2

Eine vollständige Übersicht über die Dublin-Core-Elemente zur Verwendung in EPUB gibt die nachstehende Tabelle.

Element

Vorkommen

Bedeutung

dc:title

verpflichtend

Publikationstitel

dc:language

verpflichtend

Sprache (Werte entsprechend RFC5646)

dc:identifier

verpflichtend

Eindeutige Bezeichnung (z. B. ISBN), mehrere möglich

dc:contributor

optional

Mitwirkende

dc:coverage

optional

Zeitlich oder räumlich einschränkender Geltungsbereich

dc:creator

optional

Autor(en)

dc:date

optional

Erscheinungsdatum

dc:description

optional

Inhaltliche Beschreibung

dc:format

optional

Medientyp

dc:publisher

optional

Herausgeber bzw. Verlag

dc:relation

optional

Externe Ressource, auf die sich die Publikation bezieht

dc:rights

optional

Hinweise zu Urheberrechten

dc:source

optional

Angabe der Quelle, aus der die Publikation erzeugt wurde

dc:subject

optional

Thematisches Schlagwort

dc:type

optional

Klassifizierung der Publikationsart

Tab. 2.1 Das Dublin Core Elementset

Mit Hilfe des wiederholbaren meta-Elements können diese Metainformationen nun weiter ausdifferenziert werden. Es besitzt zwingend das Attribut property, dessen Wert einer definierten Eigenschaft entsprechen muss. Es wird unterschieden zwischen vordefinierten Eigenschaften, reservierten und neu definierten Präfixen. Der genaue Umgang mit diesen Attributwerten wird im Abschnitt „4.2 Vocabulary Association Mechanisms“ der Spezifikation beschrieben. Soll mit dem meta- Element ein Dublin Core-Element näher beschrieben werden, wird das refines-Attribut benötigt. Mit der folgenden Zeile wird ein Titel als Untertitel des E-Books klassifiziert:

<meta refines="#titel" property="title-type">subtitle</meta>

Listing 2.3 Spezifizierung der Dublin Core-Metadaten

Mit dem optionalen scheme-Attribut kann zudem ein bestehendes Schema wie das ONIX-Datenformat, auf welchem der Elementinhalt aufbaut, referenziert werden.

Mit Hilfe des meta-Elements lassen sich beispielsweise komplexe Titelstrukturen klassifizieren. Die Metaangaben einer Publikation mit dem Haupttitel „EPUB 3 und KF 8 verstehen“, dem Untertitel „Möglichkeiten und Anreicherungen“ und dem vollständigen Titel (zum Beispiel für die Archivierung) können wie folgt umgesetzt werden:

1<dc:title id="titel1">EPUB 3 und KF 8 verstehen</dc:title>

2<meta refines="#titel1" property="title-type">title</meta>

3<meta refines="#titel1" property="display-seq">1</meta>

4<dc:title id="titel2">Möglichkeiten und Anreicherungen</dc:title>

5<meta refines="#titel2" property="title-type">subtitle</meta>

6<meta refines="#titel2" property="display-seq">2</meta>

7<dc:title id="titel3">Die Möglichkeiten und Anreicherungen von EPUB 3 und KF 8</dc:title>

8<meta refines="#titel3" property="title-type">fulltitle</meta>

9<meta refines="#titel3" property="display-seq">3</meta>

Listing 2.4 Metadaten-Auszeichnung einer komplexen Titelstruktur

Zusätzlich zu den Möglichkeiten der näheren Beschreibung bestehender Dublin-Core-Elemente, lassen sich mit dem meta-Element für sich selbst stehende Metainformation ergänzen. In diesem Fall wird das refines-Attribut weggelassen. Ein Beispiel ist die bereits genannte dcterms:modified-Eigenschaft mit dem vordefinierten dcterms-Präfix, die eine Versionierung der EPUB-Publikation ermöglicht (in Verbindung mit dem Unique Identifier ergibt sich eine eindeutige Identität für unterschiedliche Versionen derselben Publikation). Auf diesem Weg kann auf bestehende Metadaten-Strukturen zurückgegriffen werden, die bereits im Verlag für die Distribution eingesetzt werden, und die EPUB-Publikation um diese Angaben ergänzt werden. Weitere nativ unterstützte Metadaten-Standards neben DCTERMS sind MARC, das von Amazon eingesetzte ONIX sowie XSD. Da die Dublin Core-Elemente bereits die wichtigsten Angaben zu einer Publikation enthalten, wird die Implementierung weiterer Metadaten-Standards in der Verlagsbranche selten zum Einsatz kommen.

Mit dem prefix-Attribut am Wurzelelement package lassen sich zudem bestehende oder eigene Namespaces für die Anreicherung mit individuellen Metadaten wie beispielsweise verlagsinternen Angaben deklarieren.

1<package […] prefix="pa: http://www.pagina-online.de/">

2    <metadata xmlns:dc="http://purl.org/dc/elements/1.1/">

3        […]

4        <meta property="pa:bearbeiter">Andreas Kämmerle</meta>

5         […]

Listing 2.5 Definition von Metadaten über einen eigenen Namespace

Darüber hinaus ist es möglich, auf umfangreiche Pakete an Metainformationen außerhalb des EPUB-Containers zu verweisen. Ein externer Datensatz kann mit dem Element link referenziert werden. Mit dem rel-Attribut wird eine vordefinierte oder Namespace-basierende Eigenschaft (entsprechend dem meta-Element) deklariert, auf deren Datenquelle im Attribut href verwiesen wird. Direkt unterstützte externe Ressourcen sind MARC21, MODS, ONIX, XML Signature und das von Adobe eingesetzte XMP.

<link rel="xmp-record" href="http://pagina-online.de/xmp/beispiel.xml"/>

Listing 2.4 Link auf ein externes XMP-Metadatenset

2.1.2 Der manifest-Container

Der zweite Container der Packaging-Datei ist das manifest-Element, das eine Auflistung aller Dateien beinhaltet, aus welchen sich das E-Book zusammensetzt. Dazu gehören die Inhaltsdokumente wie Texte und Multimedia, Navigationsdokumente, Stylesheets und eingebettete Schriften.

Diese Dateien müssen jeweils in einem item-Element referenziert werden. Die item-Elemente sind leere Elemente und beinhalten die notwendigen Angaben als Attributewerte. Im Einzelnen sind dies eine eindeutige ID, ein Verweis auf die Zieldatei sowie eine Deklaration des Medientyps dieser Datei. Der Medientyp einer Ressource wird über den sogenannten MIME-Type definiert. Der MIME-Type beinhaltet eine maschinenlesbare Information über den Typ einer Datei.

MIME-Type

Endung

Bedeutung

application/xhtml+xml

.xhtml

Inhaltsformat

application/font-woff

.woff

Fontformat

application/vnd.ms-opentype

.otf

Fontformat

application/pls+xml

.pls

XML-basiertes Aussprachelexikon

application/smil+xml

.smil

XML-basierte Synchronisierungsstruktur

application/x-dtbncx+xml

.ncx

Abgelöster Navigationsstandard

image/gif

.gif

Abbildungsformat

image/jpeg

.jpg

Abbildungsformat

image/png

.png

Abbildungsformat

image/svg+xml

.svg

XML-basiertes Vektorgrafikformat

audio/mp4

.mp4

Audioformat

audio/mpeg

.mp3

Audioformat

text/css

.css

Stylesheetformat

text/javascript

.js

Skriptformat

Tab. 2.2 MIME-Types der Core Media Types

Für externe Ressourcen sowie Inhalte, die nicht den sogenannten Core Media Types entsprechen, muss des Weiteren eine Alternative angegeben werden, auf die zurückgegriffen werden kann, wenn das Lesegerät den fremden Dateityp nicht wiedergeben kann. Wird beispielsweise ein PDF-Dokument in ein EPUB eingebunden, sollte eine HTML-Datei gleichen Inhalts mitgeliefert werden, um die Inhalte auf Geräten, die PDF nicht darstellen können, dennoch zugänglich zu machen.

Diese Fallback-Lösungen sind notwendig, um eine vollständige Unterstützung der EPUB-Inhalte durch technologisch unterschiedlich leistungsfähige Ausgabegeräte zu gewährleisten und stellen einen wesentlichen Erfolgsfaktor des EPUB 3-Formats dar.

Für das item-Element existiert eine Liste an properties-Attributwerten, welche für bestimmte Einträge gesetzt werden müssen. So wird beispielsweise eine Abbildung mit der cover-image-Eigenschaft als Covergrafik des EPUBs definiert. Darüber hinaus kann mit dem media-overlay-Attribut auf ein Audio-Overlay für ein Inhaltsdokument verwiesen werden, welches wiederum im Manifest gelistet werden muss (siehe Kapitel 2.3).

1<manifest>

2    <item id="toc" properties="nav" href="toc.xhtml" media-type="application/xhtml+xml"/>

3    <item id="cover" href="abbildungen/cover.jpg" media-type="image/jpeg" properties="cover-image"/>

4    <item id="kapitel1" href="kapitel1.xhtml" media-type="application/xhtml+xml"/>

5    <item id="kapitel2" href="kapitel2.xhtml" media-type="application/xhtml+xml"/>

6    <item id="font" href="fonts/DroidSerif-Regular.otf" media-type="application/vnd.ms-opentype"/>

7    <item id="pdf" href="pdf/broschuere.pdf" media-type="application/pdf" fallback="broschuere"/>

8    <item id="broschuere" href="broschuere.xhtml" media-type="application/xhtml+xml"/>

9</manifest>

Listing 2.6 Das manifest-Element mit den item-Kindelementen

Das obere Code-Listing beinhaltet eine Fallback-Struktur für ein eingebundenes PDF [8]. Kann dieses nicht angezeigt werden, wird stattdessen eine XHTML-Datei, die idealerweise denselben Inhalt anbietet, angezeigt. Ausgeschlossen von dieser Fallbackregelung über das manifest-Element sind lediglich Schriftdateien – hier findet das Fallback-Handling über die CSS-Datei statt.

Das Manifest eines EPUBs muss mindestens aus einem Eintrag, der den Verweis auf das Navigationsdokument enthält, bestehen.

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

2.1.4 Das bindings-Element

Der bindings-Container ermöglicht die Steuerung von komplexen Fallback-Mechanismen für Systeme, die JavaScript unterstützen. Die Struktur steuert den Umgang mit Inhalten, die von dem HTML 5-Element object[3] referenziert werden, jedoch nicht zu den Kernmedientypen des EPUB-Standards gehören. Mit diesem Element können externe Inhalte in ein Dokument eingebunden werden. Eine ausführliche Beschreibung des Elements findet sich im Kapitel „HTML 5-Inhaltsdokumente“. Das folgende Beispiel zeigt die Einbindung eines Flash-Videoplayers, der ein MPEG-codiertes Video aufruft.

1<object data="videoplayer.swf" type="application/x-shockwave-flash">

2    <param name="flashvars" value="image=vorschau.jpg&file=video.mp4"/>

3</object>

Listing 2.8 Das object-Element

Die recht komplexe Struktur des bindings-Elements wird hier nur der Vollständigkeit halber beschrieben, ihr Einsatz in EPUB beschränkt sich auf Ausnahmefälle.

Unterstützt ein Lesegerät eine über object eingebettete Struktur oder ein Dateiformat nicht, wird zunächst der bindings-Container auf den nicht unterstützten MIME-Type geprüft und bei Erfolg das in diesem Element referenzierte XHTML-Dokument aufgerufen. Erst wenn keine Entsprechung in den Bindings existiert bzw. auch das geskriptete Inhaltsdokument nicht wiedergegeben werden kann, werden die elementeigenen Alternativen verwendet.

1<manifest>

2    <item id="diashow" href="diashow.xml" media-type="application/slideshow"/>

3    <item id="kapitel_jsplayer" href="kapitel_jsplayer.xhtml" media-type="application/xhtml+xml" properties="scripted"/>

4    […]

5</manifest>

6[…]

7<bindings>

8    <mediaType handler="kapitel_jsplayer" media-type="application/x-shockwave-flash"/>

9</bindings>

Listing 2.9 Fallback-Handling durch die bindings-Komponente

Anhand des Listings 2.7 soll ein solches Szenario aufgezeigt werden. Per object-Element (siehe Kapitel 2.2.1) ist eine Flash-Datei zur Darstellung des Videoplayers (MIME-Type application/x-shockwave-flash) in ein HTML-Dokument eines EPUBs eingebunden. Kann das Lesegerät dieses Dateiformat nicht darstellen, unterstützt jedoch Skripting-Inhalte, wird das mediaType-Element mit identischem MIME-Type in media-type gefunden [8] und stattdessen die Inhaltsdatei, auf die über die ID im handler-Attribut verwiesen wird, aufgerufen. Dieses XHTML-Dokument, welches im Manifest referenziert sein und das Attribut properties="scripted" besitzen muss [3], enthält eine vergleichbare Umsetzung eines Videoplayers auf Basis von JavaScript.

Auf diese Weise können skriptbasierte Alternativen für externe Inhalte implementiert und, über die eigenen Möglichkeiten von object hinaus, komplexe Fallback-Lösungen vorgesehen werden. Die Fallback-Struktur des bindings-Containers hat grundsätzlich Priorität gegenüber Element-spezifischen Mechanismen wie den Kindelementen des object-Elements. Lesegeräte, die JavaScript unterstützen, müssen das bindings-Element auswerten.

Da je Medientyp lediglich ein handler-Dokument definiert werden kann, stößt diese Fallback-Lösung bereits bei der Verwendung zweier Dateien mit selbem MIME-Type an seine Grenzen.

2.2 Content Documents 3.0

Jedes EPUB-E-Book besteht aus einem oder mehreren Inhaltsdokumenten. Diese XHTML- bzw. SVG-Dokumente beschreiben den lesbaren Inhalt einer Publikation und referenzieren weitere Medieninhalte wie Abbildungen oder Videos. Die zulässigen Inhaltsformate und -strukturen einer EPUB-Publikation sind in der IDPF-Spezifikation „Content Documents 3.0“ definiert. Des Weiteren deklariert das Dokument Konformitätsvoraussetzungen für diese Content Documents sowie für die Ausgabesysteme. Die Spezifikation umfasst die folgenden Bestandteile:

XHTML-Inhaltsdokumente

Das XHTML-Navigationsdokument

SVG-Inhaltsdokumente

Skripting-Inhalte

CSS-Stylesheets

Diese Dateien, die den darzustellenden Inhalt des EPUBs umfassen, befinden sich in der Regel in einem eigenen Open Publication Structure-Ordner innerhalb des EPUB-Containers.[4] Das Unterverzeichnis ist nicht verpflichtend, bietet sich aufgrund der besseren Strukturierung der Ressourcen jedoch an.

Abb. 2.3

In den folgenden Unterkapiteln werden die vornehmlich für Buchverlage relevanten Inhaltsdokumente des EPUB-Standards, mit einem Fokus auf die Kernmedientypen, beschrieben.

2.2.1 HTML 5-Inhaltsdokumente

Das grundlegende Vokabular für die textlichen Inhalte eines EPUB-E-Books ist das XHTML-Format basierend auf dem HTML 5-Webstandard. Die Spezifikation definiert HTML 5 entsprechend des aktuellen W3C Working Drafts mit wohlgeformter XHTML-Syntax für die Verwendung in EPUB.

Die Unterstützung der XHTML 5-Auszeichnungsstruktur wird lediglich in wenigen Punkten eingeschränkt und gleichzeitig um formatspezifische Erweiterungen ergänzt. Die Einschränkungen betreffen die Umsetzung der MathML- sowie SVG-Einbettung in die Quellstruktur, während die Erweiterungen die Verwendung semantischer Auszeichnungen an bestimmte Elemente ermöglichen.

Auf einige interessante und layoutrelevante Neuerungen in HTML 5 sowie die strukturellen EPUB-Erweiterungen wird im Folgenden eingegangen. Die Begriffe „HTML“ und „HTML 5“ beziehen sich dabei immer auf die XHTML 5-Syntax entsprechend der EPUB-Spezifikation.

Neue Strukturelemente

Mit HTML 5 wurden die semantischen Auszeichnungsmöglichkeiten von Dokumenten um einige Elemente ergänzt, die für die Abbildung von Buchinhalten sinnvolle Verbesserungen mit sich bringen. Der HTML 5-Entwurf spricht hier von dem sogenannten „Sectioning Content“, der das Auftreten des semantisch undifferenzierten div-Blocks reduzieren soll.

Eines dieser zentralen strukturierenden Elemente mit inhaltlicher Bedeutung ist section, mit welchem ein Dokument in logische, inhaltliche Abschnitte unterteilt werden kann. Diese Unterteilungen können auch verschachtelt werden. Eine identische Funktion kommt dem Element article zu, das im Vergleich zu section jedoch einen alleinstehenden, in sich geschlossenen Inhalt enthalten muss. Somit eignet es sich zum Beispiel für den Einsatz bei digitalen Zeitschriften.

Mit aside existiert eine weitere semantische Struktur, die für ergänzende oder eigenständige Informationen neben dem Hauptinhalt, wie beispielsweise gestalterische Hervorhebungen oder Fußnoten, eingesetzt werden kann. Dieses Element steht innerhalb bzw. anschließend an das Element, auf welches es sich bezieht.

Da dem Sectioning-Element nav in EPUB eine besondere Bedeutung zukommt, wird es in einem eigenen Abschnitt (siehe Kapitel 2.2.2) behandelt.

Inhaltliche Kopf- und Fußbereiche eines Dokuments oder einzelner Abschnitte lassen sich mit den Blockelementen header und footer umsetzen. Diese können jeweils eine Sammlung von einführenden bzw. abschließenden Inhalten umfassen. In der Regel werden sie dafür verwendet, ganze Dokumente zu umschließen. Sie können jedoch genau so gut innerhalb beliebiger Teilstrukturen, wie dem zuvor erläuterten section stehen.

Das nachfolgende Code-Listing verdeutlicht, wie mit den beschriebenen HTML 5-Tags ein Dokument semantisch strukturiert werden kann:

1

2    

3        EPUB 3

4    

5    

6        

7            

8                

EPUB 3

9                

Die neue Überarbeitung des E-Book-Formats.

10            

11            

12                

Der Aufbau des Formats

13                

EPUB-Inhalte werden mit HTML strukturiert.

14                

HTML ist die zentralen Technologie zur Strukturierung von Webdokumenten.

15                

16                    

HTML 5

17                    

HTML 5 ist die aktuellste Version.

18                    

19                        

20                    

21                

22            

23            

24                

© 2012 pagina GmbH, Tübingen

25            

26        

27    

28

Listing 2.10 Exemplarischer Einsatz der HTML 5-Strukturelemente

Überschriften

Der Ausschnitt zeigt ein weiteres HTML 5-Konzept, welches die Überschriftstrukturen betrifft. Die inhaltliche Hierarchie eines Dokuments wird durch die sechs Überschriftselemente h1 bis h6 festgelegt. Zusätzlich zu den Überschriften beeinflusst nun auch die Tatsache, ob sie in den neuen strukturierenden Containern stehen, diese Hierarchie, wodurch unbeschränkte Überschriftsebenen umgesetzt werden können.

Dieser neue Outline-Algorithmus ist schnell erklärt. Bei jedem Sectioning Element (hiervon ausgenommen sind header und footer) beginnt die Zählung der Überschriftenebenen von neuem, jedoch eine Hierarchieebene tiefer als in dem umschließenden Strukturelement. Die h1-Elemente [12 und 16] in Listing 2.8 ergeben trotz selber Elementebene die folgende Überschriftsstruktur:

Der Aufbau des Formats

HTML5

Zusätzlich können mit dem neuem Element hgroup Überschriften nun gruppiert werden, dies kommt zum Beispiel bei aufeinanderfolgendem Titel und Untertitel zum Einsatz. Für die beschriebene Outline wird lediglich das Überschriftselement mit höchstem Rang innerhalb der hgroup-Gruppe ausgewertet.

Die Elemente audio und video

Auch im Bereich der multimedialen Inhalte halten neue Elemente Einzug in den HTML 5-Standard. Hierzu gehören zentral die Elemente audio und video zur nativen Einbettung von Audio- bzw. Video-Inhalten, wodurch diese Inhalte erstmals nahtlos in EPUB-E-Books integriert werden können.

Das audio-Element kann zum Einbinden lokaler Audiodateien und für externe Streams genutzt werden. Bei einer bestehenden Internetverbindung wäre somit auch das nachträgliche Laden von Audio-Inhalten aus dem Web möglich.

1

2    

3    

4    

Die Audio-Datei kann nicht wiedergegeben werden.

5

Listing 2.11 Das audio-Element

Über das src-Attribut des source-Elements wird die Datei oder der Stream eingebunden, das type-Attribut gibt den MIME-Type der Audioquelle an. Das controls-Attribut am audio-Element regelt die Anzeige von Steuerelementen zum Starten, Stoppen oder zur Lautstärkeregelung.

Innerhalb des Elements besteht zusätzlich die Möglichkeit, Ersatzinhalte anzugeben, falls der Audiotyp vom Browser oder E-Book-Reader nicht wiedergegeben werden kann. So kann neben eines textlichen Hinweises [4] auch ein alternatives Dateiformat in Form eines weiteren source-Elements angegeben werden [3]. Die einzelnen source-Elemente werden vom Ausgabesystem dabei in der Sequenz ihres Auftretens auf Verwendbarkeit überprüft.

EPUB-Reader, die Audio wiedergeben können, müssen mindestens das .mp3-Format unterstützen, darüber hinaus gehört das .mp4-Format zu den Kernmedientypen von EPUB.

Das Einbinden des video-Elements ist dem Prinzip des audio-Elements in vielerlei Hinsicht sehr ähnlich. Es erlaubt ebenfalls einen Verweis auf externe Ressourcen anstelle von lokalen Dateien, die Code-Syntax folgt ähnlichen Regeln und auch die meisten Attribute sind identisch.

1

2    

3    

4    

Die Video-Datei kann nicht wiedergegeben werden.

5

Listing 2.12 Das video-Element

Die Attribute width und height regeln hier zusätzlich noch die Anzeigegröße des video-Elements. Das poster-Attribut definiert das Vorschaubild, welches dargestellt wird, solange das Video noch nicht abgespielt wurde.

Wie beim audio-Element, ist innerhalb des video-Elements der Einsatz mehrerer source-Elemente zulässig. Auch bei den Video-Codecs[5] bestehen zwischen den verschiedenen Browsern und Readern große Unterschiede. Im Gegensatz zu Audio definiert die EPUB-Spezifikation für die Video-Einbindung kein verbindliches Format für Lesegeräte und empfiehlt lediglich die Verwendung der verbreiteten Codecs H.264 und VP8. Aus diesem Grund wird bei der Anreicherung von E-Books mit Videos empfohlen, grundsätzlich mehrere Videoformate einzubinden.

Da dies erheblichen Einfluss auf die Dateigröße des EPUBs hat, sollte die Video-Unterstützung im Einzelnen auf den jeweiligen Endgeräten geprüft werden.

Das object-Element

Während die audio- und video-Elemente von HTML 5 zur Einbettung nativer Audio- und Video-Inhalte gedacht sind, können mit dem überarbeiteten object-Element alle Arten externer Inhalte eingebunden werden. In erster Linie ist es für die Einbettung externer Plugin-Inhalte wie Java-Applets oder Flash-Animationen konzipiert, es lassen sich damit jedoch auch XML-Grammatiken oder weitere Multimedia-Inhalte integrieren.

1

2    

3    

Dieses Flash-Video kann leider nicht wiedergegeben werden. Bitte installieren Sie das Flash-Plugin.

4

Listing 2.13 Einbindung einer Flash-Anwendung per object

Auch für das object-Element können alternative Inhalte definiert werden, für den Fall, dass das eigentliche Objekt vom Ausgabesystem nicht dargestellt werden kann.

Über die beschriebenen Neuerungen hinaus existieren zahlreiche weitere HTML 5-eigene Strukturen, die für das EPUB-Format neue spannende Möglichkeiten bieten, wie beispielsweise Formulare, die Geolocation-API zur Beschreibung von GPS-Positionen, die Drag&Drop-API, oder die JavaScript-gesteuerte canvas-Malfläche. Aufgrund des Umfangs können diese im Rahmen dieses Buches nicht vollständig behandelt werden.

Zum Zeitpunkt der Drucklegung dieses Buches ist der HTML 5-Standard noch nicht offiziell verabschiedet.[6] Da zukünftige EPUB-inkompatible Entwicklungen erst in folgenden Updates der EPUB-Spezifikationen berücksichtigt werden können, ist es wichtig, sich dieses Risikos bei der Verwendung spezieller HTML 5-Strukturen in EPUB-Publikationen bewusst zu sein.

Das Attribut epub:type

Mithilfe der Attribut-Erweiterung epub:type, die prinzipiell an alle HTML-Elemente angehängt werden kann, lässt sich unter anderem der Inhalt der beschriebenen neuen Strukturelemente semantisch klassifizieren.

Das Dokument „EPUB 3 Structural Semantics Vocabulary“, das Teil des EPUB-Standards ist, definiert zu diesem Zweck zahlreiche semantische Dokumenteigenschaften für dieses Attribut, die von Ausgabesystemen ausgewertet werden und ein bestimmtes Verhalten auslösen können. Durch ein Leerzeichen getrennt, können mehrere Werte für das Attribut definiert werden. Grundsätzlich muss bei der Verwendung der epub-Erweiterungen der Namespace http://www.idpf.org/2007/ops am Wurzelelement html deklariert werden. Eine vollständige Referenzübersicht zu den epub:type-Attributwerten befindet sich im Anhang dieses Buches.

Mit Hilfe dieser Konstruktion kann beispielsweise einem section-Element die Information mitgegeben werden, welches Buchelement sie repräsentiert (zum Beispiel das Vorwort oder ein Kapitel):

1

[…] xmlns:epub="http://www.idpf.org/2007/ops">

2

3    […]

4

Listing 2.14 epub:type-Erweiterung an section zur Auszeichnung als Vorwort

Eine weitere Einsatz-Möglichkeit ist die Umsetzung von Fußnoten:

1

[…] xmlns:epub="http://www.idpf.org/2007/ops">

2    […]

3    

Das epub:type-Attribut …

4    

Dieses Attribut dient der semantischen Anreicherung von …

5    […]

Listing 2.15 epub:type-Erweiterung für die Auszeichnung von Fußnoten

Der Verweis auf die Fußnote wird innerhalb des Fließtextes mit dem Ankerelement a, das den EPUB-Typ noteref und eine Referenz auf die Fußnote besitzt, ausgezeichnet. Die Fußnote selbst stellt das aside-Element mit dem footnote-Typattribut und entsprechendem Verweisziel id dar.

Ein Beispiel für die Auswertung dieses Attributs ist die Fußnoten-Darstellung von iBooks. Die Anwendung von Apple unterstützt seit Version 2.1.1 einige Teilbereiche des EPUB 3-Standards. Dazu gehört unter anderem die Umsetzung der beschriebenen epub:type-Werte für die Auszeichnung von Fußnoten. Die Inhalte des aside-Elements entsprechend Listing 2.15 sind zunächst standardmäßig ausgeblendet und werden beim Aufruf des Verweises in Form eines Pop-Ups dargestellt.

Abb. 2.4 epub:type-Umsetzung für Fußnoten in iBooks

Das Element epub:switch

Zur Referenzierung von XML-Grammatiken in HTML-Inhaltsdokumenten wurde als spezifische EPUB-Erweiterung das Element epub:switch definiert. Für XML-Strukturen, deren Integration laut Standard zwar erlaubt ist, von Ausgabegeräten jedoch nicht zwingend unterstützt werden muss, bietet diese Erweiterung eine einfache Umsetzung einer Fallback-Kaskade. Somit können Inhalte in nicht nativ unterstützten Strukturen in ein EPUB integriert werden, auch wenn deren Darstellung für den Lesefluss zwingend notwendig ist.

Zur Veranschaulichung dieses Mechanismus soll ein einfacher Anwendungsfall dienen, der die Abwärtskompatibilität für EPUB-Lesegeräte, die MathML nicht unterstützen, gewährleistet.

1

2    

3        

4            

5                

6                    x

7                

8                

9                    2

10                

11            

12        

13    

14    

15        

x/2

16    

17

Listing 2.16 Die epub:switch-Erweiterung

Das epub:case-Element beinhaltet eine Instanz bezogen auf eine XML-Grammatik, deren Namespace im Attribut required-namespace deklariert wird. Das verpflichtende epub:default-Element repräsentiert denselben Inhalt in einer Struktur, die in XHTML-Dokumenten valide ist [15]. Kann ein Lesegerät die Inhalte des epub:case-Elements nicht darstellen, wird die epub:default-Struktur prozessiert. Bei komplexeren MathML-Formeln wäre die Einbindung einer Grafik als Fallback denkbar.

Durch die Kombination mehrerer case-Elemente kann eine Fallback-Kaskade gebildet werden. Dabei muss jedes Element eine alternative Darstellung desselben Inhalts beinhalten. Das Auftreten eines Switches in einem Inhaltsdokument muss im Manifest mit der Eigenschaft properties="switch" am item-Element ausgezeichnet werden.

Listing 2.17 Auszeichnung eines epub:switch-Vorkommens am item-Element

Das Element epub:trigger

Individuelle Schaltflächen zur Steuerung von Multimediaobjekten wie Audio- oder Videowiedergaben können mit dem epub:trigger-Element, der dritten EPUB-Erweiterung der HTML-Syntax, ohne den Einsatz von JavaScript definiert werden. Mit dieser Struktur werden Elementen bestimmte Auslöser, welche die Wiedergabe steuern, zugeordnet. epub:trigger kann für eine globale Definition im head des HTML-Dokuments oder direkt innerhalb eines HTML-Elements stehen.

Ein einfaches Beispiel einer Videowiedergabe soll die Auszeichnungsmöglichkeiten verdeutlichen.

1

2

3

4

5

6    

7    

8        Wiedergabe

9        Pause

10        Mute

11        Unmute

12    

13

Listing 2.18 Die epub:trigger-Erweiterung

Das leere epub:trigger-Element muss die Pflichtattribute ev:observer, ev:event, action und ref besitzen. Die ersten beiden Attribute mit ev-Namespace sind dem W3C-Standard „XML Events“ entlehnt. ev:observer gibt das Quellobjekt des Auslösers an. Im Listing bezieht es sich jeweils auf die button-Elemente (id-Attribut) innerhalb des video-Elements. ev:event definiert das Ereignis, das den

2.2.2 Das HTML-Navigationsdokument

Eines der Ziele der EPUB Working Group war, die proprietären Umsetzungen im EPUB-Standard weiter zu verringern. Im Zuge dessen wurde das im EPUB 2-Standard verwendete Inhaltsverzeichnisformat NCX in der neuen EPUB-Überarbeitung vollständig durch eine universelle XHTML-Lösung ersetzt. Das XHTML-Inhaltsverzeichnis basiert auf dem HTML 5-Element nav. Das Navigationsdokument ist eine Komponente, die in einer EPUB-Publikation entsprechend des Standards zwingend vorhanden sein muss.

Abb. 2.5

Diese Datei stellt das navigierbare Inhaltsverzeichnis des E-Books dar, welches je nach Ausgabegerät bzw. -software unterschiedlich umgesetzt werden kann, zum Beispiel als Seitenleiste neben dem Inhalt. Sie enthält die hierarchische Gliederung des E-Books und ermöglicht dem Leser die direkte Ansteuerung der jeweiligen Publikationsinhalte.

1

2    

Inhaltsverzeichnis

3    

4        

Cover

5        

Titel

6        

Inhaltsübersicht

7        

Einleitung

8        

Kapitel 1

9            

10                

11                

Kapitel 1.2

12            

13        

14        

Weitere Inhalte

15            

16                

Über dieses Buch

17                

Impressum

18            

19        

20    

21

Listing 2.20 Das nav-Element

Das nav-Element dient generell der Auszeichnung von Navigationselementen. Die EPUB-Spezifikation grenzt das Inhaltsmodell des nav-Elements für die Verwendung in EPUB ein. Neben einem optionalen Titelelement für das Inhaltsverzeichnis ist als direktes Kindelement das ol-Element festgelegt, das eine geordnete Liste auszeichnet [3]. Diese Liste entspricht der obersten Ebene der Inhaltsstruktur. Die nachfolgenden li-Listeneinträge beinhalten die einzelnen Navigationspunkte. In der Regel sind das die Überschriftsstrukturen der textlichen Inhaltsdokumente. Es lassen sich aber auch definierte Fragment-Bezeichner[7] innerhalb eines Dokuments ansteuern. Die Reihenfolge der Listeneinträge muss der Sequenz der Inhaltsdokumente im spine-Element der OPF-Datei entsprechen. Innerhalb der Listeneinträge werden die Verweise auf die Zielstruktur mit dem Ankerelement a ausgezeichnet.

Um eine weitere Hierarchieebene umzusetzen, kann anschließend an den Verweis eine weitere, untergeordnete ol-Liste innerhalb eines Eintrags stehen. Hierdurch ist die rekursive Verschachtelung von Listen möglich [9].

Das Listing 2.20 zeigt des Weiteren, dass statt des a-Elements auch ein span-Element eingesetzt werden kann [14], um eine Hierarchieebene mit einer nicht verlinkten Überschrift zu versehen.

Die Spezifikation schränkt das HTML 5-Inhaltsmodell der Elemente span und a nicht ein. Dadurch können neben normalem Text auch Textauszeichnungen oder eingebettete Inhalte als Überschrift oder Verweis verwendet werden. Eingebettete Abbildungen und andere nichttextliche Strukturen müssen dabei eine Textalternative als Fallback enthalten.

Eine entsprechende Ausgabeunterstützung vorausgesetzt, ist mit den Möglichkeiten der neuen Navigationsstruktur beispielsweise ein vollständig bebildertes Inhaltsverzeichnis für ein Kinderbuch umsetzbar.

Der EPUB-Standard definiert mehrere Typen von nav-Elementen für die Verwendung im Navigationsdokument, denen unterschiedliche Aufgaben zukommen. Der Typ wird über das epub:type-Attribut deklariert. Wichtige Typen sind in der folgenden Tabelle gelistet.

epub:type

Vorkommen

Bedeutung

toc

verpflichtend

Zentrale Navigationsstruktur einer Publikation (entspricht dem Print-Inhaltsverzeichnis)

page-list

optional

Navigationsstruktur mit Bezug auf die Seitenzahlen der Print-Publikation (ersetzt das NCX-Element pageList des EPUB 2-Standards)

landmarks

optional

Verweisstruktur für den Zugang zu festen Bestandteilen einer Publikation durch das Ausgabegerät (ersetzt das OPF-Element guide des EPUB 2-Standards)

Tab. 2.3 Varianten des nav-Elements

Die page-list-Navigation

Mit page-list beschreibt der EPUB-Standard eine Navigationsstruktur, die einen Bezug auf die Seiten des gedruckten Buchs ermöglicht – sofern entsprechende Seiteninformationen in den Quelldaten vorhanden sind. Diese Funktion ist vor allem für Fach- und Sachbuchverlage wichtig, bei denen die Referenzierung auf die gedruckte Ausgabe von Bedeutung ist (zum Beispiel um die Zitierfähigkeit zu gewährleisten). In der Inhaltsverzeichnis-Datei des EPUBs kann durch ein zusätzliches nav-Element mit dem Attribut epub:type="page-list" ein klassisches Seitenverzeichnis mit Bezug zur Print-Publikation umgesetzt werden. Die Struktur ist mit der toc-Navigation identisch, die Verweisziele stellen in diesem Fall in den Inhaltsdateien hinterlegte Seitenzahlen dar. Eine solche Seitenreferenz im Text kann wie folgt notiert werden:

Listing 2.21 Seitenreferenz im EPUB-Inhaltsdokument

Es können darüber hinaus weitere, optionale nav-Container für individuelle Verzeichnisse eingebunden werden. Diese sollten jeweils ein eigenes epub:type-Attribut (siehe Übersicht im Anhang) sowie eine verpflichtende Überschrift als erstes Kindelement besitzen.

Das XHTML-Inhaltsverzeichnis muss im Manifest der OPF-Datei mit dem properties-Attributwert nav ausgezeichnet werden. Um die Abwärtskompatibilität des EPUB-Formats für Lesegeräte, die nur mit der früheren EPUB-Version umgehen können, zu gewährleisten, kann das abgelöste NCX-Format weiterhin eingebunden werden. Die NCX-Datei gehört zu den wenigen Strukturen, die von EPUB 2 benötigt wurden und vom neuen EPUB 3-Standard nicht mehr unterstützt werden.