At 03:59 AM 12/8/2006, you wrote:
>/Jacob Kjome/:
>
>> But Xerces gives me the following error in parsing...
>>
>> [xmlc]
>> D:\myclasses\Repository\Enhydra\tomcatXHTML\res\page\xhtmlbasic.xhtml:26:
>> Error: A colon is not allowed in the name 'IS10744:arch' when namespaces
>> are enabled.
>> [xmlc] Error: Parse of
>> "D:\myclasses\Repository\Enhydra\tomcatXHTML\res\page\xhtmlbasic.xhtml"
>> failed: org.xml.sax.SAXParseException: A colon is not allowed in the
>> name 'IS10744:arch' when namespaces are enabled.
>>
>> Here's the part of the DTD that it appears to be bombing on (part of the
>> flat version of the DTD [1], referenced using a catalog)...
>>
>> <?IS10744:arch xhtml
>[...]
>> ?>
>>
>> The w3c wrote this, not me. Is Xerces correct in telling me that the
>> W3C made a mistake in the DTD or is Xerces getting something wrong?
>
>As far as I know <http://www.w3.org/TR/xml-names/#dt-nwf>:
>
>> in a namespace-well-formed document:
>>
>> * No entity names, processing instruction targets, or notation
>> names contain any colons.
>
Hmm... thanks for the pointer. But what has me puzzled is how they
can possibly have a recommendation out there with an invalid
DTD? There's no known errors according to their errata statement
[1], and they've had about 6 years to find them. BTW,
http://validator.w3.org/ says my document validates just fine against
the XHTML Basic 1.0 DTD. Are they not checking against namespaces?
It's a bit worrisome because the xhtml-arch-1.mod [2] is a standard
module for XHTML modularization. So, any DTD extending the various
XHTML modules that include the arch module will fail under
Xerces2. It's hard to believe that the W3C members were boneheaded
enough to write an invalid module that every other extension of XHTML
modularization depends on. The XHTML 1.1 DTD [3] defines ignores the
arch module...
<!ENTITY % xhtml-arch.module "IGNORE" >
<![%xhtml-arch.module;[
<!ENTITY % xhtml-arch.mod
PUBLIC "-//W3C//ELEMENTS XHTML Base Architecture 1.0//EN"
"xhtml-arch-1.mod" >
%xhtml-arch.mod;]]>
That's, apparently, the only reason why it succeeds under Xerces2.
>So Xerces is correct. You could use no namespace processing if you
>don't necessary need it.
>
Based upon your reference, it appears that Xerces2 is correct, but
it's got to be more nuanced than Xerces2 is right and the XHTML
modularization spec leaders are wrong. And turning off namespaces
would entirely defeat the purpose of XHTML modularization,
no? There's got to be a better answer. Anyone?
Jake
[1] http://www.w3.org/2000/12/REC-xhtml-basic-20001219-errata
[2] http://validator.w3.org/sgml-lib/REC-xhtml-basic-20001219/xhtml-arch-1.mod
[3] http://validator.w3.org/sgml-lib/REC-xhtml11-20010531/xhtml11-flat.dtd
>--
>Stanimir
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]