z/OS XML System Services

z/OS® XML System Services () is an XML processing component of the z/OS operating system. It contains an XML parser intended for use by system components, middleware, and applications that need a simple, efficient, XML parsing solution. The XML parser can parse documents either with or without validation.
Note: The use of the term z/OS XML parser in this document refers specifically to the z/OS XML System Services parser.
The following are some distinct characteristics of z/OS XML:
  • z/OS XML is an integrated component of z/OS. There is no need to download or install any additional packages to use it.
  • z/OS XML provides a collection of programming interfaces for callers to use:
    • C/C++ and assembler interfaces to the z/OS XML parser itself.
    • C/C++, Java™, and UNIX command line interfaces to utility functions that build binary artifacts required for validation during a parse.
      Note: More information on the Java interfaces can be found in the Javadoc located at /usr/include/java_classes/gxljdocs.jar.
    • Assembler interfaces for user exits that give callers control over how the z/OS XML parser interacts with the rest of z/OS.
    • C/C++ interfaces to a service similar to a user exit, called a StringID handler, that allows for shorthand communications between the z/OS XML parser and the caller.
  • The z/OS XML parser utilizes a buffer-in, buffer-out processing model instead of the event driven model common to SAX parsers. Input to, and output from the parser may span multiple buffers, allowing the caller to request parses for documents that are arbitrarily long.
  • z/OS XML has minimal linkage overhead in order to reduce CPU usage as much as possible.
  • z/OS XML provides assistive aids to the user in debugging not-well-formed documents.
  • z/OS XML supports a number of character encodings, among them UTF-8, UTF-16 (big endian), IBM®-1047 and IBM-037. There is no need on the part of the caller to transcode documents to a canonical encoding before calling the z/OS XML parser. For a full list of these supported encodings, see Supported encodings.
  • Support for enhanced error information records on a validating parse, see Obtaining additional error information.
  • Support for error toleration. See Support for error toleration.
The z/OS XML parser is invoked as a callable service and can be used as such. The callable services stubs are shipped in CSSLIB.

Note about constant names: Some constant names begin with the string "GXLH". These constants are used solely by C callers. For assembler callers, remove the "GXLH" portion to get the appropriate constant name.