The "computed namespace constructors" are not really constructors but like the xmlns namespace attributes in the XML syntax a way to bind new prefixes to namespace URIs. As such they indeed change the static context. You cannot use an expression in XQuery 1.0 to give a namespace URI... Best regards Michael > -----Original Message----- > From: public-qt-comments-request@w3.org [mailto:public-qt-comments- > request@w3.org] On Behalf Of Per Bothner > Sent: Monday, November 24, 2003 11:01 PM > To: public-qt-comments@w3.org > Subject: computed namespace constructors > > > The semantics of computed namespace constructors is unclear: > > 3.7.3.7 Computed Namespace Constructors > A constructed namespace node ... binds a namespace prefix represented > as NCName in the syntax) to a URI and adds the namespace prefix to the > in-scope namespaces for its enclosing element. > > But the "in-scope namespaces" is part of the *static* context, and > constains both prefix *and* URIs: > > [Definition: In-scope namespaces. This is a set of (prefix, URI) > pairs. The in-scope namespaces are used for resolving prefixes used > in QNames within the expression.] > > So how can a run-time namespace expression add to the static in-space > namespaces? > > It might be possible to change the sementics so only the namespace > prefixes is part of the static context, while the namespace uri is > part of the dynamic context, but that would certainly complicate > implementation and probably the semantics Consider: > > element {$ename} { > namespace xx { myns:f($myns:x) }, > namespace myns > {if $version eq 1 then "http://example.org/v1" > else "http://example.org/v2"}, > attribute xx:type {"myns:invoice"}, > $content > } > > This has a forward reference to the myns namespace (is that allowed?), > and an function name, a variable name, and an attribute name, all of > whose namespaces have to be calculated at run-time. I assume the > intention is to not allow that. > > I suggest a separate concept of "active namespaces" consisting of > anmespaces declared in namespace attributes and namespace constructors. > This could be part of the dynamic environment, but not the static > environment. > -- > --Per Bothner > per@bothner.com http://per.bothner.com/ > > >Received on Tuesday, 25 November 2003 03:59:03 GMT
This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 14:14:03 GMT