String Identifiers

This section provides information on the String Identifiers (StringIDs) that can be passed back to the caller by the z/OS XML parser.

Note: The StringID exit is an optional service that the caller may supply. If there is no StringID exit available, the z/OS XML parser will simply return the actual length/value pairs for the strings representing localnames, URIs, and prefixes in the data stream it returns to the caller. See Length/Value pairsfor more discussion on this topic.
StringIDs are 4 byte numeric values that are used to represent a given string that is returned from the z/OS XML parser to the caller. StringIDs can be used to represent the localname (lname), namespace prefix, and namespace URI for the following items:

These are the strings in the parsed data stream that are most likely to be repeated. StringIDs are provided by a caller-supplied service exit that the z/OS XML parser invokes any time it encounters certain strings that it hasn't seen before. See the description of the symbol service exit (GXLSYM31 (GXLSYM64) — StringID service, GXLPSYM31 (GXLPSYM64) — StringID handler) for more details.

Once the z/OS XML parser receives a StringID for a given string, it will record the ID, and return it in place of the actual lname, namespace prefix, or namespace URI string in the parsed data stream that is returned to the caller. The use of StringIDs reduces the size of the parsed data stream especially for documents with namespace references. URIs that would normally be returned for every element and attribute name can be represented in 4 bytes instead of their text that is generally much longer.