Re: [xep-support] Small Bug in FO DTD

From: Nikolai Grigoriev (
Date: Tue Nov 05 2002 - 09:44:46 PST

Hi Eliot,

> As for allowing attributes on empty elements--I read the FO spec as
> implying that any inheritible attribute may be specified
> anywhere--whether it can be inherited because of the document structure
> is another question--but I wouldn't expect a validator to choke if I put
> non-sensical (but otherwise allowed) attributes on an empty element
> (although I wouldn't mind an informational message that the attributes
> cannot have any effect, but that would be a frill).

Unfortunately, it is not possible to distinguish between errors and warnings
in a DTD: you are either conformant or not :-). Mathematically speaking,
we should have permitted all attributes but @id/@ref-id anywhere in the
document tree. But since no one can purposedly specify @master-reference
on a fo:page-number, such a combination indicates a possible stylesheet
More or less like if(a=b) in C: the construct is not an error by itself,
but most probably results from a mistype instead of a deliberate choice;
so it is reported by all compilers despite its validity.

A similar choice is made in the DTD when it comes to <string> values
for @text-align. The property is poorly designed in CSS2 (IMHO): "left"
is a valid keyword but "lepht" is valid again - as a <string>; a validator's
nightmare. We decided to drop <string> values at all for a moment -
catching misprints in keywords seemed more important. Not very rigorous
but practical :-).

Best regards,

By using the Service, you expressly agree to these Terms of Service

This archive was generated by hypermail 2.1.5 : Wed Dec 18 2002 - 08:41:28 PST