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
David MareSubject: left/right presentation
Author: David Mare
Date: 11 May 2012 01:52 AM
Originally Posted: 10 May 2012 11:29 PM
I'm trying to use XQuery to re-order an input xml file so that each pair of numbers are printed side-by-side eg two per row, left and right. There could be any number of input rows.

My input looks like this:
<root>
<row>
<number>1</number>
</row>
<row>
<number>2</number>
</row>
<row>
<number>3</number>
</row>
<row>
<number>4</number>
</row>
</root>

What I'd like to see is:
<root>
<row>
<number_left>1</number_left>
<number_right>2</number_right>
</row>
<row>
<number_left>3</number_left>
<number_right>4</number_right>
</row>
</root>

Any ideas how to do that with XQuery? I have tried all sorts of approaches without much success.

Postnext
Ivan PedruzziSubject: left/right presentation
Author: Ivan Pedruzzi
Date: 11 May 2012 11:09 AM
See if the following helps

Ivan Pedruzzi
Stylus Studio Team


<root>{
for $row in /root/row[position() mod 2 = 1]
return
<row>
<number_left>{$row/number/string()}</number_left>
<number_right>{$row/following-sibling::row[1]/number/string()}</number_right>
</row>
}</root>

Posttop
David MareSubject: left/right presentation
Author: David Mare
Date: 12 May 2012 07:59 PM
Thanks Ivan, that's exactly what I needed.

 
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.