× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Mark,

That would leave options 'allowmissing' and 'allowextra' useless; 'datasubfield' and 'countprefix' become difficult at best. And think of the havoc a change in the XML schema might cause; you'd probably need some sort of level check on the XML as well :-)

Joep Beckeringh



Op 25-3-2018 om 06:13 schreef mlazarus:
Jon,

 How about by relative position?  I would like this as an option for the Eval-Corr keyword, too.

 -mark

On 3/24/2018 12:46 PM, Jon Paris wrote:
Not wishing to be rude to anyone - but I have never understood why people have so many problems understanding this.  If there wasn't a requirement for the names/structure to match how on earth could it possibly work without some additional parameter providing a "this element goes in this field" mapping?


Jon Paris

www.partner400.com
www.SystemiDeveloper.com

On Mar 24, 2018, at 8:26 AM, Vernon Hamberg<vhamberg@xxxxxxxxxxxxxxx>  wrote:

I admit that sometimes IBM's documentation has to be read a few times to get what it means - saying that, here is something pretty far down the opening page for XML-INTO:

  * The XML data for an RPG data structure is expected to have an XML
    element with the same name as the data structure and child
    elements and/or attributes with the same names as the RPG subfields.

The key phrase, "same name", is the thing - and at first it doesn't seem to have the strength of the requirement we have here - but it does.

Anyhow, I have been a "victim" of this at the beginning of using this op-code, so you are not alone.

Regards
Vern

On 3/23/2018 10:51 AM, SCOURTNEY@xxxxxxxxxxx wrote:
Thanks a million Craig and Barbara ...

I read a load of documentation but nothing stated that I needed to use the original element tags  ..

Just tried it out and eureka ...

Thanks ...



-----Ursprüngliche Nachricht-----
Von: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxx] Im Auftrag von Craig Richards
Gesendet: Friday, 23 March 2018 16:48
An: RPG programming on the IBM i (AS/400 and iSeries)
Betreff: Re: RPGLE XML-INTO

Well ok, since I did most of it already - here is how you could do it in one xml-into:

    Dcl-S XMLDoc VarChar( 512 );

    Dcl-DS docID Qualified Template;
       ProprietaryDocumentIdentifier  Char( 26 );
    End-Ds;

    Dcl-DS genDate  Qualified Template;
       datetimestamp Char( 26 );
    End-Ds;

    Dcl-DS ASN Qualified;
       thisDocumentGenerationDateTime    LikeDS( genDate );
       thisDocumentIdentifier            LikeDS( docID );
    End-Ds;

    XMLDoc = '<ASN>'
           + '<thisDocumentGenerationDateTime>'
           + '<DateTimeStamp>19.03.2018 08:50:55</DateTimeStamp>'
           + '</thisDocumentGenerationDateTime>'
           + '<thisDocumentIdentifier>'
           + '<ProprietaryDocumentIdentifier>87323619.03.2018
08:50:55</ProprietaryDocumentIdentifier>'
           + '</thisDocumentIdentifier>'
           + '</ASN>';

    Xml-Into ASN
             %Xml( XMLDoc : 'path=ASN case=any allowmissing=yes' );

regards,

Craig

On 23 March 2018 at 15:32, Craig Richards<craig@xxxxxxxxxxxxxxxx>  wrote:

Sean,

You need to make sure at the level you path to that your xml elements
match the data structure subfield names.

here is an example using 2 separate xml-into with your data.

You could do it with one xml-into if you build a more nest
datastructure but you'd need to match more subfield names to the xml elements:

I'm not staying this is the best way to parse that document, I'm a bit
pressed for time but this example will show you something that works


    Dcl-S XMLDoc VarChar( 512 );

    Dcl-DS thisDocId_T;
       ProprietaryDocumentIdentifier  Char( 26 );
    End-Ds;

    Dcl-DS docGenDate_T;
       datetimestamp Char( 26 );
    End-Ds;

    Dcl-DS ASN Qualified;
       docGenDate    LikeDS( docGenDate_T );
       thisDocid     LikeDS( thisDocId_T );
    End-Ds;

    XMLDoc = '<ASN>'
           + '<thisDocumentGenerationDateTime>'
           + '<DateTimeStamp>19.03.2018 08:50:55</DateTimeStamp>'
           + '</thisDocumentGenerationDateTime>'
           + '<thisDocumentIdentifier>'
           + '<ProprietaryDocumentIdentifier>87323619.03.2018
08:50:55</
ProprietaryDocumentIdentifier>'
           + '</thisDocumentIdentifier>'
           + '</ASN>';

    Xml-Into ASN.docGenDate
             %Xml( XMLDoc : 'path=ASN/thisDocumentGenerationDateTime
case=any allowmissing=yes' );

    Xml-Into ASN.thisDocid
             %Xml( XMLDoc : 'path=ASN/thisDocumentIdentifier case=any
allowmissing=yes' );

regards,
Craig


On 23 March 2018 at 14:36,<SCOURTNEY@xxxxxxxxxxx> wrote:

Hello all,



I am playing around with XML-INTO and for some reason cannot get this
example to work :

I keep getting : RNX0353 The XML document does not match the RPG
variable;



Example XML



<ASN>

           <thisDocumentGenerationDateTime>

                     <DateTimeStamp>19.03.2018
08:50:55</DateTimeStamp>

           </thisDocumentGenerationDateTime>

           <thisDocumentIdentifier>

<ProprietaryDocumentIdentifier>87323619.03.2018
08:50:55</ProprietaryDocumentIdentifier>

           </thisDocumentIdentifier>

</ASN>



RPG CODE





d ASN             ds                  qualified

d   docGenDate                   LikeDS(docGenDate_T)

d   thisDocid                         LikeDS(thisDocId_T )



*-----------------------------------------

* thisdocumentgenerationdatetime

  *-----------------------------------------

d docGenDate_T    ds

d datetimestamp                 26

  *-----------------------------------------

* thisdocumentidentifier

  *-----------------------------------------

d thisDocId_T     ds

  * proprietarydocumentidentifier

d docId                         26



XML-INTO ASN %XML(XML_Source: 'doc=file          +

                                case=any           +

                                allowmissing=yes');



Any help would be greatly appreciated.





Mit freundlichen Grüßen / Kind regards / Bien à vous,



Sean


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.