×

Good News Everybody!

The new search engine is LIVE!

Please report any problems to david (at) midrange.com.




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


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