|
[XQuery Talk Mailing List Archive Home] [By Date] [By Thread] [By Subject] [By Author] [Recent Entries] [Reply To This Message] querying an xml file with namespacesMartin Probst martin at x-hive.comThu Jan 12 09:34:25 PST 2006
You can get all the namespaces in a document with something like this "distinct-values(//*/namespace-uri(.))". On Thu, 2006-01-12 at 08:07 +0100, Michaël Michaud wrote: > Thank you Wolfgang, > > You helped me to understand how it works. > Now I must have a closer look at the XQuery functions syntax. > I also noticed some namespace-relative methods in the xom Element class, > which may be helpful. > > Michaël > > Wolfgang Hoschek a écrit : > > > On Jan 11, 2006, at 2:17 PM, Michaël Michaud wrote: > > > >> Hello, > >> > >> I try to query an xml file with nux XQueryUtil. > >> First time, i get messages such as > >> "Prefix md has not been declared" > >> > >> I could get the result by adding something like > >> "declare namespace md="http://www.isotc211.org/2005/gmd";" > >> in front of my query string. > > > > > > That's the standard and hence recommended way of doing it. > > > >> > >> Now I try to read the namespaces first with another query > >> XQueryUtil.xquery(node, "//namespace::*") > >> to automatically add the namespaces in front of my main query, > >> but I get the message : > >> "The namespace axis is not available in XQuery" > > > > > > This simply won't work. The namespace axis has been deprecated by the > > W3C, so Saxon followed suit and disabled it a few releases ago by > > toggling an internal flag. Namespaces continue to be available > > supported, of course. It's just the namespace axis iteration that's > > gone. > > > >> > >> Question : what is the simple method to query an xml file using > >> namespaces ? > > > > > > Depends on what you're trying to do. > > > > You could write yourself a Java method or XQuery function that > > computes the namespaces in scope for a given element, then precede > > the query with the relevant declarations. For example, using standard > > XQuery functions such as fn:namespace-uri(Node) or similar. > > > > The best solution might be to argue on the XOM mailing list for a > > public method returning the namespace declarations of a XOM > > XPathContext, such as nu.xom.XPathContext.toMap(). If this would be > > public I'd consider adding a query method that takes an XPathContext > > as additional input parameter, similar to the XOM XPath functionality. > > > > Wolfgang. > > > > > > _______________________________________________ > > http://xquery.com/mailman/listinfo/talk > > http://xquery.com/mailman/listinfo/talk > > > > > > _______________________________________________ > http://xquery.com/mailman/listinfo/talk > http://xquery.com/mailman/listinfo/talk >
|
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
|






