RXS_OpenDom()

This subprocedure initializes DOM parsing for a specified chunk of XML.

Subprocedure Prototype

#

     D RXS_OpenDom     PR                  Extproc('RXS_OpenDom') Opdesc
     D                                     Like(RXS_ParseDOMDS_t)

Returns an RXS_ParseDOMDS_t which contains information and pointers used by subsequent DOM parsing APIs.

     D  Xml                                Like(RXS_Var16Mv_t) Const
     D                                     Options(*Omit:*Varsize)

Chunk of XML to be used for subsequent DOM operations.

     D  DS                                 LikeDS(RXS_OpenDomDS_t)
     D                                     Options(*Nopass:*Varsize)

Holds RXS_OpenDomDS_t used to set up initial DOM parsing options.

Example Code

#
      *--------------------------------------------------------------
      * This example demonstrates configuring 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 RootDomDS       DS                  LikeDS(RXS_ParseDOMDS_t)
      /free
       RXS_ResetDS( OpenDomDs : RXS_DS_TYPE_OPENDOM );
       RXS_ResetDS( RootDomDs : RXS_DS_TYPE_PARSEDOM );
       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

#

     D RXS_OpenDomDS_t...
     D                 DS                  Qualified Template Inz

     D   ReturnedErrorInfo...
     D                                     LikeDS(RXS_ReturnedErrorInfoDS_t) Inz

     D   OnErrorMessageType...
     D                               10I 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.