Show TOC

  Archivierungsformat für gepackte Ressourcen

Wenn Ressourcen einer XML-DAS-Kollektion gepackt werden, entsteht aus den physischen Dateien eine neue physische Datei in der gleichen WebDAV-Kollektion bzw. im gleichen Dateisystem-Verzeichnis. Sie enthält das Suffix .axml (für „Archive XML“). Das Format von .axml-Dateien legt SAP bewusst offen, um eine zukunftssichere, kompakte Speicherung von Inhalten einer Kollektion zu garantieren. Mit der folgenden Beschreibung ist es prinzipiell möglich, die gepackten Ressourcen auch mit anderen Werkzeugen zu lesen oder zu rekonstruieren.

Das von SAP definierte Archivierungsformat beruht auf folgenden Prinzipien:

  • Standardorientierung (Einsatz einer weit verbreiteten standardisierten Komprimierung, Berücksichtigung von XML)

  • Einfachheit (Aufnahme der für Langzeitarchivierung wesentlichen Metadaten, Ermöglichung einer leichten Implementierbarkeit von Interpretern für .axml-Dateien durch sequentielle Blockstruktur mit Längenangabe)

  • Fehlertoleranz (hohe Wahrscheinlichkeit für das Finden von Wiederaufsetzpunkten im Falle von korrupten Blöcken, plattformunabhängige Spezifikation)

  • Effizienz (Byte-Adressierbarkeit für Direktzugriff)

Eine .axml-Datei besteht aus einem Kopf und einer Folge von Blöcken. Jeder Block beginnt mit einem Präfix und enthält anschließend eine komprimierte Ressource. Diese Struktur ist in der folgenden Grafik wiedergegeben.

Der genaue Aufbau des Kopfes ist in der folgenden Grafik dargestellt. Sämtliche Text-Metadaten sind UTF-8-kodiert. Dazu zählen unter anderem die feste Anfangskennung „AXML“ und die Release-Bezeichnung „01.0“. Analog zur Verwendung im GZIP-Format (RFC 1952) und im ZLIB-Format (RFC 1950) wird derzeit nur der „Deflate“-Komprimierungsalgorithmus aus RFC 1951 unterstützt und deshalb das 5. Byte als X’08’ gesetzt. AXML-Dateien werden vom XML-DAS im Format-Release 1.0 nicht verschlüsselt, so dass das 6. Byte hier X’00’ ist. Die Länge der URI für die AXML-Datei wird vor die URI selbst geschrieben. Die höherwertigen Bytes der Längenkodierung gehen den niederwertigen voraus.

Wie die folgende Grafik zeigt, beginnt jeder Präfix mit der sogenannten MIB-Nummer für die verwendete Unicode-Transformation UTF-8, gemäß IANA-Standard für Zeichensätze (Internet Assigned Numbers Authority). Es folgt der XML-DAS-Typ der Ressource in UTF-8, z.B. X’58 4D 4C’ für „XML“. Für die Längenangabe des Ressourcennamens wird 1 Byte benötigt, während für die Länge der komprimierten Ressource 4 Byte reserviert sind. Analog zum Kopf werden die höherwertigen Bytes unabhängig von der Plattform zuerst gespeichert.