RXS_ignElemNamSpc()

Call this subprocedure before RXS_parse() to tell the parser of an XML namespace to ignore while parsing. Ignore simply means it will not add the namespace to the XPath.

This is especially useful when parsing SOAP envelopes as the namespace can vary depending on what language created the document. For example, .NET traditionally uses a SOAP envelope like the following: <soapenv:Envelope>. Java on the other hand often generates a SOAP envelope like the following: . Both are entirely valid but cause problems when parsing because in your allHandler subprocedure it is looking for a specific XPath (i.e. `/soapenv:Envelope/soapenv:Body/myelement`).

By telling the parser to ignore name spaces for the Envelope and Body SOAP tags the XPath will instead look like the following: /Envelope/Body/myelement. A code sample showing how to make use of RXS_ignElemNamSpc can be found in the RPG-XML Suite installation library in member GETURI2 (i.e. MYRXS/EXAMPLE,GETURI2)

Supplying an empty argument for pXPath will ignore all namespaces. (This ability is only available in version 2.0 or later. For versions previous to 2.0, a parameter is required and the prototype does not contain the *NOPASS option.)

Subprocedure Prototype

D RXS_ignElemNamSpc...
D                 pr

Configure to ignore namespaces when parsing XML.

D  pXPath                             const like(RXS_XPath) options(*nopass)

Specify the XPath to the element where you want name spaces ignored. When specifying the XPath to an element do NOT include anything at the end of the string (i.e. '>' or '/' or '/>' which are used to denote begin element event, content element event, and end element event in other parts of RPG-XML Suite). Instead just supply the path excluding the name space you are looking to ignore.

Example: '/Envelope/Body'