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
Gustav DahlmanSubject: Flat Text file to XML or XSD
Author: Gustav Dahlman
Date: 23 Oct 2007 10:59 AM
I have a textfile (see attachment) that I want to convert to XML and/or XSD.

The textfile is a fixed lenght (80 char records) file with several types of records where the first two characters of a row determine the recordtype.

I would appriciate if you could give me som hints on how this could be done using stylus studio.

I've tried to use the text to xml tool in stylus studio but cannot get the records to be nested in a correct way.

/ regards Gustav


Documenttextfile_to_convert.txt
The textfile to convert

Postnext
Tony LavinioSubject: Flat Text file to XML or XSD
Author: Tony Lavinio
Date: 23 Oct 2007 12:17 PM
Do File|New|Custom XML Converters, and load the file as a fixed-width
file. Set the line-ending property to CR,LF.

Then for each unique row, right-click and do 'Add Node/Pattern' and
use a regular expression to match that row - like '^01' or '^70' for
the header and footer respectively.

Then use right-click and 'Begin Field Here' to mark the start of each
new field.

You can set the datatypes of the field in the Properties window; by
default they are all String, but setting numbers to Number and dates
or date/time to their respective types will produce cleaner output.

I got you started; see the attached.


Documenttextfile_to_convert.conv

Postnext
Gustav DahlmanSubject: Flat Text file to XML or XSD
Author: Gustav Dahlman
Date: 25 Oct 2007 04:01 AM
Thank you!

The records that starts with 01 and 70 holds information that basically belongs to the same element. These records contain metadata for the file. 01 is the start record and the 70 is the end record.

Is it possible to collect information from two different records(with different field layout) to the same element?

01
...
...
...
70

convert to

<01>
<Field from 70>...<Field from 70>
<Field from 70>...<Field from 70>
<Field from 70>...<Field from 70>
</01>

/ Gustav

Postnext
Tony LavinioSubject: Flat Text file to XML or XSD
Author: Tony Lavinio
Date: 25 Oct 2007 08:35 AM
The Custom XML Converters is designed to get the data into XML.
XQuery and XSLT are designed to transform it.

If you use as the input to XSLT the following:

'converter:' (name of .conv file) '?' (name of text file)

then you can use the abilities of those transformation languages
on the result of the first step. This makes everything more modular,
and lets each tool do what it is best at.

Postnext
Gustav DahlmanSubject: Flat Text file to XML or XSD
Author: Gustav Dahlman
Date: 25 Oct 2007 10:14 AM
Ok!

How am I supposed to use the command you supplied?

/ Gustav

Posttop
Tony LavinioSubject: Flat Text file to XML or XSD
Author: Tony Lavinio
Date: 26 Oct 2007 10:31 AM
1. File | New | XQuery or XSLT
2. In the 'scenarios' dialog, choose your input text file, and
check the 'convert using XML converters' option.
3. Press [open]
4. Another dialog will come up, asking for which converter. Choose
'custom XML converters'.
5. On the right, a property for the name of the .conv file will be
shown. Use the [...] button to select the .conv file.
6. Press [ok]

Now you can design your XSLT or XQuery based on the XMLified version
of your text input file.

 
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.