namespace of attributes?
Ronald Bourret
rbourret at ito.tu-darmstadt.de
Mon Sep 13 09:55:08 BST 1999
Joe Lapp wrote:
> <!ELEMENT e1 (e3)*>
> <!ATTLIST e1 xmlns "urn:namespace1">
> <!ELEMENT e2 (e3)*>
> <!ATTLIST e2 xmlns "urn:namespace2">
> <!ELEMENT e3 (#PCDATA)>
>
> To which namespace does e3 belong?
You've actually got two e3's here. An e3 nested directly beneath e1 is in
namespace1 and an e3 nested directly beneath e2 is in namespace2, as can be
seen in the following instances (default attribute values shown for
clarity):
<e1 xmlns="urn:namespace1">
<e3/> <!-- in namespace1 -->
</e1>
<e2 xmlns="urn:namespace2">
<e3/> <!-- in namespace2 -->
</e2>
Mark D. Anderson wrote:
> can i do this in a dtd?
> <!ATTLIST e2
> a (1|2) 1
> "urn:namespace2:a" (3|4) 3>
>
> if i can't, then how can i declare the two supposedly different "a"
> attributes shown in the XML Names spec example:
> <x xmlns:n1="http://www.w3.org"
> xmlns="http://www.w3.org" >
> <good a="1" b="2" />
> <good a="1" n1:a="2" />
> </x>"
I'm afraid your ATTLIST syntax still doesn't make sense -- it's not legal
syntax. In answer to your second question, here's the ATTLIST for the
element type good (assuming that all attributes are #IMPLIED CDATA
attributes):
<!ATTLIST good
a CDATA #IMPLIED
b CDATA #IMPLIED
n1:a CDATA #IMPLIED>
Note that this is subject to all the usual problems of using prefixes in
DTDs -- in this case, that the prefix n1 will point to the URI
"http://www.w3.org" at the time <good> occurs. As Joe says, it's probably
best not to mix namespaces and DTDs.
-- Ron Bourret
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list