[XML-DEV Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: Quiz: how many namespaces are in scope?
- From: Evan Lenz <evan@evanlenz.net>
- To: Amelia A Lewis <amyzing@talsever.com>
- Date: Mon, 30 Aug 2010 13:37:50 -0700

It's an odd definition, but correct according to XPath. I agree that
there are better ways it could have been modeled which still abstract
away from particular aspects of the instance, e.g., "one namespace node
per each non-redundant namespace declaration." Instead, the way
it was originally defined in XPath seems to have been: "one namespace
node for every possible legal namespace declaration, redundant or not."
You can legally include all 21 namespace declarations without changing
the data as far as the XPath data model is concerned:
<N1:NumberList xmlns:N1=http://www.example1.org
xmlns:N2=http://www.example2.org
xmlns:xml="http://www.w3.org/XML/1998/namespace">
<Number xmlns:N1=http://www.example1.org
xmlns:N2=http://www.example2.org
xmlns:xml="http://www.w3.org/XML/1998/namespace"
>23</Number>
<Number xmlns:N1=http://www.example1.org
xmlns:N2=http://www.example2.org
xmlns:xml="http://www.w3.org/XML/1998/namespace"
>41</Number>
<Number xmlns:N1=http://www.example1.org
xmlns:N2=http://www.example2.org
xmlns:xml="http://www.w3.org/XML/1998/namespace"
>70</Number>
<Number xmlns:N1=http://www.example1.org
xmlns:N2=http://www.example2.org
xmlns:xml="http://www.w3.org/XML/1998/namespace"
>103</Number>
<Number xmlns:N1=http://www.example1.org
xmlns:N2=http://www.example2.org
xmlns:xml="http://www.w3.org/XML/1998/namespace"
>99</Number>
<Number xmlns:N1=http://www.example1.org
xmlns:N2=http://www.example2.org
xmlns:xml="http://www.w3.org/XML/1998/namespace"
>6</Number>
</N1:NumberList>
See? There are 21 of them. ;-)
And while the namespace axis is "deprecated" in XPath 2.0, this isn't
purely an academic exercise as it directly impacts the result of the
following expression (and any other expression that uses the namespace
axis):
count(//namespace::*) => 21
> If namespaces-in-scope manifest as "nodes," do other scoped
> abstractions (like xml:lang) do the same?
No. The only other node types are root/document node, element,
attribute, text, comment, and processing instruction.
--
Evan Lenz
Lenz Consulting Group, Inc.
http://lenzconsulting.com
+1 (360) 297-0087
Amelia A Lewis wrote:
20100830152041888531.1c594bf9@talsever.com"
type="cite">
On Mon, 30 Aug 2010 11:39:46 -0700, Evan Lenz wrote:
In my XPath/XSLT training classes, I like to ask this quiz question:
How many namespace nodes are in this document? People are usually
surprised when they hear the answer is (for this case) 21.
You mean for the document that Roger posted?
<?xml version="1.0"?>
<N1:NumberList xmlns:N1=http://www.example1.org
xmlns:N2=http://www.example2.org>
<Number>23</Number>
<Number>41</Number>
<Number>70</Number>
<Number>103</Number>
<Number>99</Number>
<Number>6</Number>
</N1:NumberList>
That's an odd definition of "namespace node," to my mind. You're
asserting that each element node has three namespace "nodes" associated
with it? I would have thought that the only "nodes" were the
declarations. So I could see arguments for two, three, or nine such
nodes (variation depending upon how one handled the implicit xml
namespace declaration).
If namespaces-in-scope manifest as "nodes," do other scoped
abstractions (like xml:lang) do the same?
Amy!
|

[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
|
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
RSS 2.0 |
 |
Atom 0.3 |
 |
|
Stylus Studio has published XML-DEV in RSS and ATOM formats,
enabling users to easily subcribe to the list from their preferred news reader application.
|
Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website.
they were not included by the author in the initial post. To view the content without the Sponsor Links please
click here.
|
|