XML-Know How

Open Container Format 3.0

8538.png
Abb. 2.10 Das OCF-Konzept

Der dritte Teilstandard der neuen EPUB-Spezifikation ist das Open Container Format in der Version 3.0.

Die Spezifikation „Open Container Format 3.0“ definiert den Aufbau des Containerformats eines EPUBs und beschreibt die weiteren benötigen XML-Strukturen des Formats. Der OCF-Container fasst die verschiedenen EPUB-Quelldateien in einer Einzeldatei zusammen. Dabei wird in der Spezifikation zwischen dem abstrakten und dem physischen Container unterschieden. Der abstrakte Container stellt das interne Dateisystem mit Verzeichnisstruktur und Dateien innerhalb des physischen Containers, nämlich des ZIP-Archivs, dar. Des Weiteren definiert der OCF-Standard eine Methode zur Verschlüsselung von eingebetteten Fonts. Der konkrete Aufbau der Bestandteile wird in diesem Kapitel näher erläutert.

2.4.1 Der abstrakte Container

Der abstrakte Container des OCF-Formats definiert das Dateisystem für die Containerinhalte. Innerhalb eines Wurzelverzeichnisses erfordert er die MIME-Type-Datei des EPUBs mit dem Textinhalt application/epub+zip sowie einen Unterordner META_INF, der die eigentlichen Containerdateien beinhaltet. Alle weiteren Publikationsdateien können ausgehend von dem Wurzelverzeichnis beliebig abgelegt werden.

Der Ordner META_INF kann die folgenden XML-Dateien enthalten.

Datei

Vorkommen

Bedeutung

container.xml

verpflichtend

Referenziert die OPF-Datei als Startpunkt

encryption.xml

optional

Enthält Informationen zur
Verschlüsselung der Inhalte

manifest.xml

optional

Manifest-Datei für nicht OPS-konforme Inhalte

metadata.xml

optional

Datei für ergänzende Metadaten auf
Container-Ebene

rights.xml

optional

Enthält Angaben zu digitalem
Rechtemanagement

signatures.xml

optional

Digitale Signaturen für die gesamte oder Teile der Publikation

Tab. 2.3 Dateien des OCF-Substandards

Von allen Bestandteiles des Unterverzeichnisses ist lediglich die container.xml-Datei verpflichtend. Diese XML-Datei stellt den Ausgangspunkt für die Navigation durch das EPUB-Format für Ausgabesysteme dar und muss von den Geräten grundsätzlich als Erstes prozessiert werden. In ihr wird auf die zentrale, weiterzuverarbeitende Paketdatei, also auf die OPF-Datei der EPUB-Publikation, verwiesen.


  <?xml version="1.0" encoding="UTF-8"?>
  <container xmlns="urn:oasis:names:tc:opendocument:xmlns:container" version="1.0">
    <rootfiles>
      <rootfile full-path="OPS/paket.opf" media-type="application/oebps-package+xml"/>
    </rootfiles>
  </container>
Listing 2.32 Die container.xml-Datei

Das Wurzelelement container wurde dem Open Document-Standard ent­lehnt, was anhand des Namespaces verdeutlicht wird. Innerhalb der rootfiles-Struktur verweist das rootfile-Element auf die OPF-Zieldatei. Für den Fall, dass ein Lesegerät das erste Dateiformat nicht lesen kann, können weitere rootfile-Elemente verwendet werden um beispielsweise auf eine alternative PDF-Datei zu verweisen. Mit dem Attribut media-type wird der Dateityp der Zielstruktur, mit full-path der relative Pfad innerhalb des EPUB-Containers, ausgehend vom Wurzelverzeichnis, angegeben.

2.4.2 Der physische ZIP-Container

Der ZIP-Datencontainer eines EPUBs verpackt die definierte Ordnerstruktur in eine einzelne, physische Datei. Dabei wird die ZIP-Kompression angewandt. Lediglich die mimetype-Datei muss unkomprimiert und als erste Datei im Wurzelverzeichnis vorliegen. Das ZIP-Archiv selbst darf als Endformat nicht verschlüsselt werden.

2.4.3 Font-Verschlüsselung

Eine Neuerung des OCF-Standards ist die Möglichkeit, neben Inhaltsdokumenten nun auch eingebettete Schriftdateien zu verschlüsseln, um deren Weiterverwendung außerhalb des EPUB-Archivs zu erschweren. Hierfür wird ein Algorithmus definiert, der die ersten 1040 Bytes der Fontdatei mit Hilfe eines definierten Schlüssels, der aus dem unique-identifier-­Bezeichner des EPUBs abgeleitet wird, codiert. Auf diese Art codierte Schriften müssen in der Datei encryption.xml im META_INF-Verzeichnis gelistet werden.

Es ist wichtig zu erwähnen, dass mit dieser Methode keine vollständige, unwiderrufbare Verschlüsselung der Fontdatei erreicht wird. Der Algorithmus kann wiederum auf die verschlüsselten Dateien angewandt werden, um die unbearbeitete Version zu erhalten. Inwieweit diese Entwicklung auf Unterstützung durch die Schrifthersteller und Verlage trifft, so dass künftig auch lizenzpflichtige Schriften legal in EPUBs eingebunden werden dürfen, bleibt daher abzuwarten.