[XQuery Talk Mailing List Archive Home] [By Date] [By Thread] [By Subject] [By Author] [Recent Entries] [Reply To This Message]

returning elements without duplicates, based on an XML schema and using an attribute as context node

Michael Kay mike at saxonica.com
Thu Mar 26 18:51:22 PST 2009


  returning elements without duplicates
 
	I want the XQuery to determine if the @maxOccurs attribute exists in
an <xs:element> tag somewhere in the schema, and its value isn't 1. If this
is true, then, for all elements that have a @ref attribute in the schema
(because we now know there's at least one), the XQuery should get the string
value of the element's @ref attribute (what I wanted $name to be), along
with the value of element's @maxOccurs attribute (what i wanted $max to be),
and lastly the string value of $max (what I wanted $index_max to be). Then
finally, I just wanted to use these three values within an <xf:bind> tag
that was to be returned.


That translates to me as:

if (//xs:element[@maxOccurs[.!="1"]])
then for $e in //xs:element[@ref]
     return <xf:bind
               id="{$e/@ref}-add-trigger"
               nodeset="instance('views')/{$e/@ref}-add-trigger"
 
relevant="instance('save-data')//{$e/@ref}[{$e/@maxOccurs}]"/>
else ()

I can't really see where the distinct-values() comes into it - it doesn't
appear in your English description.

Michael Kay
http://www.saxonica.com/



PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2011 All Rights Reserved.