| Byte Offset Start | Byte Offset End | Content | Notes |
|---|---|---|---|
| 0 | START [hex 00] | an XML-BLOB encoded value must always start with a 0x00 byte | |
| 1 | FLAGS |
Values for FLAGS are constructed by a bitwise-inclusive OR of flags from the following list:
|
|
| 2 | HEADER [hex AB] | an XML-BLOB encoded value must always have an 0xAB byte in this position | |
| 3 |
6 | SIZE | a 32-bits integer value [little-
big-endian ordered, accordingly to the ENDIANNESS flag] size (in bytes) of the XML Document payload |
| 7 | 10 | COMPR_SZ | a 32-bits integer value [little-
big-endian ordered, accordingly to the ENDIANNESS flag] size (in bytes) of the compressed XML Document payload if the COMPRESSED flag is not set this value is expected to be identical to SIZE |
| 11 | 12 | URI_LEN | a 16-bits integer value [little-
big-endian ordered, accordingly to the ENDIANNESS flag] length (in bytes) of the Schema URI used for Schema Validation set to ZERO if no Schema URI is defined |
| 13 | SCHEMA [hex BA] | an XML-BLOB encoded value must always have an 0xBA byte in this position | |
| 14 | 13 + URI_LEN | SCHEMA_URI |
the Schema URI used for Schema Validation empty (skipped) if no Schema URI is defined: in this case the SCHEMA and FILEID markers are expected to be immediately adjacent |
| 14 + URI_LEN | 15 + URI_LEN | FILEID_LEN | a 16-bits integer value [little-
big-endian ordered, accordingly to the ENDIANNESS flag] length (in bytes) of the fileIdentifier string optionally declared by ISO Metadata documents set to ZERO if no fileIdentifier is defined |
| 16 + URI_LEN | FILEID [hex CA] | an XML-BLOB encoded value must always have an 0xCA byte in this position | |
| 17 + URI_LEN | 16 + URI_LEN + FILEID_LEN | FILE_IDENTIFIER |
the fileIdentifier string optionally declared by ISO Metadata documents empty (skipped) if no fileIdentifier is defined: in this case the FILEID and PARENTID markers are expected to be immediately adjacent |
| 17 + URI_LEN + FILEID_LEN | 18 + URI_LEN + FILEID_LEN | PARENTID_LEN | a 16-bits integer value [little-
big-endian ordered, accordingly to the ENDIANNESS flag] length (in bytes) of the parentIdentifier string optionally declared by ISO Metadata documents set to ZERO if no parentIdentifier is defined |
| 19 + URI_LEN + FILEID_LEN | PARENTID [hex DA] | an XML-BLOB encoded value must always have an 0xDA byte in this position | |
| 20 + URI_LEN + FILEID_LEN | 19 + URI_LEN + FILEID_LEN + PARENTID_LEN | PARENT_IDENTIFIER |
the parentIdentifier string optionally declared by ISO Metadata documents empty (skipped) if no parentIdentifier is defined: in this case the PARENTID and TITLE markers are expected to be immediately adjacent |
| 20 + URI_LEN + FILEID_LEN + PARENTID_LEN | 21 + URI_LEN + FILEID_LEN + PARENTID_LEN | TITLE_LEN | a 16-bits integer value [little-
big-endian ordered, accordingly to the ENDIANNESS flag] length (in bytes) of the Title string optionally declared by ISO Metadata and SLD/SE Style documents set to ZERO if no Tile is defined |
| 22 + URI_LEN + FILEID_LEN + PARENTID_LEN | TITLE [hex DB] | an XML-BLOB encoded value must always have an 0xDB byte in this position | |
| 23 + URI_LEN + FILEID_LEN + PARENTID_LEN | 22 + URI_LEN + FILEID_LEN + PARENTID_LEN + TITLE_LEN | TITLE_TAG |
the Title string optionally declared by ISO Metadata and SLD/SE Style documents empty (skipped) if no Title is defined: in this case the TITLE and ABSTRACT markers are expected to be immediately adjacent |
| 23 + URI_LEN + FILEID_LEN + PARENTID_LEN + TITLE_LEN | 24 + URI_LEN + FILEID_LEN + PARENTID_LEN + TITLE_LEN | ABSTRACT_LEN | a 16-bits integer value [little-
big-endian ordered, accordingly to the ENDIANNESS flag] length (in bytes) of the Abstract string optionally declared by ISO Metadata and SLD/SE Style documents set to ZERO if no Abstract is defined |
| 25 + URI_LEN + FILEID_LEN + PARENTID_LEN + TITLE_LEN | ABSTRACT [hex DC] | an XML-BLOB encoded value must always have an 0xDC byte in this position | |
| 26 + URI_LEN + FILEID_LEN + PARENTID_LEN + TITLE_LEN | 25 + URI_LEN + FILEID_LEN + PARENTID_LEN + TITLE_LEN + ABSTRACT_LEN | ABSTRACT_TAG |
the Abstract string optionally declared by ISO Metadata and SLD/SE Style documents empty (skipped) if no Abstract is defined: in this case the ABSTRACT and GEOMETRY markers are expected to be immediately adjacent |
| 26 + URI_LEN + FILEID_LEN + PARENTID_LEN + TITLE_LEN + ABSTRACT_LEN | 27 + URI_LEN + FILEID_LEN + PARENTID_LEN + TITLE_LEN + ABSTRACT_LEN | GEOMETRY_LEN | a 16-bits integer value [little-
big-endian ordered, accordingly to the ENDIANNESS flag] length (in bytes) of the Geometry (long/lat MBR aka BBOX) optionally declared by ISO Metadata documents set to ZERO if no Geometry is defined |
| 28 + URI_LEN + FILEID_LEN + PARENTID_LEN + TITLE_LEN + ABSTRACT_LEN | GEOMETY [hex DD] | an XML-BLOB encoded value must always have an 0xDD byte in this position | |
| 29 + URI_LEN + FILEID_LEN + PARENTID_LEN + TITLE_LEN + ABSTRACT_LEN | 28 + URI_LEN + FILEID_LEN + PARENTID_LEN + TITLE_LEN + ABSTRACT_LEN + GEOMETRY_LEN | MBR |
the Geometry (long/lat MBR aka BBOX) optionally declared by ISO Metadata documents empty (skipped) if no Geometry is defined: in this case the GEOMETRY and PAYLOAD markers are expected to be immediately adjacent |
| 29 + URI_LEN + FILEID_LEN + PARENTID_LEN + TITLE_LEN + ABSTRACT_LEN + GEOMETRY_LEN | PAYLOAD [hex CB] | an XML-BLOB encoded value must always have an 0xCB byte in this position | |
| 30 + URI_LEN + FILEID_LEN + PARENTID_LEN + TITLE_LEN + ABSTRACT_LEN + GEOMETRY_LEN | 29 + URI_LEN + FILEID_LEN + PARENTID_LEN + TITLE_LEN + ABSTRACT_LEN + GEOMETRY_LEN + COMPR_SZ | XML_DOCUMENT | the XML Document payload |
| 30 + URI_LEN + FILEID_LEN + PARENTID_LEN + TITLE_LEN + ABSTRACT_LEN + GEOMETRY_LEN + COMPR_SZ | CRC [hex BC] | an XML-BLOB encoded value must always have an 0xBC byte in this position | |
| 31 + URI_LEN + FILEID_LEN + PARENTID_LEN + TITLE_LEN + ABSTRACT_LEN + GEOMETRY_LEN + COMPR_SZ | 30 + URI_LEN + FILEID_LEN + PARENTID_LEN + TITLE_LEN + ABSTRACT_LEN + GEOMETRY_LEN + COMPR_SZ | CHECKSUM | a 32-bits integer value [little-
big-endian ordered, accordingly to the ENDIANNESS flag] the CRC32 checksum the checksum has to be computed including any byte starting from the START marker and ending at the CRC marker (these two included) |
| 31 + URI_LEN + FILEID_LEN + PARENTID_LEN + TITLE_LEN + ABSTRACT_LEN + GEOMETRY_LEN + COMPR_SZ | END [hex DD] | an XML-BLOB encoded value must always have an 0xDD byte in this position | |