× 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.



I keep seeing this type of ant-XML-INTO post from you Charles and I’d love to know why you feel this way.

Admittedly there are situations where the DS for XML-INTO gets very complex - but once done the rest is trivial. XML-SAX on the other hand needs a whole bunch of (tedious) programming to achieve anything. I’ve also seen some horrible examples where an attempt to “simplify” the processing could end up producing erroneous results. As you say it is useful when you just want to grab a few elements out of the doc but otherwise it can get nasty very quickly.

As to the SQL “solution” - even many of IBM’s DB2 folks like to pretend that piece of nastiness doesn’t really exist. Maybe it is partly because I find SQL syntax so awkward to begin with, but the SQL stuff is just plain ugly. Take Daniel’s example that you referenced. That’s about 5 times the code needed to do the same task with XML-INTO and only gets worse the more complex the document (nested repeating elements for example).

One thing I’ve had on the back burner for a while is a D-spec generator for XML-INTO, one of these days I’ll get that finished.


Jon Paris

www.partner400.com
www.SystemiDeveloper.com

On May 17, 2016, at 4:57 PM, Charles Wilt <charles.wilt@xxxxxxxxx> wrote:

You've got your answer...

But wanted to add that I'd reconsider building a DS to store the data from
the XML.

If you're planning to use XML-INTO, don't. For simple docs, it's great.
Not so much for complex ones. Instead, use the SAX Parser; especially if
you're only really interested in part of the document.

If you really need all the data, consider looking into the various XML SQL
functions built into the DB now-a-ways.

In particular, if the XML doc contains RDB data, take a look at
XDBDECOMPXML()
http://daniel-vesely.blogspot.com/2012/02/xml-decomposition-on-ibm-i71.html

Also the XMLTABLE() function...

Charles





On Tue, May 17, 2016 at 4:14 PM, John R. Smith, Jr. <
smith5646midrange@xxxxxxxxx> wrote:

I am building a very complicated (some might say convoluted) data structure
in an RPG program to handle an XML document (the XSD is a couple thousand
lines). It will have multiple levels of nested data structures and
multiple
dimensions on some of the levels.



My question is if I create a data structure like shown below, since Field1
and Field2 are varying, is my data structure always consuming 514 bytes as
it shows in the compile listing or if I store "Hello" in Field1 and "World"
in Field2, is it only using 14 bytes? I'm trying to figure out if I can
use
a default length of maybe 255 or if I should spend the time trying to
figure
out what the max size of each field should be.



Program

d Data ds

d Field1 255 varying

d Field2 255 varying



Compile listing

DATA DS(514)

FIELD1 A(255)

VARYING(2)

FIELD2 A(255)

VARYING(2)

--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related questions.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
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.