RE: An invalid example in SVG 1.0 Spec. - Chapter 17.1

Sure enough, that is what Namespaces in XML says. Thanks again, Simon,
for holding my feet to the fire. It has been a while since I've gone
back to read the spec; things are clearer for me now. Thanks for being
patient with me.

Although namespace declarations are syntactically just special
attributes, they are semantically different in a number of
specifications. E.g., XPath 1.0 uses distinct axes for attributes and
namespaces (http://www.w3.org/TR/xpath#axes). The syntactic versus
semantic distinction contributed to my muddled head.

One point still alludes me. Unlike a standard attribute, a namespace
declaration is in scope for all descendents of the element on which it
is declared (unless redeclared in a descendent element). In order to
express that a particular namespace must be in scope for a given element
or attribute, isn't it necessary to indicated that the namespace
declaration can appear on any ancestor of that element or attribute
(provided there are no conflicts)? How is this accomplished in a DTD? If
SVG is combined with other XML in a document, the namespace could be
declared on a non-SVG element. How can the SVG's DTD indicate that? How
do you express in a DTD that the namespace prefix can be any NCName, and
that NCName must match the prefix used on particular elements or
attributes?

Thanks for the help!

Cheers,
Stuart

-----Original Message-----
From: Simon St.Laurent [mailto:simonstl@simonstl.com] 
Sent: Thursday, March 14, 2002 08:27
 
That's not what section 2 of Namespaces in XML suggests:
-----------------------
A namespace is declared using a family of reserved attributes. Such an
attribute's name must either be xmlns or have xmlns: as a prefix. These
attributes, like any other XML attributes, may be provided directly or
by default. (http://www.w3.org/TR/REC-xml-names/#ns-decl)
-----------------------

Namespace declarations are clearly defined as attributes, if odd ones.
...

Received on Thursday, 14 March 2002 11:26:51 UTC