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



Rick,

to me you are creating very hard to read code that actual dosn't simplify or
cut
down errors.

The basics that I made an example of, requires more XML skills and isn't
stable
because it dosn't encode strings with special characters.


However there are other alternatives, my own open source project has a
"simple"
XML node support with a subprocedure generating the node:

xmlNode(id:attributes:data);

or if you prefer the syntax of XML Toolkit I could build:

xmlNodeInz('id');
xmlNodeAddAttr('attribute':value);
xmlNodeAddAttr('attribute':value)
xmlNodeAddData(data)
xmlNodeAddToBuffer(); // adds to a internal XML buffer
or
xmlData = xmlNodeGet(); // returns the result



On Wed, Oct 5, 2011 at 5:23 PM, <Rick.Chevalier@xxxxxxxxxxxxxxx> wrote:

Henrik,

You are correct. If I can't get an answer to what's going wrong in the
parser that's what I'm going to do.

We are trying to move away from hard coding XML creation and using a parser
to try and cut down on errors.

Rick

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-
bounces@xxxxxxxxxxxx] On Behalf Of Henrik Rützou
Sent: Wednesday, October 05, 2011 9:21 AM
To: RPG programming on the IBM i / System i
Subject: Re: XML Toolkit concatenating strings on multiple calls

Hi Rick,

I don't know anything about XML toolkit, but I'm curious to know what all
this
code does and what the result in XMLOut are, as I read it, it is a single
XML
node with attributes that then are added to a dataqueue.

If so, you could easily just build the node in one single RPGLE statement
like

xmlOut = '<Audit'
+ ' letterID="' + %trimR(letterId) + '"'
+ ' sourceSystem="' + SourceSystem + '"'
+ ' targetSystem="' + TargetSystem + '"'
+ ' auditDate="' + OracleTmsp + '"'
+ ' />');





On Wed, Oct 5, 2011 at 3:02 PM, <Rick.Chevalier@xxxxxxxxxxxxxxx> wrote:

Maybe I didn't make this as clear as I should have.

The read from the data queue is not causing concatenation that is
fine. It is the creation of the XML string using the toolkit that
results in concatenation. The result of building the XML string for
each iteration returns a string containing every XML string created up
to
that point.

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-
bounces@xxxxxxxxxxxx] On Behalf Of Pete Hall
Sent: Tuesday, October 04, 2011 6:06 PM
To: rpg400-l@xxxxxxxxxxxx
Subject: Re: XML Toolkit concatenating strings on multiple calls

On Tue, 04 Oct 2011 17:11:08 -0500, Rick.Chevalier wrote:

I am using the XML Toolkit 5.6(?) to create an XML string. The
program is processing entries from a data queue until the queue is
empty. The XML is being formed properly but the resulting string
is being concatenated to the previous result. For example, if
there are three entries on the queue I will get the correct XML
string on the first call, the correct XML for the second entry
appended to the first XML string on the second call, and the
correct XML for the third entry appended to the XML string
containing the first two entries on the third call.

I've not had that problem. I'm using a construct like this:
xmlData = "";
KeyedDataQueue dq = new KeyedDataQueue(iHost, pathToQueue);
DataQueueEntry dqe = null; do {
dqe = dq.read(dataQueueKey, 1, "EQ");
if (dqe != null) xmlData += dqe.getString(); } while(dqe !=
null); dataExists = (xmlData.length() > 0);

hth
--
Pete Hall
pete@xxxxxxxxxxxxxx
--
This is the RPG programming on the IBM i / System i (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.



Privileged and Confidential. This e-mail, and any attachments there
to, is intended only for use by the addressee(s) named herein and may
contain privileged or confidential information. If you have received
this e-mail in error, please notify me immediately by a return e-mail
and delete this e-mail. You are hereby notified that any
dissemination, distribution or copying of this e-mail and/or any
attachments thereto, is strictly prohibited.
--
This is the RPG programming on the IBM i / System i (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.




--
Regards,
Henrik Rützou

http://powerEXT.com <http://powerext.com/>
--
This is the RPG programming on the IBM i / System i (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.


Privileged and Confidential. This e-mail, and any attachments there to, is
intended only for use by the addressee(s) named herein and may contain
privileged or confidential information. If you have received this e-mail in
error, please notify me immediately by a return e-mail and delete this
e-mail. You are hereby notified that any dissemination, distribution or
copying of this e-mail and/or any attachments thereto, is strictly
prohibited.
--
This is the RPG programming on the IBM i / System i (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.





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.