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]

Reply via email to