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)
-> + Specifying EDI Delimiters (2)
-> + Defining 'connection string' f... (9)
-> + Help Programatically Convertin... (2)
-> + Using adapter URL in pipeline. (7)
-> + How to enable EDI functionalit... (2)
-> + Unable to open file with '%2F'... (2)
-> + How to create a dependency gra... (2)
-> + If block (2)
-> + Mapping multiple files within ... (7)
-> + StylusStudio vs Altova vs BizT... (4)
-> + Command line execution (7)
-> + CSS and Styling in X15 (2)
-> + Ignores debug breakpoints in X... (5)
-> + Cursor dissapearing in Text vi... (5)
-> + compile error xquery java styl... (3)
-> + Stylus Studio Setup: Applicati... (10)
-> + Stylus StudioX15 Crashing whe... (4)
-> + Upgrade Stylus 14 to 15 (2)
-> + ACE Broker Download v2.5 (2)
-> + Help creating custom convertor (7)
-> + Problem saving Documentation (5)
-> + Registry keys for Stylus x15 (8)
-> + How to add a value when conver... (10)
-> + Stylus Studio Pro & Ent X15r1 ... (2)
-> + You need to install Java 2 SDK... (4)
-> - How to disable automatic and m... (1)
-> + Does Stylus Studio / DataDirec... (4)
-> + Stylus Studio fails with 'The ... (12)
-> + Struzzo.exe side by side confi... (7)
-> + unable to use converter (5)
-> + How to enable XSD 1.1 for Saxo... (3)
-> + XSD v.1.1 validation and Xerce... (8)
-> + FATAL ERROR: unsupported XML v... (2)
-> + Java Runtime Environment boot ... (2)
-> + Associate XML with Schema (3)
-> + JVM not found in stylus studio... (2)
-> + Change newline to Linux (on Wi... (4)
-> + Indent XML Tags only partially... (2)
-> + dealing with invalid character... (2)
-> + Unable to call Webservice thro... (2)
-> + XML to CSV Video create csv te... (5)
-> + Try to test this product, (2)
-> + How to migrate license? (3)
-> - kepp your settings on X15 upda... (1)
-> + No Topic (2)
-> + XSD validation scalability iss... (2)
-> + Installing documentation in ai... (4)
-> + Stylus Studio is currently una... (2)
-> + Change from SS Pro 2011 to SS ... (2)
-> + Problem with pipeline function... (2)
-> + Min and Max Occurs for Choices... (2)
-> + XSLT without Preview window ou... (3)
-> + How to achieve this transforma... (2)
-> + Licence Authentication Failed (2)
-> - using Oracle V2 for validation... (1)
-> + Steps needed to execute standa... (2)
-> + xsi:noNamespaceSchemaLocation ... (8)
-> + Using Saxon 9.4 and integrated... (4)
-> + "net XML Parser (5)
-> + How to undo in Stylus Studio X... (2)
-> + .RENAME section not loaded cor... (3)
-> + Stylus StudioŽ X14 Release 2 X... (2)
-> + The JVM initialization failed ... (2)
-> + XML schema to XML does not wor... (4)
-> + missing ExtraLines (3)
-> + EDI validation tool (2)
-> + Registering Custom Tool from c... (5)
-> + Setting Default XML Validation... (2)
-> + Project Directory in Custom Do... (3)
-> + Problem with Saxon 9.4.0.4 AVT... (5)
-> + XML To HL7 (3)
-> + Siblings not repeating when mi... (7)
-> - Nesting of records from fixed ... (5)
-> ->Nesting of records from f...
-> ->Nesting of records from f...
-> ->Nesting of records from f...
-> ->Nesting of records from f...
-> + Licensing (3)
-> + CSV set up to support predefin... (10)
-> + Scripting conversion (2)
-> + Edi/Euritmo automatic conversi... (4)
-> + Have new stylesheet automatica... (3)
-> + Text file to CSV to xml (9)
-> + EDIFACT to XML (4)
-> + About Stylus Studio... dialog ... (5)
-> + Set Stylus as default editor f... (3)
-> + CSV to XML (11)
-> + Indent XML tags no longer work... (9)
-> + XSL code completion moe like o... (3)
-> + xsl:fo - unable to use any fon... (5)
-> + Bug when calling a ms script f... (13)
-> - url schema (1)
-> + Quickbooks invoice to XML (4)
-> + X14 locks up, Unresponsive (4)
-> + Fields missing from middle of ... (2)
-> + Cannot install trial (2)
-> + Text File with Page breaks - H... (8)
-> + Complex transactional CSV mapp... (2)
-> + XML Report (2)
-> - Create an XML feed for videos (1)
-> + word doc (2)
-> + Saving to a UNC path (7)
-> + sharing violation (3)
-> + Convert XML to XML (6)
-- Previous [181-200] [201-220] [221-240] 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
Fred FooSubject: Nesting of records from fixed length file conversion
Author: Fred Foo
Date: 15 Jul 2012 07:46 PM
Originally Posted: 12 Jul 2012 10:25 PM
I'm using a custom converter to transform a fixed field layout file to xml. The sample input file has different record types, A and B. I've seen from some of the other posts how to use pattern matching to differentiate the record types, and that works well. What I can't seem to do is nest the B records within the A records (B recs should be a child of A). This is the input:
A1234567Diane
B100.00Shoes
B123.00Suit
A1234567Chris
B100.00Saucepan
B123.00Frying Pan

This is the output I'm getting from the conversion:
<ROOT>
<A>
<ACCTNO>1234567</ACCTNO>
<NAME>Diane</NAME>
</A>
<B>
<AMOUNT>100.00</AMOUNT>
<DESCRIPTION>Shoes</DESCRIPTION>
</B>
<B>
<AMOUNT>123.00</AMOUNT>
<DESCRIPTION>Suit</DESCRIPTION>
</B>
<A>
<ACCTNO>1234567</ACCTNO>
<NAME>Chris</NAME>
</A>
<B>
<AMOUNT>100.00</AMOUNT>
<DESCRIPTION>Saucepan</DESCRIPTION>
</B>
<B>
<AMOUNT>123.00</AMOUNT>
<DESCRIPTION>Frying Pan</DESCRIPTION>
</B>
</ROOT>

Is there a way of specifying the hierarchy of the output nodes in a custom conversion to xml? Here's what it should look like:
<ROOT>
<A>
<ACCTNO>1234567</ACCTNO>
<NAME>Diane</NAME>
<B>
<AMOUNT>100.00</AMOUNT>
<DESCRIPTION>Shoes</DESCRIPTION>
</B>
<B>
<AMOUNT>123.00</AMOUNT>
<DESCRIPTION>Suit</DESCRIPTION>
</B>
</A>

<A>
<ACCTNO>1234567</ACCTNO>
<NAME>Chris</NAME>
<B>
<AMOUNT>100.00</AMOUNT>
<DESCRIPTION>Saucepan</DESCRIPTION>
</B>
<B>
<AMOUNT>123.00</AMOUNT>
<DESCRIPTION>Frying Pan</DESCRIPTION>
</B>
</A>
</ROOT>

thanks

Postnext
Ivan PedruzziSubject: Nesting of records from fixed length file conversion
Author: Ivan Pedruzzi
Date: 13 Jul 2012 02:41 PM
Hi Fred,

You may need to use either XSLT or XQuery for performing these kind of tasks.

If you zip a sample of your input data and your .conv file we can get you started.

Hope this helps
Ivan Pedruzzi
Stylus Studio Team

Postnext
Fred FooSubject: Nesting of records from fixed length file conversion
Author: Fred Foo
Date: 15 Jul 2012 07:51 PM
Thanks Ivan. If it can't be done directly with the .conv, I'd like to do it with xquery if possible. I'll upload the .conv, and input and output files


UnknownfixedLength.zip

Postnext
Ivan PedruzziSubject: Nesting of records from fixed length file conversion
Author: Ivan Pedruzzi
Date: 16 Jul 2012 09:28 PM
The following query should help

Ivan Pedruzzi
Stylus Studio Team


declare variable $doc := doc("converter:fixedLength.conv?input.txt");

declare function local:tx($tx as element(*, xs:untyped)? ) as element(*, xs:untyped)*
{
let $next := $tx/following-sibling::*[1]
return
if (local-name($next) = 'TXN' ) then
(
$next,
local:tx($next)
)
else ()
};

<ROOT>
{
for $cust in $doc/ROOT/CUST
return
<CUST>
{
$cust/*
}
<Transactions>
{
local:tx($cust)
}
</Transactions>
</CUST>
}
</ROOT>


--------------------------
Result


<ROOT>
<CUST>
<ACCTNO>1234567</ACCTNO>
<NAME>Diane</NAME>
<Transactions>
<TXN>
<AMOUNT>100.00</AMOUNT>
<DESCRIPTION>Shoes</DESCRIPTION>
</TXN>
<TXN>
<AMOUNT>123.00</AMOUNT>
<DESCRIPTION>Suit</DESCRIPTION>
</TXN>
</Transactions>
</CUST>
<CUST>
<ACCTNO>1234567</ACCTNO>
<NAME>Chris</NAME>
<Transactions>
<TXN>
<AMOUNT>100.00</AMOUNT>
<DESCRIPTION>Saucepan</DESCRIPTION>
</TXN>
<TXN>
<AMOUNT>123.00</AMOUNT>
<DESCRIPTION>Frying Pan</DESCRIPTION>
</TXN>
</Transactions>
</CUST>
</ROOT>

Posttop
Fred FooSubject: Nesting of records from fixed length file conversion
Author: Fred Foo
Date: 17 Jul 2012 08:16 PM
Many thanks Ivan, that does the trick

   
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.