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)
-> + Xmlconverter does not work (2)
-> + non-printing characters in Fil... (3)
-> + Including row nos while conve... (5)
-> + Getting Evaluation Copy except... (2)
-> + SS 2008 R2 Bug? (4)
-> + Java Heap Space (2)
-> + generate report from .xsl file... (3)
-> + Can't encode 0x4 in text (3)
-> + Recognize Japanese Characters (2)
-> + converting .xsl to xml using c... (2)
-> - Uninstall doesn't clean up reg... (1)
-> + CDISC (5)
-> - creating database from XML sch... (1)
-> + error: side-by-side configurat... (3)
-> - How to convert pdf into rdf fo... (1)
-> + Apache FOP (5)
-> + XPath Query Editor 'Buggy' (3)
-> - Feature request (1)
-> + XML Convertors (2)
-> + XMLConverters version 3.2.0.0 ... (2)
-> + JVM/stylus studio abort on sav... (3)
-- Previous [961-980] [981-1000] [1001-1020] 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
Brad ThackerSubject: Convert linefeed-separated text file to nested XML
Author: Brad Thacker
Date: 16 Jul 2008 12:22 PM
I just installed Stylus Studio and am attempting to use it to convert a file of linefeed-separated text records to nested XML. The structure of the initial text file looks like this:

0 | item#1 |..| ..| ..| ..| ... (other fields)
1 | item#2 |..| ..| ..| ..|
2 | item#3 |..| ..| ..| ..|
2 | item#4 |..| ..| ..| ..|
1 | item#5 |..| ..| ..| ..|

and I need to convert it to a nested XML structure in which the level of nesting is determined by the first field in the pipe-delineated file. The output should look like this:

<record level="0"> <item>item#1</item>
<record level="1"><item>item#2</item>
<record level="2"><item>item#3</item>
</record>
<record level="2"><item>item#4</item>
</record>
</record>
<record level="1"><item>item#5</item>
</record>
</record>

I read through Chapter 3 of the users manual that describes how to convert text to XML, but did not find any information that hinted at how to do this nesting. What I end up with is a flat structure:

<record level="0"><item>item#1</item></record>
<record level="1"><item>item#2</item></record>
<record level="2"><item>item#3</item></record>
<record level="2"><item>item#4</item></record>
<record level="1"><item>item#5</item></record>

Is it possible to use the tool set native to Stylus Studio to get the proper nesting, or do I need to perform an XSLT conversion on the flat XML structure above to get it?

I did find a set of XSLT conversion templates that can take the flat XML structure and convert it to the nested one, but I would prefer to do the complete transformation in one step, if possible.

Thanks for your help.
Brad

Posttop
Minollo I.Subject: Convert linefeed-separated text file to nested XML
Author: Minollo I.
Date: 16 Jul 2008 12:51 PM
You do need a post-processing step based on XQuery or XSLT to generate the structure you are looking for.

   
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.