- From: Christian Wolfgang Hujer <Christian.Hujer@itcqis.com>
- Date: Sat, 15 Sep 2001 17:50:32 +0200
- To: <www-html-editor@w3.org>
Dear HTML Editors, I request a small change in the DTD for XHTML 1.1. The change would not change the structure or semantics, I only request to change a relative URI into an absolute one. When using XHTML 1.1 with current XML software, many parsers won't process the XHTML 1.1 but abort with an error message. The reason, of course, resides in errors in the parsers, not in the DTD files of XHTML 1.1 / XHTML Modularization. At least one parser, AElfred, which is used by the famous saxon XSLT processor, probably the most popular XSLT processor, has a serious bug. When using AElfred, I get the following error: > Transformation failed: java.io.FileNotFoundException: > http://www.w3.org/TR/xhtml-modularization/DTD/xhtml11-model-1.mod The reason is: http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd *declares* this Entity: <!ENTITY % xhtml-model.mod PUBLIC "-//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN" "xhtml11-model-1.mod" > (contains relative URI: xhtml11-model-1.mod) And http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-framework-1.mod *references* this Entity: <!ENTITY % xhtml-model.module "INCLUDE" > <![%xhtml-model.module;[ <!-- instantiate the Document Model module declared in the DTD driver --> %xhtml-model.mod; ]]> (changed formatting of both citations for readability) From the XML Recommendation: "Unless otherwise provided by information outside the scope of this specification (e.g. a special XML element type defined by a particular DTD, or a processing instruction defined by a particular application specification), relative URIs are relative to the location of the resource within which the entity declaration occurs." Means *declaration*, not *reference*. But AElfred resolves the URI of the external parsed entity "xhtml-model.mod" at the *reference* the entity, not at the *declaration* of the entity. So this is what AElfred resolves: http://www.w3.org/TR/xhtml-modularization/DTD/xhtml11-model-1.mod And this is what conforming XML Parsers must resolve: http://www.w3.org/TR/xhtml11/DTD/xhtml11-model-1.mod So AElfred, at least the version used by saxon, has a bug. Since more XML Parsers and software based on them might have this bug, there's a hint on that on the www-html@w3.org mailing list, and since it will take some time until these bugs are fixed, I suggest, that the HTML working group changes the URI of the drivers to be absolute URLs. I suggest changing <!ENTITY % xhtml-model.mod PUBLIC "-//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN" "xhtml11-model-1.mod" > to <!ENTITY % xhtml-model.mod PUBLIC "-//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11-model-1.mod" > in file http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd. I have *not* checked wether this is the only external parsed entity that requires a change of it's URI to work with buggy XML parsers. Nearly all other URIs already are absolute URLs, especially those referencing XHTML Modularization. I really do not think, that this change would have any side effects. Greetings -- ITCQIS GmbH Information Technology Consulting, Qualifying and Individual Solutions Christian Wolfgang Hujer Geschäftsführender Gesellschafter Tel: +49 (0)89 - 27370437 Fax: +49 (0)89 - 27370439 E-Mail: Christian.Hujer@itcqis.com WWW: http://www.itcqis.com/
Received on Saturday, 15 September 2001 11:50:06 UTC