W3C home > Mailing lists > Public > www-html-editor@w3.org > July to September 2001

Change request of XHTML 1.1 DTD: use absolute URIs for Entities which are referenced from different base hrefs than the declaring document

From: Christian Wolfgang Hujer <Christian.Hujer@itcqis.com>
Date: Sat, 15 Sep 2001 17:50:32 +0200
To: <www-html-editor@w3.org>
Message-ID: <000101c13dfe$26feb9e0$b18f9b3e@andromeda>
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

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"
(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" >
	<!-- instantiate the Document Model module declared in the DTD driver -->
(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
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:
And this is what conforming XML Parsers must resolve:

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"
<!ENTITY % xhtml-model.mod PUBLIC
	"-//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN"
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.


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

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:08:29 UTC