Xerces-C does pass the NIST DOM tests which makes extensive 
use of external entities.  The problem seems to be that
you are basing your expectations of Xerces not on the 
XML recommendation, but on the non-standard behavior of
another processor.

It is okay for a processor to recognize "iso-8859-1"
as a valid encoding name, but the XML recommendation
states that you should use "ISO-8859-1".  Using "iso-8859-1"
is more likely to give you XML that some processors can
read, but others can't.

I think the other processor should have given you a 
fatal error if you had whitespace before your XML
declaration.

In addition, it appears that your system ID's for the
entities are illegal.

<!ENTITY writer    SYSTEM "d:\a.xml">
<!ENTITY copyright   SYSTEM "d:\a.dtd">

"d:\a.xml" is not a valid URI.  Backslashes are not permitted
in URI's and there is not a "d" protocol defined in Xerces-C 
(though you could define one).  The other processor should
have failed your document on this.

Try:

<!ENTITY writer    SYSTEM "file:///d:/a.xml">
<!ENTITY copyright   SYSTEM "file:///d:/a.dtd">

or

<!ENTITY writer    SYSTEM "file:///d|/a.xml">
<!ENTITY copyright   SYSTEM "file:///d|/a.dtd">


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to