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
Rob den BoerSubject: Convertic EDI files into XML
Author: Rob den Boer
Date: 14 Apr 2009 10:35 AM

I am evaluating Stylus Studio to see if this software can do the job for us.

I have watched the EDI to XML video, and started my own conversion, I converted the EDI to XML, and I am working with xQuery to map the data in the required XML format.


I want to know how to deal with multiple segments, for instance in the EDI file:
DTM+11:20090406:102'
DTM+17:20090406:102'
DTM+137:200904061319:203'

translates to:
<DTM>
<DTM01>
<DTM0101><!--2005: Date/time/period qualifier-->11<!--Despatch date and/or time--></DTM0101>
<DTM0102><!--2380: Date/time/period-->20090406</DTM0102>
<DTM0103><!--2379: Date/time/period format qualifier-->102<!--CCYYMMDD--></DTM0103>
</DTM01>
</DTM>
<DTM>
<DTM01>
<DTM0101><!--2005: Date/time/period qualifier-->17<!--Delivery date/time, estimated--></DTM0101>
<DTM0102><!--2380: Date/time/period-->20090406</DTM0102>
<DTM0103><!--2379: Date/time/period format qualifier-->102<!--CCYYMMDD--></DTM0103>
</DTM01>
</DTM>
<DTM>
<DTM01>
<DTM0101><!--2005: Date/time/period qualifier-->137<!--Document/message date/time--></DTM0101>
<DTM0102><!--2380: Date/time/period-->200904061319</DTM0102>
<DTM0103><!--2379: Date/time/period format qualifier-->203<!--CCYYMMDDHHMM--></DTM0103>
</DTM01>
</DTM>



Now I want to map the first DTM segment with qualifier 11 to a field in my xQuery target. Now I get all DTM segments.

How can I do this?


Postnext
Ivan PedruzziSubject: Convertic EDI files into XML
Author: Ivan Pedruzzi
Date: 14 Apr 2009 06:55 PM
Hi Ron,

You need to create a repeating loop with the "where" port set to filter DTM0101 = 11, take a look at a similar situation in the screenshot attached.

Hope this helps
Ivan Pedruzzi
Stylus Studio Team

Postnext
Rob den BoerSubject: Convertic EDI files into XML
Author: Rob den Boer
Date: 15 Apr 2009 03:40 AM

Yes, that did the trick, Ivan. Thanks for your help!

Postnext
Rob den BoerSubject: Convertic EDI files into XML
Author: Rob den Boer
Date: 21 Apr 2009 10:22 AM
Ivan, I m stuck-- I hope you can help me again.

I am converting from EDIFACT to XML message, and want to map segment DTM.137 to field "created".

I already have several FLWOR blocks, and cannot attach 2 FLWOR blocks to the same node, which is in fact what i want.

when I attach the FLWOR block to field "created", the xQuery code turns out wrong becaused of the nested quotes, see attached screen.

How can I work around this?


screen dump

Postnext
Ivan PedruzziSubject: Convertic EDI files into XML
Author: Ivan Pedruzzi
Date: 21 Apr 2009 05:37 PM
Hi Rob,

One possible solution is to use a predicate

<a:temporder created="$ORDERS/DTM/DTM-01-DateTimePeriod[DTM101-DateTimePeriodQualifier='132']/DTM102-DateTimePeriod" ....

This can be done visually once you have enabled the following setting and reload your query

Tools
-Options
--Module Settings
---XQuery
----Mapper
-----"Display predicates in XPath expressions in the canvas"

Hope this helps
Ivan Pedruzzi
Stylus Studio Team

Postnext
Rob den BoerSubject: Convertic EDI files into XML
Author: Rob den Boer
Date: 22 Apr 2009 03:38 AM

Hi Ivan,

When I put the predicate expression in my xQuery, it worked.

However I donot get the visual XPath predicate to work in the mapper.
I connect the output to my date field in the target.
then connect my datefield to data.
connect the qualifier to the predictate, and change the value so that is reads the requested qualifier 137.

the xQuery code remains empty, like: created="{}"
so I guess I am not using the tool correctly?

Posttop
Ivan PedruzziSubject: Convertic EDI files into XML
Author: Ivan Pedruzzi
Date: 22 Apr 2009 12:02 PM
There is a small restriction when the target is an attribute, you need to use the function data as following:

- Right click on the canvas, Function Block -> Accessors -> data

- Connect source date to the data block and the data block to the target

- Right click on the left link and click "show control port"

- then create the predicate and connect the output port to the control port

See attached screenshot

Hope this helps
Ivan Pedruzzi
Stylus Studio Team

 
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.