[
Lists Home |
Date Index |
Thread Index
]
At 11:08 AM +0200 7/12/02, james anderson wrote:
>ok, how about an opinon on
>
><!DOCTYPE doc [
> <!ELEMENT doc EMPTY >
> <!ELEMENT tick ANY>
> <!ATTLIST tick xmlns:xml CDATA 'http://www.w3.org/XML/0000/namespace'>
> <!ELEMENT tock ANY>
> <!ATTLIST tock xmlns:xml CDATA ''>
> ]>
>
> <doc></doc>
>
>or the equivalent in the more-namespace-aware document definition encodings?
Since you've declared that in the internal DTD subset, it will be a
namespace error if and only if an element of type tick appears in the
instance document. Here no such element appears in the body of the
document, so the document is namespace well-formed. This document,
however, is not:
<!DOCTYPE doc [
<!ELEMENT doc EMPTY >
<!ELEMENT tick ANY>
<!ATTLIST tick xmlns:xml CDATA 'http://www.w3.org/XML/0000/namespace'>
<!ELEMENT tock ANY>
<!ATTLIST tock xmlns:xml CDATA ''>
]>
<doc><tick /></doc>
Nice corner case, though. Note that all of this is orthogonal to
whether the document is valid or not.
>Noted. I had considered "unbound" and "immutable" to be orthogonal errors.
>Perhaps this intent would be more clearly expressed if the respective passages
>in 1.1, the topical NSC notwithstanding, were to read
>
> [Definition:] If the attribute name matches PrefixedAttName, then
> the NCName gives the namespace prefix, used to associate element
> and attribute names with the namespace name in the attribute value
> in the scope of the element to which the declaration is attached.
> In such declarations, the attribute value may be an empty string,
> the namespace prefix may not be "xmlns", and if the namespace
> prefix is "xml", then the namespace name must be
> http://www.w3.org/XML/1998/namespace.
It certainly could be clearer. The only reason I'm so certain is that
this topic has come up before, and the various authors of this and
other specs have given this interpretation before. The spec text
alone often needs some decoding based on authors' intent.
>and
>
> The prefix xml is by definition bound immutably to the namespace
> name http://www.w3.org/XML/1998/namespace. The prefix xmlns is
> used only for namespace bindings and may not itself be bound to
> any namespace name.
The latter sentence should probably not be in namespaces 1.1, but
that's a separate issue.
--
+-----------------------+------------------------+-------------------+
| Elliotte Rusty Harold | elharo@metalab.unc.edu | Writer/Programmer |
+-----------------------+------------------------+-------------------+
| XML in a Nutshell, 2nd Edition (O'Reilly, 2002) |
| http://www.cafeconleche.org/books/xian2/ |
| http://www.amazon.com/exec/obidos/ISBN%3D0596002920/cafeaulaitA/ |
+----------------------------------+---------------------------------+
| Read Cafe au Lait for Java News: http://www.cafeaulait.org/ |
| Read Cafe con Leche for XML News: http://www.cafeconleche.org/ |
+----------------------------------+---------------------------------+
|