Parsing external DTDs

Given the following xml document:

  <?xml version="1.0" standalone="no"?>
  <!DOCTYPE External1 SYSTEM "External1.dtd">
  <External1>
     <item>item</item>
     <External2><item2>item2</item2></External2>
  </External1>

  ---------------------
  
and the following external DTDs:

  <?xml version="1.0" encoding="UTF-8"?>
  <!ELEMENT External1 (item, External2)>
  <!ELEMENT item (#PCDATA)>
  <!ENTITY % External2 SYSTEM "External2.dtd">

  ---------------------

  <?xml version="1.0" encoding="UTF-8"?>
  <!ELEMENT External2 (item2)>
  <!ELEMENT item2 (#PCDATA)>

  ---------------------

the MSIE5 parser gives the error "The element 'External2' is used but
not declared in the DTD/Schema."

Am I overlooking something or is that a bug?  I'm assuming, that to make
a validating processor, I need to recursively load any external
declarations encountered in an external DTD, right?  If those are not
then available to the original document then I'm missing the point of
even having external DTDs.  Thanks.

Mark Robinson

Received on Tuesday, 10 November 1998 05:09:24 UTC