The Open Packaging Conventions is specified in ISO/IEC 29500-2:2021 and ECMA-376. It is a container-file technology. The Open Packaging Conventions use a Package model that holds a collection of Parts. ZIP archives that contain XML, binary, and other types of files make up an Open Package Conventions-based document. The independent files (or Parts) remain intact in the document and are compressed into a single file container. This provides the advantages of file independence, smaller file size, and a single integrated document for storage.

An Open Package Conventions Package, shown in Figure G., is an aggregate of Parts and References. A Part is the application data files, such as binary files or text files. Relationships are references between Parts in the Package and resources outside the Package.

image057.png

Figure G.1 – Sample relationship and associated markup

Parts in an Open Packaging Conventions Package may contain any type of data. This may include text, images, binaries, XML and other data. Parts are analogous to a folder in a file system. The organization of this “filing system“is left to the user and may be whatever is convenient for the application.

The name of a Part must be unique and URI-addressable. The content of the Part is described using a MIME-style media type. The media types of the Part referred to as the Content_Types in the ISO/IEC 29500-2:2021 specification are stored in the Package in an XML file named “/[Content_Types].xml”.

The content stored in a Part is identified by the Content-Type. Every Part of a Package has a Content-Type.

Relationships are used to navigate the Package, much like a directory. Relationships connect a source to a target, where the source is either the Package itself or a Part of the Package. The target is any URI-addressable resource inside or outside of the Package. This allows for flexibility in a Package such that there are no hardcoded dependencies of the content.

Random access to the Package content is provided by the use of Relationships through the use of directed graph associations. Tools and applications can take advantage of the Relationships to access information in a standardized and predictable manner.

The Relationship Element has four attributes:

  • the identifier (Id, xsd:ID, required);
  • a relationship type (Type, xsd:anyURI, required) (URI defining the role of the relationship);
  • the target (Target, xsd:anyURI, required) (URI reference pointing to a target resource);
  • the target mode (TargetMode, ST_TargetMode, optional) (Internal or External resource);

The relationships are stored in XML files with the extension “.rels” within subfolders named “/_rels”.

The following is an XML markup that defines the relationship identified as “???”, which establishes the association between the Package or Part and the target. “”

<Relationship Id=“”

<Relationship Id=“???”

Type=“ ”

Type=“ ”/>

Each Part may have its own relationships. If the part has relationships, they will be stored in an XML file within the _rels folder that is associated with that Part. That file takes the Part name with a .rels appended to it.

The root-level /_rels folder stores the relationships for the package as a whole. The /_rels folder normally contains a file named .rels, an XML file where the starting package-level relationships are stored.

ISO/IEC 29500-2:2021 states that “Core properties enable users to get and set well-known and common sets of property metadata within packages”. The core properties are the category of the Package, the status of the content, the resource creation date, the creator, a description of the content, an identifier, a set of keywords, the language of the content, the last modifier, date and time of the last printing, modification date, revision, subject (or topic) of the content, a title, and the version. These properties can be empty or omitted. The entire Core Properties Part can be omitted if there are no core properties present.

Thumbnails are images that are to be used to help end-users identify Parts of a Package or a Package as a whole, as stated in ISO/IEC 29500-2:2021, 12.

Digital signatures can be used to enable consumers to validate the integrity of the contents as stated in ISO/IEC 29500-2:202121, 13.