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
Jolene  MeyerSubject: Tab delemited Flat file to XML
Author: Jolene Meyer
Date: 29 Aug 2008 02:28 PM
Originally Posted: 29 Aug 2008 10:44 AM
I have a flat file that has a "Header" and "Detail" information, there is always one "header" but there could be muliple "detail" lines. How do I get the "tag" to close after the last "detail" line for that header.

Header 123456
Detail 1 EA 500 1.50
Detail 1 EA 10 1.20
Header 456789
Detail 1 EA 5 .50
Header . .. . . . . .

I am also including the xml format I need to create, keep in mind my flat file is very genertic at this time. I am starting small


Unknownedi856_o.dat
Tab delemnited text file

Unknownxmlout.conv
conv file

Unknownesb-po-39325_633489646819955737.xml

Postnext
Minollo I.Subject: Tab delemited Flat file to XML
Author: Minollo I.
Date: 29 Aug 2008 02:40 PM
You are trying to do some positional grouping; XML Converters won't be able to handle that (and they won't be able to let you map to a specific XML Schema), but the combination of XML Converters and DataDirect XQuery surely helps. I haven't tried generating something consistent with your target XML, but the following XQuery fragment might help to get started on that task:

(: Given a Header node, get all the related Details :)
declare function local:getDetails($item) {
let $nextItem := $item/following-sibling::*[local-name()!="Detail"][1]
for $detail in $item/following-sibling::*[local-name()="Detail"]
where if($nextItem) then $detail << $nextItem else true()
return $detail
};

<root> {
for $Header in doc('converter:file:///c:/xmlout.conv?file:///c:/edi856_o.dat')/root/Header
return
<Group>
{$Header}
<Details> {
for $detail in local:getDetails($Header)
return $detail
} </Details>
</Group>
} </root>

Postnext
Jolene  MeyerSubject: Tab delemited Flat file to XML
Author: Jolene Meyer
Date: 29 Aug 2008 02:44 PM
I am creating the flat file and the XML output. Do you have any suggestion on how I should layout my flatfile. Just keep in mind I will have a header record and many detail lines. It is like an order file, is there an easier way to do this.

Postnext
Minollo I.Subject: Tab delemited Flat file to XML
Author: Minollo I.
Date: 29 Aug 2008 02:57 PM
You will need a transformation step no matter how your flat file is structured to go from a converterd flat file to the specific XML structure you are looking for.

Using a custom conversion is probably a good idea, as it gives you a chance to name the individual fields in a meaningful way - making downstream transformation work easier. In theory, you could use the generic built-in tab delimited file converter, but that would make your mapping task more difficult in XQuery.

If you are forced to generate a flat file and move from it to XML, I think the custom XML Converter -> XQuery approach is the one that provides you most flexibility.

Postnext
Jolene  MeyerSubject: Tab delemited Flat file to XML
Author: Jolene Meyer
Date: 29 Aug 2008 03:00 PM
Do you have an example of this?

If I understand correctly
flat file to .conv file then .conv file to XML using xquery

Postnext
Minollo I.Subject: Tab delemited Flat file to XML
Author: Minollo I.
Date: 29 Aug 2008 03:07 PM
The (simple) XQuery I included in my original response is an example of what I mean:

flatfile -> (custom .conv conversion) -> XML1 -> (XQuery) -> XML2

Postnext
Jolene  MeyerSubject: Tab delemited Flat file to XML
Author: Jolene Meyer
Date: 29 Aug 2008 03:09 PM
Let me do some playing around and see what I can come up with. Do you think my flat file is OK, or do you have any suggestions on how to make it easier?

Postnext
Minollo I.Subject: Tab delemited Flat file to XML
Author: Minollo I.
Date: 29 Aug 2008 03:59 PM
If you have full control on the structure of the flat file, you could make life easier for the XQuery-based XML1 to XML2 transformation. You can find attached an alternative flat file format and a custom conversion example that creates a structure grouping headers and details without the need of an XQuery.

Applying an XQuery to the output of this custom conversion (XML1) and generating a different output consistent with a specific schema (XML2) should be relatively easy, and doable mostly through the visual "Mapper" tab in XQuery. Take a look at the short attached video and attached XQuery.


Multimediaflat.wmv
Video showing simple mapping

Documentm2.txt
Alternative flat file

Documentm2.conv
Custom conversion for flat file

Documenttest(2).xquery
XQuery transformation

Postnext
Jolene  MeyerSubject: Tab delemited Flat file to XML
Author: Jolene Meyer
Date: 02 Sep 2008 11:18 AM
When I open the file in m2.txt in xQuery I get errors
file:///c:/XML_Stylus/m2.txt:1,1: FATAL ERROR: Invalid document structure

Postnext
Jolene  MeyerSubject: Tab delemited Flat file to XML
Author: Jolene Meyer
Date: 03 Sep 2008 12:03 PM
Please Disregard question with the error I was receiving - User Error.

Postnext
Jolene  MeyerSubject: Tab delemited Flat file to XML
Author: Jolene Meyer
Date: 03 Sep 2008 12:05 PM
When I run the xQuery I am not getting the data to populate.

Are there logs or files I can review on why data isn't populating, or do have ideas on what I can check.

My 7 day trial period is running out . . . . . . .

Postnext
Jolene  MeyerSubject: Tab delemited Flat file to XML
Author: Jolene Meyer
Date: 29 Aug 2008 04:00 PM
When I am in xquery it asks for an xml file. I just have the .conv file

Postnext
Minollo I.Subject: Tab delemited Flat file to XML
Author: Minollo I.
Date: 29 Aug 2008 04:01 PM
See the video attached in the post above.

Postnext
Jolene  MeyerSubject: Tab delemited Flat file to XML
Author: Jolene Meyer
Date: 29 Aug 2008 04:02 PM
Ignor prevous messagem, I will work with what you gave me.

Postnext
Jolene  MeyerSubject: Tab delemited Flat file to XML
Author: Jolene Meyer
Date: 29 Aug 2008 04:31 PM
Wow, I just watched your video. That is great help.

Now the question is, can I develop that. Crossing my fingers.

My final question before we purchase, and we don't need to get into details right now. But can the process be automated. From the flat file to the final XML output, because we don't want to have to run it manually.

Postnext
Minollo I.Subject: Tab delemited Flat file to XML
Author: Minollo I.
Date: 29 Aug 2008 04:37 PM
Yes; both XML Converters and DataDirect XQuery expose simple Java interfaces that can be easily used; you can even use Stylus Studio to generate some sample Java code that shows you how to execute an XQuery (XQuery > Generate Java code). You can also perform transformatins through command line utilities if that fits better your deployment model.

And yes, as you can imagine you will need to purchase runtime licences for XML Converters and XQuery to use the components outside the Stylus Studio UI environment.

Posttop
Jolene  MeyerSubject: Tab delemited Flat file to XML
Author: Jolene Meyer
Date: 02 Sep 2008 09:56 AM
Do you know how much these runtime licenses cost.

 
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.