|
[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 nodeMichael Kay mike at saxonica.comThu Mar 26 18:51:22 PST 2009
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! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|






