Jon,

what it basical does is conver at XML sections like this

<cac:PartyTaxScheme>
<cbc:CompanyID schemeID="DK:SE">DK30555104</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID schemeID="urn:oioobl:id:taxschemeid-1.1"
schemeAgencyId="320">63</cbc:ID>
<cbc:Name>Moms</cbc:Name>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartylegacyEntity>
<cbc:RegistrationName>Lolita Stjernefryds hårsalon for krøllet
hår</cbc:RegistrationName>
<cbc:CompanyID schemeID="DK:CVR">DK30555104</cbc:CompanyID>
</cac:PartyLegacyEntity>

Into this

xmlNode('cac:PartyTaxScheme');
xmlNode('cbc:CompanyID'
:'schemeID="'+ 'DK:SE' +'" '
:'DK30555104'
);
xmlNode('cac:TaxScheme');
xmlNode('cbc:ID'
:'schemeID="'+ 'urn:oioobl:id:taxschemeid-1.1' +'" '
+'schemeAgencyId="'+ '320' +'" '
:'63'
);
xmlNode('cbc:Name':'':'Moms');
xmlEndNode('cac:TaxScheme');
xmlEndNode('cac:PartyTaxScheme');
xmlNode('cac:PartylegacyEntity');
xmlNode('cbc:RegistrationName':'':'Lolita Stjernefryds hårsalon
for krøllet hår');
xmlNode('cbc:CompanyID'
:'schemeID="'+ 'DK:CVR' +'" '
:'DK30555104'
);
xmlEndNode('cac:PartyLegacyEntity');


You can replace constants by fieldname by chaning the before the conversion
with %myFieldName
or afterwards by chainging the constants in the RPG code

Im am a lazy programmer ;-)


On Fri, Mar 7, 2014 at 10:39 PM, Jon Paris <jon.paris@xxxxxxxxxxxxxx> wrote:

Thanks - I'll give it a look.


On 2014-03-07, at 4:19 PM, Henrik Rützou <hr@xxxxxxxxxxxx> wrote:

Jon,

yes there is a PXXMLRPGCM command that generates RPG code and a
PXXMLXMLCM that restructure an XML file so XML can be read in text based
editors with right identions and line breaks. Both are part of Core.

I do a lot of work on the Danish public format OIOUBL and they have
online
validation that bot are XSD and Schematron validations.

http://www.oioubl.info/classes/en/index.html

I write a "new" section into and existing XML document as an example
and validates it - then I generate the RPG code to include in your
program.

Many XML projects starts with an example so to me it was natual to
generate the basic RPG code and just fill the missing RPG code around it.





On Fri, Mar 7, 2014 at 6:17 PM, Jon Paris <jon.paris@xxxxxxxxxxxxxx>
wrote:

Not so far Henrik - not had a need to do that to-date.

Nice to know it is there though. Is that part of Core?


On 2014-03-07, at 11:36 AM, Henrik Rützou <hr@xxxxxxxxxxxx> wrote:

Jon,

have you ever tried to take a sample XML document and convert it into
powerEXT RPGLE
XMLNODE code by using the PXXMLRPGCM command? It will replicate the xml
document
an create RPGLE code.


On Fri, Mar 7, 2014 at 5:30 PM, Jon Paris <jon.paris@xxxxxxxxxxxxxx>
wrote:

I've had several cases Todd where the customer provided sample XML but
there was no schema. This was a lot faster that ploughing through the
XML.

I agree that it may not be perfect - but that wasn't what I was
looking
for.


On 2014-03-07, at 11:18 AM, "Allen, Todd" <
Todd.Allen@xxxxxxxxxxxxxxxxx

wrote:

I would be a little bit hesitant to use a schema generator, much like
writing code first and then doing the design work. I'm not saying it
cannot work but be careful.

Thanks,
Todd


-----Original Message-----
From: web400-bounces@xxxxxxxxxxxx [mailto:
web400-bounces@xxxxxxxxxxxx]
On Behalf Of Jon Paris
Sent: Friday, March 07, 2014 11:12 AM
To: Web Enabling the IBM i (AS/400 and iSeries)
Subject: Re: [WEB400] WSDL - Mix simple and complex types

Michael - have you tried this:
http://www.freeformatter.com/xsd-generator.html

I found it quite useful recently in a similar situation to yours
where
I
could not get the sequencing right. You simply paste in a section of
your
XML and it writes a basic xsd for you which you can then refine.

Various other transforms/checks on the site as well.

Sorry I didn't think to suggest this earlier.



On 2014-03-07, at 11:07 AM, Michael Ryan <michaelrtr@xxxxxxxxx>
wrote:

Thanks Todd and Grizz. I will investigate both of these. Looks like
that's the path I want to be on!


On Fri, Mar 7, 2014 at 10:57 AM, Allen, Todd
<Todd.Allen@xxxxxxxxxxxxxxxxx>wrote:

Michael,

I think the problem is that you don't have a parent element to
contain the repeating elements. Try something like the schema
below.
Please let me know if this works for you.

<?xml version="1.0" encoding="UTF-8"?> <xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:tst="
http://ws.example.com/test"; attributeFormDefault="unqualified"
elementFormDefault="qualified" targetNamespace="
http://ws.example.com/test";
xml:lang="en">
<xsd:annotation>
<xsd:documentation xml:lang="en">Test store web
service</xsd:documentation>
</xsd:annotation>

<xsd:element name="documentName">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="store" type="xsd:string" />
<xsd:element name="repeater"
type="tst:RepeaterType"
/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>

<xsd:complexType name="ItemType">
<xsd:sequence>
<xsd:element name="sku" type="xsd:string" />
<xsd:element name="promo" type="xsd:string" />
<xsd:element name="zip" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="RepeaterType">
<xsd:annotation>
<xsd:documentation>Repeating element</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="item" type="tst:ItemType" minOccurs="1"
maxOccurs="10" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

Thanks,
Todd


-----Original Message-----
From: web400-bounces@xxxxxxxxxxxx
[mailto:web400-bounces@xxxxxxxxxxxx] On Behalf Of Michael Ryan
Sent: Thursday, March 06, 2014 12:18 PM
To: Web Enabling the AS400 / iSeries
Subject: [WEB400] WSDL - Mix simple and complex types

Ok...I've worked with WSDLs to define web services, but it's always
been the clone and go type model. I'm running into a problem now
that
I can't seem to resolve. Here's the gist: I want to have a web
service that accepts a store number, and then up to 10 groups of
SKU,
promo and zip. I'm trying
this:

<xsd:element name="inStore">
<xsd:simpleType>
<xsd:restriction base="xsd:string" /> </xsd:simpleType>
</xsd:element> <xsd:element name="eCommercePromosOperation">
<xsd:complexType> <xsd:sequence minOccurs="1" maxOccurs="10">
<xsd:element name="inSKU"
type="xsd:string"></xsd:element> <xsd:element name="inPromoNum"
type="xsd:string"></xsd:element> <xsd:element name="inZip"
type="xsd:string"></xsd:element> </xsd:sequence> </xsd:complexType>
</xsd:element>

But SoapUI only shows the complex type, like this (in the request):

<ecom:eCommercePromosOperation>
<inSKU>?</inSKU>
<inPromoNum>?</inPromoNum>
<inZip>?</inZip>
</ecom:eCommercePromosOperation>

Any ideas? Thanks!
--
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400)
mailing list To post a message email: WEB400@xxxxxxxxxxxx To
subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/web400
or email: WEB400-request@xxxxxxxxxxxx Before posting, please take
a
moment to review the archives at
http://archive.midrange.com/web400.

For More Than 80 Years--Delivering Solutions That Exceed
Expectations.

This communication and any transmitted documents are intended to be
confidential. If there is a problem with this transmission, please
contact the sender. If the reader of this message is not the
intended
recipient, or the employee or agent responsible to deliver it to
the
intended recipient, you are hereby notified that any dissemination,
distribution or copying of this communication is strictly
prohibited.
--
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400)
mailing list To post a message email: WEB400@xxxxxxxxxxxx To
subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/web400
or email: WEB400-request@xxxxxxxxxxxx Before posting, please take
a
moment to review the archives at
http://archive.midrange.com/web400.


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


Jon Paris

www.partner400.com
www.SystemiDeveloper.com




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

For More Than 80 Years—Delivering Solutions That Exceed Expectations.

This communication and any transmitted documents are intended to be
confidential. If there is a problem with this transmission, please
contact
the sender. If the reader of this message is not the intended
recipient, or
the employee or agent responsible to deliver it to the intended
recipient,
you are hereby notified that any dissemination, distribution or
copying
of
this communication is strictly prohibited.
--
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400)
mailing
list
To post a message email: WEB400@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/web400
or email: WEB400-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/web400.


Jon Paris

www.partner400.com
www.SystemiDeveloper.com




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




--
Regards,
Henrik Rützou

http://powerEXT.com <http://powerext.com/>
--
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400)
mailing
list
To post a message email: WEB400@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/web400
or email: WEB400-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/web400.


Jon Paris

www.partner400.com
www.SystemiDeveloper.com




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




--
Regards,
Henrik Rützou

http://powerEXT.com <http://powerext.com/>
--
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing
list
To post a message email: WEB400@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/web400
or email: WEB400-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/web400.


Jon Paris

www.partner400.com
www.SystemiDeveloper.com




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





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.