gxlhxstr.h - StringID table

StringIDs are numeric values that are substituted for certain character strings that are encountered during the parse process. They can save space in the parsed data stream, and possibly improve performance if there are large numbers of repeated strings in the XML document being parsed. This can be the case with documents that make heavy use of namespaces with long URIs.

A caller may specify a StringID exit for the OSR generator to use, such that when a string is encountered, it will call the exit to either generate a new ID, if the string hasn't been seen before, or return an existing ID for strings which have been previously encountered. As the generator acquires these StringIDs, it saves them away in a table, and substitutes them for the strings that they represent within the OSR. The z/OS XML parser implements a similar behavior when it parses an XML document using StringIDs.

It will often be the case that the caller needs to use the same set of StringIDs at OSR generation time, and when a validating parse is performed with that OSR. The OSR generator API contains the gxluGenStrIDTable service that allows the caller to extract the StringID table from the OSR so that the table can be imported by the StringID exit used during the parse process. See gxluGenStrIDTable — generate StringID table from an OSR for more details about how this service works.

This header file contains the structure definitions that describe the format of the StringID table that is exported from the OSR generator. The table is broken down into a fixed portion that contains information about the table, and a variable length portion containing the individual entries of the table. These are the structures that the StringID exit service can use to import the StringID table in preparation for a validating parse.

There are no Metal C or assembler macro versions of this header file.