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