XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Stylus UserSubject: ISA12 vs GS08
Author: Stylus User
Date: 26 May 2008 01:53 PM
As I understand the specification, the ISA12 only represents the version of the interchange control segments, and GS08 represents the transaction version.

Through testing, it appears that the EDI converter uses ISA12, and not GS08 to determine the version for the transaction group, and thus the schema of the XML document saved.

Does/should the EDI converter use GS08?

Postnext
Tony LavinioSubject: ISA12 vs GS08
Author: Tony Lavinio
Date: 26 May 2008 07:06 PM
The converter should use the value in the ISA for the header,
and in GS for the transaction set itself. If they are different,
the converter should adjust midstream.

Can you give an example of where it is not behaving the way
that is expected?

Postnext
Stylus UserSubject: ISA12 vs GS08
Author: Stylus User
Date: 26 May 2008 11:22 PM
Certainly, it would be my pleasure. We recently received a test file from a new EDI partner, where the ISA and GS versions were different. The ISA was version 00200 (ISA12), and the transaction set was version 004010 (GS08).

The resulting XML file did not validate against the schema for version 4010 because some of the ISA fields were renamed between versions (using the long names). Examples are ISA15 and ISA16: TestIndicator, SubelementSeparator to UsageIndicator, ComponentElementSeparator respectively.

From the translator, I did expect a file which would validate using the version assigned to the transaction (instead of the envelope). It sounds like the translator is more advanced than the schemas which can be generated for validation (we can only generate a schema using one version, but multiple versions can exist in the XML translation).

I'm going to discuss the issue with the partner, to see if I can get the versions to match. However, since the spec allows the two to be different, I can't assert their data is invalid.

Postnext
Tony LavinioSubject: ISA12 vs GS08
Author: Tony Lavinio
Date: 27 May 2008 10:04 AM
> Certainly, it would be my pleasure. We recently received a test
> file from a new EDI partner, where the ISA and GS versions were
> different. The ISA was version 00200 (ISA12), and the
> transaction set was version 004010 (GS08).

First, although we "tolerate" 00200, just note that officially
our support for X12 starts at version 00303, as is noted at
http://www.xmlconverters.com/standards/x12 - but that isn't the
problem here.

> The resulting XML file did not validate against the schema for
> version 4010 because some of the ISA fields were renamed
> between versions (using the long names). Examples are ISA15 and
> ISA16: TestIndicator, SubelementSeparator to UsageIndicator,
> ComponentElementSeparator respectively.

Yes, that's true. The schemas that we generate are good for
mapping, but aren't really designed for validation. This is
because XML Schema doesn't have the functionality necessary to do
real validation. The testing done inside of the converters
themselves is far superior.

> From the translator, I did expect a file which would validate
> using the version assigned to the transaction (instead of the
> envelope). It sounds like the translator is more advanced than
> the schemas which can be generated for validation (we can only
> generate a schema using one version, but multiple versions can
> exist in the XML translation).

In those cases, probably the best solution would be to generate
two schemas and merge the relevant pieces. But again, we don't
support 0020x at this time - but as a concession to some of our
users, we "pretend" it is 00303.

> I'm going to discuss the issue with the partner, to see if I
> can get the versions to match. However, since the spec allows
> the two to be different, I can't assert their data is invalid.

Again, don't assume that if it passes XSD validation the data is
valid. There are a host of reasons why the XSD would say "okay"
when the EDI is wrong, or the XSD would say "yuck" when the EDI
is perfectly fine. For example:

1. Two part fields, like element 103.
2. Two different versions of the same transaction set in the
same file.
3. Field length maximums for numerics (some XSD validators
confuse the length of the 'value space' with that of the
'lexical space'.
4. Segment repeat counts (most XSD validators run out of
memory, so we are forced to say "maxOccurs=unbounded" instead
of using the actual value.
5. Hash and segment count values in trailer segments like CTT,
SE, GE and IEA.

This is why the main purpose of the schemas with the XML
Converters is for mapping, and not for validation. XML Schema
simply isn't powerful enough to do the job.

Hope this helps.

Posttop
Stylus UserSubject: ISA12 vs GS08
Author: Stylus User
Date: 27 May 2008 04:00 PM
Understood. We are trusting validation of content (between tags) to the converter, but validation of structure (tags) to the XSD. This case is even a challenge for mapping, because element names were not consistent.

The way we've used the schema is to build an object model to unmarshall the XML so further EDI processing can be done (JAXB). The object model was expecting the structure of the schema provided (4010).

To be truly flexible (version agnositc), I guess we'd have to use fragments of schemas as you suggest, and unmarshall individual elements, testing versions at the functional group level.

Thank you for the insight into the mind of the converter. In the end, what's most important is that the converter can handle the scenario, even if it presents a challenge to our object model. That we can deal with. Thanks again.

 
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.