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



If you need a XML generator for RPG, you might like to have a look at the
noxDB open source project ( Not Only Xml )

https://github.com/NielsLiisberg/noxDB

On Sat, Aug 18, 2018 at 6:29 PM Jon Paris <jon.paris@xxxxxxxxxxxxxx> wrote:

Both powerExt and XMLi allow for an API approach to building the XML
strings. You basically call the API for each entry you want to output.

In Chapter 5 of the RPG Modernization Redbook (
http://www.redbooks.ibm.com/abstracts/sg248185.html <
http://www.redbooks.ibm.com/abstracts/sg248185.html>) I wrote an example
of using each of these options - including CGIDEV2. So if you look at that
you'll get a very direct comparison between the CGIDEV2 approach you are
familiar with and the other two options you are considering.

powerext and XMLi are very similar in approach - it is mostly just a
question of personal preference. Personally (sorry Henrik) I have a slight
preference for XMLi mostly because I find its approach to specifying
attributes to be more obvious than the way it is done in powerExt.


Jon Paris

www.partner400.com
www.SystemiDeveloper.com

On Aug 18, 2018, at 10:23 AM, gio.cot <gio.cot@xxxxxxxxxxx> wrote:

Hi all



In this years, i have used CGIDEV2 (as descripted at

www.mcpressonline.com/programming-other/general/play-time-productive-time
<
http://www.mcpressonline.com/programming-other/general/play-time-productive
-time> ) for generating Xml with RPG; as i would need to generate XML on
V5R4 or al least at V6R1, i would like to know if with XMLi or PowerEXT
i
can solve the problem not to pass/write the empty tags;

Example (using CGIDEV2)

In my template i have:

/$SedeCES

<Sede>

<Indirizzo>/%Indirizzo%/</Indirizzo>

<NumeroCivico>/%NumeroCivico%/</NumeroCivico>

<CAP>/%CAP%/</CAP>

<Comune>/%Comune%/</Comune>

<Provincia>/%Provincia%/</Provincia>

<Nazione>/%Naz%/</Nazione>

</Sede>

When my variable “NumeroCivico” č blank in my Xml i will find:

<Sede>

<Indirizzo>Via del Corso</Indirizzo>

<NumeroCivico></NumeroCivico>

<CAP>00100</CAP>

<Comune>ROMA</Comune>

<Provincia>RM</Provincia>

<Nazione>IT</Nazione>

</Sede>

And clearly this is not good ….as in the <NumeroCivico> there is no value

The simplest way to solve the problem with CGIDEV2 is to change Xml
template
like this:



/$SedeCES

<Sede>

<Indirizzo>/%Indirizzo%/</Indirizzo>

/$NumeroCivicoCES

<NumeroCivico>/%NumeroCivico%/</NumeroCivico>

/$SedeCESContinua

<CAP>/%CAP%/</CAP>

<Comune>/%Comune%/</Comune>

<Provincia>/%Provincia%/</Provincia>

<Nazione>/%Naz%/</Nazione>

</Sede>



And add in my RPG :

If NumeroCivico <> *Blank;

WrtSection('NumeroCivicoCES');

Endif



The same thing could be for CAP or Comune and in this way , it would be a
proliferate of IF cond and "WrtSection". It would be nice and helpful to
say
not write empty tags in Xml ..

My questione now is:

with XMLi or PowerEXT , can i solve/avoid this problem with more ease ?

Any suggestions will appreciated

Thanks in advance









---
Questa e-mail č stata controllata per individuare virus con Avast
antivirus.
https://www.avast.com/antivirus
--
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: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: http://amzn.to/2dEadiD

--
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: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: http://amzn.to/2dEadiD


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.