- From: Fernand Albarracin <fjy.albarracin@wanadoo.fr>
- Date: Sun, 9 Sep 2001 18:56:50 +0200
- To: www-validator-css@w3.org
Hi, Trying to validate CSS linked from a XHTML document, I encountered a problem with the online W3C CSS validator. It looks like it doesn't like some document type declaration. In fact, looking at this mailing list's archives, it seems that some people have allready seen that behaviour. I may be wrong but I believe this is a bug. Sorry if this is a known issue. My english might not be quite correct, but I'll try to be understandable. :-) Ok, here is what my documents contain : <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "/path/to/dtd"> I get this message : org.xml.sax.SAXException: Please, fix your system identifier (URI) in the DOCTYPE rule Changing the system identifier to "http://hostname/path/to/dtd" doesn't help. And while some people have made the mistake in the past, the DTD file do really exist in the specified location. Also looking at my Web server's log, I don't see any attempt to read the DTD. As a side note, while I was reading the log file I noticed that the validator loaded the document twice. Is that a normal behaviour ? The validator will only accept a document type declaration containing a system identifier pointing to a DTD on w3.org, in some places that people who wrote the validator consider "standard". For a XHTML 1.0 Strict document, this is "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd". Reading the following mail confirmed this : http://lists.w3.org/Archives/Public/www-validator-css/2001Jul/0096.html So let's take a closer look at the XML specification. http://www.w3.org/TR/REC-xml#dt-doctype [Definition: The XML document type declaration contains or points to markup declarations that provide a grammar for a class of documents. This grammar is known as a document type definition, or DTD. The document type declaration can point to an external subset (a special kind of external entity) containing markup declarations, or can contain the markup declarations directly in an internal subset, or can do both. The DTD for a document consists of both subsets taken together.] In our case, the declaration points to an external DTD. Then we have to look at the external entity definition. http://www.w3.org/TR/REC-xml#dt-extent ... [Definition: The SystemLiteral is called the entity's system identifier. It is a URI reference (as defined in [IETF RFC 2396], updated by [IETF RFC 2732]), meant to be dereferenced to obtain input for the XML processor to construct the entity's replacement text.] It is an error for a fragment identifier (beginning with a # character) to be part of a system identifier. 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. A URI might thus be relative to the document entity, to the entity containing the external DTD subset, or to some other external parameter entity. ... Examples of external entity declarations: <!ENTITY open-hatch SYSTEM "http://www.textuality.com/boilerplate/OpenHatch.xml"> <!ENTITY open-hatch PUBLIC "-//Textuality//TEXT Standard open-hatch boilerplate//EN" "http://www.textuality.com/boilerplate/OpenHatch.xml"> <!ENTITY hatch-pic SYSTEM "../grafix/OpenHatch.gif" NDATA gif > Then, what's wrong with "/path/to/dtd" present in the document type declaration of my documents ? Fernand (please CC me replies)
Received on Sunday, 9 September 2001 12:56:55 UTC