[
Lists Home |
Date Index |
Thread Index
]
- From: Ronald Bourret <rbourret@ito.tu-darmstadt.de>
- To: "xml-dev@ic.ac.uk" <xml-dev@ic.ac.uk>
- Date: Mon, 13 Sep 1999 09:59:31 +0200
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@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@ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)
|