This example module uses the input StringID
to access a table and returns the address and length of the string
associated with the StringID. The string is saved in the storage pointed
to by SYS_SVC_PARM during the initialization of the parser (GXLINI)
and in StringID processing (GXLEINI).
Register 14 is used to
store the return address, which must be kept intact in order to exit
this subroutine correctly.
This example module assumes register
one, which is passed in from the caller, contains the address of the
parameter list. The following input variables are used in the example
module:
- SYS_SVC_PARM
- Address of storage area that the caller of the z/OS XML parser wants to pass
to the exit. It also contains the XSI structure information.
- STRID
- StringID used for indexing the list.
The following output variables are used in the example
module:
- STR_ADDR
- Address of string from requested StringID.
- STRLEN
- The length of the string found by StringID.
- DIAG_CODE
- Contains diagnostic information.
- XSI_DC_INCORRECT_StringID_OUTOFBOUND
- STRID length is out of bound.
- XSI_DC_INCORRECT_ID_LOCATION_ERROR
- StringID does not match.
- XSI_DC_INCORRECT_EYE_CATCHER
- Eye catcher is incorrect.
- RETCODE
-
- XSI_RC_FAILURE
- The string cannot be retrieved.
- XSI_RC_SUCCESS
- The string was retrieved successfully.