[Home] [By Thread] [By Date] [Recent Entries]

  • To: <xml-dev@l...>
  • Subject: Wellformed?
  • From: "Jeff Rafter" <lists@j...>
  • Date: Mon, 24 May 2004 21:52:00 -0700

Just a quick sanity check I am tying to work on some conformance and want to
make sure I am correct:

The following is wellformed:
===================

<!DOCTYPE doc [
  <!ENTITY e "<foo bar1:att='att' bar2:att='att'>test</foo>">
]>
<doc xmlns:bar1="http://www.example1.org"
     xmlns:bar2="http://www.example2.org">
  <child>&e;</child>
</doc>

But the following is not:
================
<!DOCTYPE doc [
  <!ENTITY e "<foo bar1:att='att' bar2:att='att'>test</foo>">
]>
<doc xmlns:bar1="http://www.example.org"
     xmlns:bar2="http://www.example.org">
  <child>&e;</child>
</doc>


I have even tried:
===========
<!DOCTYPE doc [
  <!ELEMENT doc (child)>
  <!ATTLIST doc xmlns:bar1 CDATA #IMPLIED
                xmlns:bar2 CDATA #IMPLIED>
  <!ELEMENT child (foo)>
  <!ELEMENT foo (#PCDATA)*>
  <!ATTLIST foo bar1:att CDATA #IMPLIED
                bar2:att CDATA #IMPLIED>
  <!ENTITY e "<foo bar1:att='att' bar2:att='att'>test</foo>">
]>
<doc xmlns:bar1="http://www.example1.org"
     xmlns:bar2="http://www.example2.org">
  <child>&e;</child>
</doc>

Basically, I am getting errors (even for the WF files) and the results are
all over the map. I knew that expansion of entity references (and WF
checking therein) was spotty-- but combine that with namespace scoping and
things get downright crazy. It seems that only Xerces handles this the way I
would expect... but then I am not sure that is right. The XML Rec claims
that the literal must be WF on it's own-- is that possible with a colon in
one of the attribute names (without a namespace decl?). Maybe the MSXML
parser which claims that there is an undeclared prefix is more correct.

Pointers to any documents exploring this are very welcome.

Thanks,
Jeff Rafter



Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member