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
Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Dwayne BordelonSubject: Need help with using XQuery in Stylus Studio to convert and transform flat file to xml
Author: Dwayne Bordelon
Date: 15 Apr 2009 02:10 PM
I have a tilde delimited file that I need to create an xml file. I have the conversion step done and some to the conversion done with xquery. I am stuck with removing duplicates. The source file(tilde delimited) can have repeating rows of customer information because there are two levels of information in the file. I am getting a result with the right representation, but I cannot keep it from repeating the customer info based on how many times it shows up in source file.


Unknowndropletter.prj


Unknowncustomer(1).xml


Unknowndropletter.conv


UnknownSales_Drop_Letter.xml


UnknownSales_Drop_Letter.xsd

Posttop
Minollo I.Subject: Need help with using XQuery in Stylus Studio to convert and transform flat file to xml
Author: Minollo I.
Date: 17 Apr 2009 05:22 PM
I think you want something like this, where you group all customers and detail all dropped styles?

<ROOT>
<CUSTOMER_DELIMITER> {
let $input := doc('converter:file:///c:/dropletter.conv?file:///c:/customer.csv')
for $CustomerNo in distinct-values($input//PK_CUSTOMER_NO)
let $Customer := $input//CUSTOMER[PK_CUSTOMER_NO = $CustomerNo]
return
<PRIMARY_TABLE>
<PK_CUSTOMER_NO>{$Customer/PK_CUSTOMER_NO/text()}</PK_CUSTOMER_NO>
<NAME>{$Customer/NAME/text()}</NAME>
<ADDR1>{$Customer/ADDR1/text()}</ADDR1>
<CITY>{$Customer/CITY/text()}</CITY>
<STATE>{$Customer/STATE/text()}</STATE>
<ZIP>{$Customer/ZIP/text()}</ZIP>
{
for $droppedStyle in $input//CUSTOMER[PK_CUSTOMER_NO = $CustomerNo]
return
<DROPPED_STYLES>
<DROPPED_STYLE_NO>{$droppedStyle/DROPPED_STYLE_NO/text()}</DROPPED_STYLE_NO>
<NAME>{$droppedStyle/STYLE_NAME/text()}</NAME>
<YARDAGE_PURCHASED>{$droppedStyle/YARDAGE_PURCHASED/text()}</YARDAGE_PURCHASED>
<TERRITORY_NAME>{$droppedStyle/TERRITORY_NAME/text()}</TERRITORY_NAME>
<TERRITORY_PHONE>{$droppedStyle/TERRITORY_PHONE/text()}</TERRITORY_PHONE>
</DROPPED_STYLES>
}
</PRIMARY_TABLE>
} </CUSTOMER_DELIMITER>
</ROOT>

 
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.