I know why its happening but I don't necessarily agree with it. I'm not
sure if its explicitly said in the NS spec, but there are some standard
tests which consider it an error to have the root element be in anything
other than the global namespace if there is a DTD and namespaces are
enabled.

I personally disagree with this, and haven't implemented this in the C++
parser yet. Mainly it was due to the fact that I didn't have time to dig
into the reasons behind it and other things were more important. My
personal belief is that all DTD oriented stuff is lexical only, and hence
the matching of the root element to the DOCTYPE element should be lexical
as well.

----------------------------------------
Dean Roddey
Software Weenie
IBM Center for Java Technology - Silicon Valley
[EMAIL PROTECTED]



"Brett McLaughlin" <[EMAIL PROTECTED]> on 03/05/2000 03:12:48
PM

Please respond to [EMAIL PROTECTED]

To:   <[EMAIL PROTECTED]>
cc:
Subject:  Strange Namespaces bug in SAX



Hey, I am having strange results:

With this document:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE nxbirpas:validation SYSTEM "validation.DTD">

<nxbirpas:validation xmlns:nxbirpas="http://www.nextel.com";
module="authentication">

</nxbirpas:validation>


Using SAX 2.0's XMLReader interface, and an instance of
org.apache.xerces.parsers.SAXParser, everything works fine with validation
turned on (as a feature) and namespaces turned off.

However, as soon as I turn on namespaces in the parser, I get an error
about:

Document root element "nxbirpas:validation", must match DOCTYPE root
"nxbirpas:validation".

But they do match?

Any help, anyone?

Thanks.


-----
Brett McLaughlin
Metro Information Systems
Work: (972) 724-3161
Mobile: (817) 825-7187




Reply via email to