This subprocedure is used to clean up after utilizing the DOM parsing API RXS_OpenDom(). It only needs to be called on the primary DOM data structure. You should not attempt to close a DOM data structure created as a result of calling RXS_ParseDomToDom().

This subprocedure must be called at the end of all DOM parsing to properly free up memory and avoid performance impacts.

Subprocedure Prototype

D RXS_CloseDom    PR                  Extproc('RXS_CloseDom') Opdesc
D  pDS                                LikeDS(RXS_ParseDomDS_t)
D                                     Options(*Varsize)

The RXS_ParseDomDS_t data structure previously initialized and used as part of RXS_OpenDom()

Example Code

*-------------------------------------------------------------- * This example demonstrates closing DOM parsing using a RXS_ParseDOMDS_t * datastructure. *-------------------------------------------------------------- H DFTACTGRP(*NO) BNDDIR('RXSBND') ACTGRP(*CALLER) /copy QRPGLECPY,RXSCB D RootDomDS DS LikeDS(RXS_ParseDOMDS_t) /free RXS_ResetDS( RootDomDs : RXS_DS_TYPE_PARSEDOM ); RootDomDs.InputCcsid = RXS_CCSID_UTF8; RootDomDS = RXS_OpenDom( gXmlResponse : RootDomDS ); gXPath = RXS_XPath( '/*:Envelope/*:Body/*:FahrenheitToCelsius' + 'Response/*:FahrenheitToCelsiusResult' ); gCelsius = %Dec( RXS_ParseDomToText( gXPath : RootDomDS ) : 11 : 7 ); RXS_CloseDom( RootDomDS ); *INLR = *ON; /end-free

Data Structures

D RXS_ParseDomDS_t...
D                 DS                  Qualified Template Inz
D   ReturnedErrorInfo...
D                                     LikeDS(RXS_ReturnedErrorInfoDS_t) Inz
D   DataStructureType...
D                                5I 0 Inz(RXS_DS_TYPE_PARSEDOM)

Internal use only

D   OnErrorMessageType...
D                                5I 0
D   InputCcsid...
D                               10I 0

Specifies the CCSID of the XML being parsed.

D   OutputCcsid...
D                               10I 0

Specifies the CCSID the parsed data will be converted to.

D   Stmf...
D                                     Like(RXS_Var1Kv_t)

Specifies an IFS path to an XML file to parse instead of the Input parm.

D   NodeCount                   10U 0

Contains the current count of XML nodes tracked by this data structure.

D   NodeType                    10I 0
D   xmlPtr                        *

Internal use only

D   docPtr                        *

Internal use only

D   contextPtr                    *

Internal use only

D   dictPtr                       *

Internal use only

D   currentPtr                    *

Internal use only

D   parentPtr                     *

Internal use only

D   Reserved                  4096A

Internal use only