Archiving Format for Packed Resources

When resources of an XML DAS collection are packed a new physical file is created within the same WebDAV collection or the same file system folder. This new physical file contains the packed resources. The new file has the suffix .axml (for “archive XML”). SAP leaves the format of .axml files open to guarantee that the contents of a collection are stored in a secure and compact manner, and to ensure future accesses to the files. What an .axml file is exactly is described below. With this information it is possible to read or recreate packed resources using other tools.

The archiving format defined by SAP is based on the following principles:

·        Standards (implementation of widely used compression standards; use of XML)

·        Simplicity (use of meta data, which is important for long-term archiving of data; the use of a sequential block structure and length information facilitates the easy implementation of  interpreters for .axml files)

·        Tolerance in case of errors (easy to find the restart point in case of corrupt blocks; platform-independent specification)

·        Efficiency (compressed resources are addressed using byte offsets)

An .axml file contains a header and a series of blocks. Each block starts with a prefix and then contains a compressed resource. The following figure shows the structure of an .axml file.

The following figure shows the exact makeup of the header. The meta data is UTF-8 coded. This also includes the fixed beginning ID AXML and the release description 01.0. As is common usage in the GZIP format (RFC 1952) and the ZLIB format (RFC 1950) currently we only support the deflate compression algorithm from RFC 1951 and therefore use the 5th byte as X'08'. The XML DAS does not encrypt the .axml files in format release 1.0. Thus, the 6th byte here is X'00'. The length of the URI of the .axml file is written before the URI itself.  The most significant byte values of the length coding come before the least significant byte values.

The following figure shows that each prefix begins with an MIB number for the Unicode Transformation UTF-8, according to IANA standards for character sets (Internet Assigned Numbers Authority). This is followed by the XML DAS resource type in UTF-8, for example X'58 4D 4C' for ‘XML’. The length information for the resource name requires 1 byte, while the length information for the compressed resource requires 4 bytes. As in the header and independent of the platform, the most significant byte values are stored first.