RXS_ParseDomToText()

This subprocedure retrieves the text result of a specific XPath.

Subprocedure Prototype

     D RXS_ParseDomToText...
     D                 PR                  Extproc('RXS_ParseDomToText') Opdesc
     D                                     Like(RXS_Var16Mv_t)
     D                                     Rtnparm

Returns the text retrieved from the specified XPath.

     D  XPath                              Like(RXS_Var8Kv_t) Const
     D                                     Options(*Varsize)

XPath used to determine which nodes are retrieved into the RXS_ParseDomDS_t return data structure.

     D  DS                                 Like(RXS_ParseDomDS_t)
     D                                     Options(*Varsize)

RXS_ParseDomDS_t data structure, e.g. the "parent" structure.

     D RXS_ParseDomToText...
     D                 PR                  Extproc('RXS_ParseDomToText') Opdesc

     D  Output                             Like(RXS_Var16Mv_t)
     D                                     Options(*Varsize)

Holds the text retrieved from the specified XPath.

     D  XPath                              Like(RXS_Var8Kv_t) Const
     D                                     Options(*Varsize)

XPath used to determine which nodes are retrieved into the RXS_ParseDomDS_t return data structure.

     D  DS                                 Like(RXS_ParseDomDS_t)
     D                                     Options(*Varsize)

RXS_ParseDomDS_t data structure, e.g. the "parent" structure.

Example Code

      *--------------------------------------------------------------
      * This example demonstrates retrieving a text value from a specified  
      *  XPath and storing it in a character field.
      * This example uses IBM i 7.1+ prototypes for most calls; refer to
      *  the individual documentation for these subprocedures for the 
      *  6.1 prototypes.
      *--------------------------------------------------------------
     H DFTACTGRP(*NO) BNDDIR('RXSBND') ACTGRP(*CALLER)

      /copy QRPGLECPY,RXSCB

     D gRootDomDS      DS                  LikeDS(RXS_OpenDomDS_t) 
     D                                     Inz(*LikeDS)

     D gXml            S                   Like(RXS_Var8Kv_t)
     D gData           S                   Like(RXS_Var8Kv_t)
      /free
       reset gRootDomDS;
       
       gXml = RXS_GetStdIn();
       gRootDomDS = RXS_OpenDom( gXml );

       gXPath = RXS_XPath( '/*:bookstore/*:book' );
       gData = RXS_ParseDomToText( gXPath : gRootDomDS );

       *INLR = *ON;
      /end-free

Data Structures

     D RXS_ParseDomDS_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.

     D   NodeCount                   10U 0

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

     D   NodeType                    10I 0

     D   xml@                          *

Internal use only

     D   doc@                          *

Internal use only

     D   context@                      *

Internal use only

     D   dict@                         *

Internal use only

     D   current@                      *

Internal use only

     D   parent@                       *

Internal use only

     D   Reserved                  4096A

Internal use only