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
Fairy LeeSubject: How to change the node name in xQuery
Author: Fairy Lee
Date: 29 Jul 2008 12:29 PM
Originally Posted: 29 Jul 2008 11:52 AM
I am using xQuery to convert a flat file to xml:
declare variable $InputParaData as document-node(element(*, xs:untyped)) external;
declare variable $flatFileName := $InputParaData/root/csvFileName/text();

<ROOT>
{
for $PRIMARY_ACCOUNT in doc(concat("adapter:CSV:first=yes:row=PRIMARY_ACCOUNT?file:///",$flatFileName))/table/row
return
<POLICY>
{$PRIMARY_ACCOUNT}
</POLICY>
}
</ROOT>

The result's structure likes
<ROOT>
<POLICY>
<row>
</row>
</POLICY>
<POLICY>
<row>
.........
</row>
</POLICY>
<ROOT>

Based on the schema, <row> should be replaced by <PRIMARY_ACCOUNT>. I don't want to map each elemement one by one because the fields' names of flat data file are exactly same as the element names of the schema and there are a huge number of elements. I want to make the xQuery looks simple.

Could you please give me some advices about how to put <PRIMARY_ACCOUNT> in there to replace <row>?

Thanks in advance!

Postnext
Minollo I.Subject: How to change the node name in xQuery
Author: Minollo I.
Date: 29 Jul 2008 12:46 PM
Try this:

<ROOT>
{
for $PRIMARY_ACCOUNT in doc(concat("adapter:CSV:first=yes:row=PRIMARY_ACCOUNT?file:///",$flatFileName))/table/row
return
<POLICY>
<PRIMARY_ACCOUNT> {
for $item in $PRIMARY_ACCOUNT
return $item
} </PRIMARY_ACCOUNT>
</POLICY>
}
</ROOT>

Postnext
Fairy LeeSubject: How to change the node name in xQuery
Author: Fairy Lee
Date: 29 Jul 2008 12:57 PM
Originally Posted: 29 Jul 2008 12:55 PM
Thanks, Minollo.

But it doesn't work. The result still has <row>:
<ROOT>
<POLICY>
<PRIMAARY_ACCOUNT>
<row>
......
</row>
</PRIMARY_ACCOUNT>
</POLICY>
</ROOT>

Postnext
Minollo I.Subject: How to change the node name in xQuery
Author: Minollo I.
Date: 29 Jul 2008 01:02 PM
Sorry, my fault:
for $item in $PRIMARY_ACCOUNT/*
return $item

Posttop
Fairy LeeSubject: How to change the node name in xQuery
Author: Fairy Lee
Date: 29 Jul 2008 01:18 PM
It looks great now. I really appreciate your great help!

 
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.