Patrice,

I decided to drop by to try your parser and observed the following:

The test ORDERS message provided as default input data contains:

UNB+UNOA:1+IRONWARE:ZZ+098533326:ZZ+011107:1500+186'
UNH+72+ORDERS:D:97A:UN'

The problem is that using version "1" as Syntax version number in the UNB in 
combination with "97A" as Message release number in the UNH is not a valid 
combination.

Excerpts from the official text released by the JSWG below will explain why:

EDIFACT Application Level Syntax Rules (ISO 9735)
Versions 1, 2, 3 and 4 - The differences in context

Version 1
First published in 1988, this particular version no longer supports recent 
releases of the UN/EDIFACT directories. The directory version/release has 
changed from a numeric notation (eg. 91.2) to an alphanumeric format (eg. 
D.99B). In the UNG (Functional group header) and the UNH (Message header) 
service segments the corresponding data elements (0052/0054) are defined as 
being numeric.

Version 2
Published in 1990, the syntax rules specified in Version 2 remained unchanged 
from Version 1 with the exception that the alphanumeric version/release format 
is supported and the status of the message release number (0054) and 
controlling agency (0051) were changed from conditional to mandatory.

---

To sum it up, the only UN/EDIFACT directories that used numeric notations and 
therefore can be used with version 1 of the syntax, are: 88.1, 90.1, 90.2, 
91.1, 91.2, 92.1 and 93.2.

As to your XML output, I noticed no surpression of empty elements is being 
performed, especial truncation as in the original EDIFACT input 
(+011107:1500+186'):

    <S004>
      <E0017>011107</E0017>
      <E0019>1500</E0019>
    </S004>
    <E0020>186</E0020>
    <S005>
      <E0022></E0022>
      <E0025></E0025>
    </S005>
    <E0026></E0026>
    <E0029></E0029>
    <E0031></E0031>
    <E0032></E0032>
    <E0035></E0035>
  </UNB>

Why not stop after d/e 0020?
    <S004>
      <E0017>011107</E0017>
      <E0019>1500</E0019>
    </S004>
    <E0020>186</E0020>
  </UNB>


Also your root element is <ORDERS.D.97A>, if that is to identify that the rest 
is the content of the ORDERS message, why include the UNB which is not part of 
the message?

<ORDERS.D.97A>
  <UNB>
    <S001>

If you want to include the complete interchange why not start with the 
interchange as root element? This would be beneficial if there is a need to 
convert a complete interchange with more than one message and/or groups.

<INTERCHANGE>
  <UNA>:+.? '</UNA>
  <UNB>

Regarding the XML tags, did you define your own or use someone else's set?

Regards,

Klaus

------------------------------------

...
Please use the following Message Identifiers as your subject prefix: <SALES>, 
<JOBS>, <LIST>, <TECH>, <MISC>, <EVENT>, <OFF-TOPIC>

Job postings are welcome, but for job postings or requests for work: <JOBS> IS 
REQUIRED in the subject line as a prefix.Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/EDI-L/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/EDI-L/join
    (Yahoo! ID required)

<*> To change settings via email:
    [email protected] 
    [email protected]

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

Reply via email to