GXLEIDR

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.