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
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
- Stylus Studio Technical Forum (14621)
-> + XML Publisher Generation of XS... (3)
-> + SS Error: Segment UNB: Segment... (6)
-> + SS Enterprise 2007 R2 does not... (2)
-> + Generating XSD from XML - glob... (3)
-> + SS Enterprise 2007 R2 does not... (2)
-> + SS dies on xsl files loads (7)
-> + EDIFACT UNA section ? (3)
-> + SS closes when I attempt to sa... (2)
-> + Support for SPEC 2000 & genera... (6)
-> + Uninstall failure (10)
-> + WSDL to JAVA code (2)
-> + Can't Connect to DB - SQL 2005... (3)
-> + Java editor (3)
-> + Trouble getting my xsl scenari... (6)
-> + Activation Key Not Compatible.... (2)
-> + Stylus Studio 2007 R2 and Regi... (3)
-> - XSD file displayed in Excel an... (1)
-> + What Is This vmm File? (5)
-> + Another in Release 2 (3)
-> + Error on Release 2 (3)
-> + Query DB and convert output to... (11)
-> + import static HTML into XML Pu... (2)
-> + saxon 8.9 include path resolut... (10)
-> + Can't drag field delimiter (2)
-> + Enterprise Edition Relase 2 up... (4)
-> + Upgrade to Enterprise Release ... (2)
-> + HTML to XSLT wizard missing in... (7)
-> + sqlxml.dll error after update ... (4)
-> + Printing the tree or the grid ... (2)
-> + Sorting problem with xsl[decim... (2)
-> + 2007 R2 Saxon: missing Convert... (4)
-> + EDIFACT D96A INVRPT into a SQL... (2)
-> + any addon Feature or tool that... (2)
-> + Catalog Assistance - (3)
-> + WYSIWYG does not show (3)
-> + HL7 support in Stylus (2)
-> + Xerces parser missing from Sty... (4)
-> - automatic DTD verification bef... (1)
-> + Try this (2)
-> - 2007 R2 java code generation -... (1)
-> + 2007 R2 Java built-in XSLT (4)
-> + 2007 R2 saxon 8.9 debug proble... (2)
-> + Stylus Studio Schema Validatio... (3)
-> + Bug: losing items when editing... (2)
-> + 2007 R2 Java built-in XSLT (2)
-> - XML->EDI: inconsistent treatme... (13)
-> ->XML->EDI: inconsistent tr...
-> ->XML->EDI: inconsistent tr...
-> ->XML->EDI: inconsistent tr...
-> ->XML->EDI: inconsistent tr...
-> ->XML->EDI: inconsistent tr...
-> ->XML->EDI: inconsistent tr...
-> ->XML->EDI: inconsistent tr...
-> ->XML->EDI: inconsistent tr...
-> ->XML->EDI: inconsistent tr...
-> ->XML->EDI: inconsistent tr...
-> ->XML->EDI: inconsistent tr...
-> ->XML->EDI: inconsistent tr...
-> + 2007 R2 global java classpath (2)
-> + New Web Service Call Failing (6)
-> + Grid view for nested tables (2)
-> - Revisit Old Problem from last ... (1)
-> + Install Question (3)
-> + hex value problem (5)
-> + WSDL Overview Diagram? (2)
-> + Outputing HTML from an XSLT 2.... (2)
-> + Stylus Studio Schema Publicati... (2)
-> + Re-usable XML Schema (3)
-> + .net xslt extension objects (6)
-> + InstallShield problem (2)
-> + Changing default XSLT processo... (2)
-> - SS incorrectly handles paramet... (1)
-> + Can't add file to project (7)
-> + Stylus invoking when i login i... (2)
-> + How to utilize Saxon (custom) ... (3)
-> + xsl:decimal-format (5)
-> + Hidden Costs of SS? (2)
-> + Eclipse Plugin available? (4)
-> + Having trouble with xpath quer... (2)
-> + Specifying processor to use wi... (3)
-> + MySQL or Generic JDBC Data Sup... (8)
-> + JAXB java generation doesn't s... (3)
-> - Eclipse (1)
-> + XSTL Debugger not working for ... (6)
-> + SS w/ Visual Studio and VSS (2)
-> + SS crashes on load (2)
-> + Can't find file ... then does,... (2)
-> + Diff folders not working (4)
-> + last node in preceding-sibling (3)
-> + SQLXML and Subquery (2)
-> + Xquery - No ReleationalDB opti... (3)
-> + Is a default adapter - not Tid... (8)
-> + Need actual (18)
-> + include path for external enti... (2)
-> + xpath query in SQL server (4)
-> + XPATH Query that works in 2006... (4)
-> + Need help with XML Assignment (3)
-> + Java Compiler in Windows Vista... (6)
-> + Sense:X Only Shows One Enumera... (3)
-> + adding tables and relationship... (6)
-> + preview automatically starts a... (12)
-> + French date in excel 97 using ... (2)
-> + How to maintain large XSL (2)
-> + French date in excel 97 using ... (2)
-> + How to pass EDIFACT as paramet... (3)
-> + C# Generation from XSD (5)
-> + Oracle RDBMS <-> .XSD (2)
-> + Support for Berkeley DB XML 2.... (2)
-> + conrext lost with xslt 2.0 for... (4)
-> + BizTalk schema problem (4)
-> + MSXML 6 properties resolveExte... (3)
-> + Deployment adapters and lookup... (2)
-- Previous [1621-1640] [1641-1660] [1661-1680] Next
+ Website Feedback (249)
+ XSLT Help and Discussion (7625)
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
Edward ScottSubject: XML->EDI: inconsistent treatment of white space
Author: Edward Scott
Date: 03 May 2007 03:07 PM
Originally Posted: 03 May 2007 03:02 PM
EDIT: Sorry, this message board appears to trim white space, which in this case is not very helpful. In my XML and EDI samples I have replacedall space characters with a ·, so please interpret that character as a space (Hex 20).

hi,

I am using a trial version of stylus studio to convert XML to EDI. The java code I am using to do so is almost identical to that in the StylusStudio examples. An excerpt follows, where 'in' is the file path of the input xml and 'out' is the file path of the output edi:

Converter fromXML = ConverterFactory.newInstance().newConvertFromXML("adapter:EDI");
fromXML.convert(new StreamSource(in), new StreamResult(out));

Some places StylusStudio is good about preserving white space. For instance, I have an ISA segment which begins as follows in my XML:

<ISA>
<ISA01>00</ISA01>
<ISA02>··········</ISA02>
<ISA03>01</ISA03>
...
</ISA>

When StylusStudio converts this message the white spaces is preserved: ISA*00*··········*01...~

The elipsis indicates omitted data; it is not in my XML or in the EDI that StylusStudio produces.

In another case I have a segment in which my white space is being removed. For example, the XML for an NM1 segment is as follows:

<NM1>
<NM101>IL</NM101>
<NM102>1</NM102>
<NM103>SMITH</NM103>
<NM104>ROBERT</NM104>
<NM105>B</NM105>
<NM108>ZZ</NM108>
<NM109>··</NM109>
</NM1>

When StylusStudio converts this to an EDI message I end up with the following:

NM1*IL*1*SMITH*ROBERT*B***ZZ*~

When I am expecting the following:

NM1*IL*1*SMITH*ROBERT*B***ZZ*··~

Is this correct behavior? Why is it inconsistant between the ISA segment and the NM1?

Postnext
Tony LavinioSubject: XML->EDI: inconsistent treatment of white space
Author: Tony Lavinio
Date: 03 May 2007 04:58 PM
There is no inconsistency.

In the ISA segment, the elements are defined as having fixed widths,
so they must be padded out.

But for every other element, the following rule kicks in. (This is
the one for strings; numbers have a similar rule.)

3.5.1.4 String
A string data element is a sequence of any characters from the basic
or extended character sets and contains at least one non-space
character. The significant characters shall be left justified. Leading
spaces, when they occur, are presumed to be significant characters. In
the actual data stream trailing spaces should be suppressed. The
representation for this data element type is AN.

So notice that trailing spaces are to be suppressed.

Postnext
Edward ScottSubject: XML->EDI: inconsistent treatment of white space
Author: Edward Scott
Date: 03 May 2007 05:03 PM
>In the ISA segment, the
>elements are defined as having
>fixed widths,
>so they must be padded out.

Correct. But according to the specs I am using (which can be found at the HIPAA Electronic Reading Room: http://www.ihs.gov/AdminMngrResources/HIPAA/docs/x092.pdf), the NM109 has a minimum length of 2. So shouldn't that be padded out also?

Postnext
Tony LavinioSubject: XML->EDI: inconsistent treatment of white space
Author: Tony Lavinio
Date: 04 May 2007 10:30 AM
Yes, but that only applies to mandatory (M) elements.
Since NM109 is not mandatory, the proper way to show
that the value is not present is to omit it, not to
pad it out.

The reason the ISA segment is special is because some
of the special control symbols are in the line at certain
positions. So EDI parsers expect always to find:
- the data element separator at position 3,
- the data repetition character at position 82 (00402 and higher only),
- the component data element separator at 104, and
- the segment terminator character at 105.

If the elements in that first ISA record were not fixed,
the parser wouldn't know where to find those symbols.

Postnext
Edward ScottSubject: XML->EDI: inconsistent treatment of white space
Author: Edward Scott
Date: 04 May 2007 12:05 PM
>Yes, but that only applies to
>mandatory (M) elements.
>Since NM109 is not mandatory,
>the proper way to show
>that the value is not present
>is to omit it, not to
>pad it out.

OK, this is starting to make sense. Now, while NM109 is not mandatory (M), it's not optional (O) either. It's requirement designator is X, and according to the syntax notes, "if either NM108 or NM109 is present, then the other is required."

I do have a NM108 present, so shouldn't that cause NM109 to be required?

Postnext
Tony LavinioSubject: XML->EDI: inconsistent treatment of white space
Author: Tony Lavinio
Date: 04 May 2007 01:04 PM
Yes but no. ;)

Where possible, truncating spaces still trumps all but the
actual (M)andatory attribute.

Postnext
Edward ScottSubject: XML->EDI: inconsistent treatment of white space
Author: Edward Scott
Date: 04 May 2007 01:30 PM
Well then, I am presented with a problem. The EDI that StylusStudio is generating from my XML is not valid. Either I have an NM108 but no NM109, or I have an NM109 that doesn't satisfy the minimum length requirements.

Is there an option in the StylusStudio converter to prevent the truncating of white space? Or is there some attribute I can add to XML element to prevent truncating white space on that particular element?

Postnext
Tony LavinioSubject: XML->EDI: inconsistent treatment of white space
Author: Tony Lavinio
Date: 04 May 2007 02:05 PM
That's an interesting question, and frankly one that's not come up.
We'll do some research and let you know shortly.

Postnext
Edward ScottSubject: XML->EDI: inconsistent treatment of white space
Author: Edward Scott
Date: 15 May 2007 04:55 PM
Did you manage to find anything in your research?

Postnext
Tony LavinioSubject: XML->EDI: inconsistent treatment of white space
Author: Tony Lavinio
Date: 17 May 2007 03:50 PM
I have two different strategies.

1) Redefining the element to be mandatory so that it doesn't
trim the space,

2) Allowing support of an extra attribute, like xml:space, to
be recognized.

Do you have a sample EDI file we can use to make sure we've got
your scenario covered? You can post it here as an attachment or
email it to stylus-field-report@progress.com.

Postnext
Edward ScottSubject: XML->EDI: inconsistent treatment of white space
Author: Edward Scott
Date: 17 May 2007 04:10 PM
I have recently spoken with the people we are sending the EDI messages to. The appropriate thing for me to do here is to actually leave out both the NM108 and the NM109 if the NM109 is blank.

In fact, nowhere beyond the ISA segment will I need to include a field consisting entirely of spaces. So stylus studio's behavior will work just fine.

Thank you for looking into this, and thank you for being patient. I am new to EDI, so I appreciate your explanations.

Postnext
Alex GuarneriSubject: XML->EDI: inconsistent treatment of white space
Author: Alex Guarneri
Date: 12 Sep 2007 06:13 AM
Tony,
We are facing a similar problem.

When a this tag is processed from XML to EDI
<IMD0304 xml:space="preserve">Attivitą e virtł. Anima e corpo in </IMD0304>
the trailing space after "in" is truncated.
Putting the xml:space attribute doesn't seem to work either.

Any suggestions?

Thankl you.

Alessandro

Posttop
Tony LavinioSubject: XML->EDI: inconsistent treatment of white space
Author: Tony Lavinio
Date: 12 Sep 2007 09:38 AM
In your case, we are doing the correct thing.
According to the EDIFACT standard at
http://www.unece.org/trade/untdid/texts/d422_d.htm,
it says regarding white space:

7. COMPRESSING

In data elements for which the Data Elements Directory specifies
variable length and there are no other restrictions, insignificant
character positions shall be suppressed. In the case of insignificant
characters, leading zeroes and trailing spaces shall be suppressed.

   
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.