RXS_CloseDom()
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
|
|
|
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 OpenDomDS DS LikeDS(RXS_OpenDOMDS_t)
D Inz(*LIKEDS)
D RootDomDS DS LikeDS(RXS_ParseDOMDS_t)
D Inz(*LIKEDS)
/free
reset OpenDomDs;
reset RootDomDs;
OpenDomDs.InputCcsid = RXS_CCSID_UTF8;
RootDomDS = RXS_OpenDom( gXmlResponse : OpenDomDs );
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
|
|
|
|
|
|
|
Specifies the CCSID of the XML being parsed. |
|
Specifies the CCSID the parsed data will be converted to. |
|
Specifies an IFS path to an XML file to parse instead of the Input parm. |
|
Contains the current count of XML nodes tracked by this data structure. |
|
|
|
Internal use only |
|
Internal use only |
|
Internal use only |
|
Internal use only |
|
Internal use only |
|
Internal use only |
|
Internal use only |