W3C home > Mailing lists > Public > www-validator@w3.org > June 2007

Using custom XHTML doctype (Was: Re: [VE][117] Add Subject Here)

From: Jukka K. Korpela <jkorpela@cs.tut.fi>
Date: Sat, 9 Jun 2007 08:06:41 +0300 (EEST)
To: Carl Bussema III <bussemac@msu.edu>
cc: www-validator@w3.org
Message-ID: <Pine.SOC.4.64.0706090744510.24864@hopeatilhi.cs.tut.fi>

On Fri, 8 Jun 2007, Carl Bussema III wrote:

> When attempting to validate a skeleton page to test our DTD that adds target 
> back into XHTML 1.1, I get a very cryptic error about missing marked section 
> end.

On pragmatic grounds, XHTML 1.1 is an exercise in futility, and adding 
target "back" to it is...er... funny. But validation is formal, not 
pragmatic, so let's look at the problem.

> Searching the 'net, the only clue I can find is that this has something 
> to do with the DTD.

That's right. And here we have the problem that the W3C Validator does not 
usually report errors in a DTD. In fact, it is not uncommon - when playing 
with custom DTDs - to get a message saying that the document is not valid, 
without any indication of what and where the errors are. The good old WDG 
validator http://www.htmlhelp.com/tools/validator/ is more suitable in 
this respect (and due to less restrictions on the DTD) when using a custom 
DTD.

> However, I copied the DTD directly from a site that is using it,

Perhaps there was a copying error, since the problem may have been caused
by an accidental deletion of a line.

> Validating https://cse101.lite.msu.edu:8080/tmp/validate_test.php
> Error [117]: "missing marked section end"

It's actually a pretty descriptive error message, though reported at an 
odd location. In the DTD, the entity declaration starting at line 27,
<!ENTITY % xhtml-lat1.entity "INCLUDE">
contains a marked section that is not ended anywhere. To fix this, add the 
end after line 31,
%xhtml-lat1;
The end consists of
]]>
(cf. to the next declatation, from line 34 to line 39).

After reading lines 27 through 31, the validator goes to a state where it 
expects a marked section end, and it reports this only at the end of the 
XHTML document, so the message appears as relating to the </html> tag. The 
WDG validator is more informative: although it behaves essentially the 
same way, it precedes the error message with the following note:

http://cse101.lite.msu.edu/lib/doctype/xhtml11-target.dtd, line 28, 
character 1: marked section started here

P.S. When testing the page on Firefox 2, I get just an error message about 
XML parse error, for "&nbsp;", even after I have fixed the problem in the 
DTD. Apparently Firefox does not read an external subset (such as the file 
containing definitions for Latin 1 entities like "&nbsp;"); and this is 
permitted by the specifications. If you use a "standard" DTD instead, 
Firefox presumably recognizes that you're using XHTML and not generic XML, 
so it loads its internal set of definitions for "standard" entities in 
XHTML.

-- 
Jukka "Yucca" Korpela, http://www.cs.tut.fi/~jkorpela/
Received on Saturday, 9 June 2007 05:06:59 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 25 April 2012 12:14:24 GMT