When
the source document offsets feature (GXLHXEC_FEAT_SOURCE_OFFSETS)
is selected, or the character reference record (GXLHXEC_UNREPRESENTABLE_CHARREF_REC)
is requested, an information record is inserted in the output buffer.
The record has the following structure:
Table 1. Aux info record |
Fields |
+0 |
record type |
flags |
reserved |
+4 |
record length |
+8 |
aux flags |
information type |
+C |
-varied information- |
The record values are defined as follows:
- Record header
- This
is the standard record header of all records in the data model. The
record type is GXLHXEC_TOK_AUX_INFO.
- Aux flags
- These
flags provide information about the form of the data in the rest of
the record:
- XEH_AUX_LONG_VALUE - This flag is only used in records which contain
values which can vary in size. This bit will be OFF if the record
contains integer values that are 4 bytes in length. The bit will be
ON if the record contains values that are 8 bytes in length. Any value
or record length fields in the record such as the record length in
the header will always be 4 bytes no matter what the value of this
bit is.
All offset values which are under 4GB-1 in magnitude will
be represented as a 4 byte value in the data stream and the XEH_AUX_LONG_VALUE
flag will be OFF. When an offset is encountered which exceeds 4 GB,
then all offset records from that point on will be represented as
8 byte values in the data stream and the XEH_AUX_LONG_VALUE will be
set ON.
- AUX_ENTITY - This is set for information records that are generated
from entities.
- Information type
- This
value identifies what information is contained in the record. See information types for
details on the different types.
- -varied information-
- The
contents of the additional information will depend on the information
type and flags. For offset records, this will contain either a 4 or
an 8 byte value which represents the offset of the particular structure
from the beginning of the document. It will be 4 bytes if the XEH_AUX_LONG_VALUE
bit flag bit is OFF in the header. It will be 8 bytes if the XEH_AUX_LONG_VALUE
bit flag is ON in the header.