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
Neal WaltersSubject: proper use of fn:distinct-values
Author: Neal Walters
Date: 06 Dec 2012 10:41 AM
Originally Posted: 06 Dec 2012 10:22 AM
Haven't touched XQuery in a year or two. I want to get a unique list of all the @fleet attributes in an xml file to see if they match our database.

This works, but is not sorted:
let $doc := .
return fn:distinct-values($doc//@fleet)

I would like to get the same result sorted. I tried the following:

let $doc := .
for $x in $doc//Detail/@fleet
order by $x
return fn:distinct-values($x)

The above ran, but did not give distinct values.


Sample Data:
<Report Name="Active Fuelers Extract">
<table1>
<Detail_Collection>
<Detail last_name="Doe" first_name="John" station="ABE" fleet="B-737" >
<Detail last_name="Doe" first_name="John" station="ABE" fleet="B-738" >
<Detail last_name="Doe" first_name="John" station="ABE" fleet="B-737" >
</Detail_Collection>
</table1>
</Report>

I kept playing with it, and got this to work, but all data is one line (not a major problem, but would rather each line of output have one fleet):
let $doc := .
return fn:distinct-values(
for $x in $doc//Detail/@fleet
order by $x
return $x)

Any advice appreciated.

Could also add literals, and print out something like this:
where fleet = 'B-737' or 'B-738'
so I could actually generate a SQL statement?

Thanks,
Neal Walters

Posttop
Neal WaltersSubject: proper use of fn:distinct-values
Author: Neal Walters
Date: 06 Dec 2012 11:05 AM
Not sure what happened. I pasted this code back into a new query file, and now the values go down the page:

let $doc := .
return fn:distinct-values(
for $x in $doc//Detail/@fleet
order by $x
return $x)

Is the best way to code it though?

Thanks,
Neal

 
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.