[xquery-talk] Any problem with xmlns attribute on output htmlelement?

Michael Kay mike at saxonica.com
Wed Mar 21 21:09:50 PST 2007


In XQuery (unlike XSLT) setting xmlns="abcd" on an output element also
causes "abcd" to be the default namespace for unprefixed element names in
XPath expressions appearing within its scope. This gives you a bit of a
problem if your input and output are in different namespaces. If one of them
is in the null namespace and the other in a non-null namespace, then you
don't really have any choice but to bind xmlns="", that is, to make
unprefixed names refer to the null namespace. (And in turn, this gives you a
problem when generating XHTML, which has a DTD that requires you to use
unprefixed names bound to a non-null namespace.) If the input and output are
in different non-null namespaces, then you can use unprefixed names for
either the input or the output but not for both.

Hope that's clear!

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


> -----Original Message-----
> From: talk-bounces at x-query.com 
> [mailto:talk-bounces at x-query.com] On Behalf Of Kevin Grover
> Sent: 21 March 2007 20:22
> To: talk at x-query.com
> Subject: [xquery-talk] Any problem with xmlns attribute on 
> output htmlelement?
> 
> Is there any problem with putting an xmlns attribute on the 
> main <html> element I generate?
> 
> When I did this, all of the embedded FLOWR expressions 
> started returning nothing.
> 
> I can post some examples if this question makes no sense
> 
> A quick summary.  I have an XQuery file that works.  It outputs HTML
> 
> <html>
> <head>
> ...
> <head>
> <body>
> ...
> {
> some FLOWRS expresions
> }
> </body>
> 
> And it works fine.
> 
> However, if I change it to:
> 
> <html xmlns="http://www.w3.org/1999/xhtml">
> <head>
> ...
> <head>
> <body>
> ...
> {
> some FLOWRS expresions
> }
> </body>
> 
> 
> I get only the top outine output: that's is, just those 
> elements that are not part of embedded expressions
> 
> Any ideas?
> _______________________________________________
> talk at x-query.com
> http://x-query.com/mailman/listinfo/talk



More information about the talk mailing list