ZIP Physical Mapping

The requirements in Table H–6, Table H–7, and

ID

Rule

Reference

Package Implementer

Format Designer

Format Producer

Format Consumer

S3.2

If a growth hint is used for an interleaved part, the package implementer should store the Extra field containing the growth hint padding with the item that represents the first piece of the part.

10.2.7

×

Table J–8 are only relevant when mapping to the ZIP physical package format.

Table 1. H–6. ZIP physical mapping conformance requirements

ID

Rule

Reference

Package Implementer

Format Designer

Format Producer

Format Consumer

M3.1

A package implementer shall store a non-interleaved part as a single ZIP item.

9.2.1

×

M3.2

ZIP item names are case-sensitive ASCII strings. Package implementers shall create ZIP item names that conform to ZIP archive file name grammar.

9.2.2

×

M3.3

Package implementers shall create item names that are unique within a given archive.

9.2.2

×

M3.4

To map part names to ZIP item names the package implementer shall perform, in order, the steps described in §9.2.3.

9.2.3

×

M3.5

The package implementer shall not map a logical item name or complete sequence of logical item names sharing a common prefix to a part name if the logical item prefix has no corresponding content type.

9.2.3

×

M3.6

To map ZIP item names to part names, the package implementer shall perform, in order, the steps described in §9.2.4.

9.2.4

×

M3.7

The package implementer shall map all ZIP items to parts except MS-DOSZIP items, as defined in the ZIP specification, that are not MS-DOS files.

9.2.5

×

M3.8

The package implementer shall map all ZIP items to parts except MS-DOSZIP items, as defined in the ZIP specification, that are not MS-DOS files. [M3.7]

Note:

In ZIP archives, the package implementer shall not exceed 65,535 bytes for the combined length of the item name, Extra field, and Comment fields.

9.2.5

×

M3.9

ZIP-based packages shall not include encryption as described in the ZIP specification. Package implementers shall enforce this restriction.

9.2.5

×

M3.10

Package implementers shall store content type data in an item(s) mapped to the logical item name with the prefix_name equal to “/[Content_Types].xml” or in the interleaved case to the complete sequence of logical item names with that prefix_name.

9.2.6

×

M3.11

Package implementers shall not map logical item name(s) mapped to the Content Types stream in a ZIP archive to a part name.

9.2.6

×

M3.13

Several substantial conditions that represent a package unfit for streaming consumption may be detected mid-processing by a streaming package implementer, described in §9.2.8. When any of these conditions are detected, the streaming package implementer shall generate an error, regardless of any processing that has already taken place. Package implementers shall not generate a package containing any of these conditions when generating a package intended for streaming consumption.

9.2.8

×

M3.14

For a ZIP archive to be a valid physical layer for a package, the package implementer shall ensure that the ZIP archive holds equal values in the appropriate fields of every File Header within the Central Directory and the corresponding Local File Header and Data Descriptor pair.

Annex C

×

M3.15

During consumption of a package, a "Yes" value for a field in a table in Annex C indicates a package implementer shall support reading the ZIP archive containing this record or field, however, support may mean ignoring.

Annex C

×

M3.16

During production of a package, a “Yes” value for a field in a table in Annex C indicates that the package implementer shall write out this record or field.

Annex C

×

M3.17

A “No” value for a field in a table in Annex C indicates the package implementer shall not use this record or field during consumption or production of packages.

Annex C

×

M3.18

A “Partially, details below” value for a record in a table in Annex C indicates that the record contains fields that might not be supported by package implementers during production or consumption. See the details in the corresponding table to determine requirements.

Annex C

×

M3.19

The value “Only used when needed” associated with a record in a table in Annex C indicates that the package implementer shall use the record only when needed to store data in the ZIP archive.

Annex C

×

M3.20

The value “Only used when needed” associated with a record in a table in Annex C indicates that the package implementer shall use the record only when needed to store data in the ZIP archive.

Annex C

×

M3.21

The package implementer shall ensure that all 64-bit stream record sizes and offsets have the high-order bit = 0.

Annex C

×

Notes:

A: Only relevant if supporting the interleaving strategy specified in the Open Packaging Conventions.