|
[XQuery Talk Mailing List Archive Home] [By Date] [By Thread] [By Subject] [By Author] [Recent Entries] [Reply To This Message] XQuery and id()/idref(); Controlling the children of nodes in the result sequenceFlorent Georges lists at fgeorges.orgWed Apr 23 12:56:52 PDT 2008
Maik Stührenberg wrote:µ Hi > - Is there any way to suppress the output of the > namespaces in each element? Or to be more specific: what > do I have to change to output all namespaces once (and > only once) in the resultset element? You have to add the namespace nodes to the resultset element. If the above example is a simplification, your real problem may require more complexity to select the namespace nodes to add, but from your example, you can choose to add the namespace nodes from each result/*. To see how to add a namespace node to an element, you can have a look at: http://fgeorges.blogspot.com/2006/08/add-namespace-node-to-element-in.html You'll be interested too by the functions in-scope-prefixes() and namespace-uri-for-prefix(). But first, I wonder if it is really worth writing that... > - The biggest issue is that the b:para element is output > twice: as child element of the b:text element (which is > quite fine) and alone. The same problem appears when > looking at the c:word elements: they should not be > included as children of the c:sentence element because > they are related to different spans, but only as children > of the respective result element. I am not sure of the question. If you want to "have an element without its children", you have to understand the XPath data model: child elements are part of their parent. If you want a parent that "looks the same" but without the children, you have to create a new element. For instance, instead of: $d/a:collection/a:entry/a:data//*[@a:span = $s/@xml:id] use rather: for $e in $d/a:collection/a:entry/a:data //*[@a:span = $s/@xml:id] return element { node-name($e) }{ $e/@* } > - The third question I'd like to ask concerns the use of > the fn:idref function in XQuery. My first examples of the > query used idref() to select all those nodes underneath > a:data that are related to a certain span -- but I didn't > manage to get any output although all XSD files are > available (I use Saxon-SA 9). What has to be changed in > the XQuery to use the idref function? Are you sure the document was validated? Regards, --drkm __________________________________________________ Do You Yahoo!? En finir avec le spam? Yahoo! Mail vous offre la meilleure protection possible contre les messages non sollicités http://mail.yahoo.fr Yahoo! Mail
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Cast Your Vote
We need your help – Vote for DataDirect XML Products!
Winners and finalists announced at SOA World Conference in November. 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
|







