[
Lists Home |
Date Index |
Thread Index
]
- To: "David Carlisle" <davidc@nag.co.uk>
- Subject: RE: [xml-dev] Global/Local attributes
- From: "Don Box" <dbox@microsoft.com>
- Date: Fri, 2 Aug 2002 10:22:36 -0700
- Cc: <xml-dev@lists.xml.org>
- Thread-index: AcI6J4QJ/sp06C+XRCOT7BRN20iL/QAHdfHw
- Thread-topic: [xml-dev] Global/Local attributes
> -----Original Message-----
> From: David Carlisle [mailto:davidc@nag.co.uk]
> Sent: Friday, August 02, 2002 6:21 AM
> To: Don Box
> Cc: xml-dev@lists.xml.org
> Subject: Re: [xml-dev] Global/Local attributes
>
>
> > It's unfortunate, however, that most uses of QNames beyond
> > element/attribute GIs assumes the element convention (no prefix gets
> > default inscope namespace) rather than the attribute convention (no
> > prefix gets no namespace). This appears in XPath, XSLT, XML Schema,
and
> > XML Query.
>
> ?? unprefixed Qnames in XPath (and so XSLT and Xquery) use attribute
> convention: no namespace. the default namespace binding is not used.
Doh!!! You're absolutely correct. My 18 months away from using default
namespaces has obviously had an effect.
Here's what I meant to say :-)
XML Schema's QName simple type uses the element rule [1].
XPath node tests use the attribute rule [2].
XML Query node tests use the element rule [3].
When assigning names to constructs in XSLT (named templates, modes,
etc.), XSLT uses the attribute rule [4]. The same rule is used for
references to those constructs.
When using QName in the xsl:element/@name attribute, XSLT uses the
element rules [5].
When using QName in the xsl:attribute/@name attribute, XSLT uses the
element rules [6].
[1] http://www.w3.org/2001/05/xmlschema-rec-comments/#pfiQName
[2] http://www.w3.org/TR/xpath/#node-tests
[3] http://www.w3.org/TR/xquery/#node-tests
[4] http://www.w3.org/TR/xslt/#qname
[5]
http://www.w3.org/TR/xslt/#section-Creating-Elements-with-xsl:element
[5] http://www.w3.org/TR/xslt/#creating-attributes
|