Re: Is "0" valid for all XSL-FO lengths?

On Wed, January 1, 2014 7:57 pm, Tony Graham wrote:
...
> The XSL 1.1 definition of the <length> datatype [1] is:
>
>    <length>
>
>    A signed length value where a 'length' is a real number plus a unit
>    qualification. A property may define additional constraints on the
>    value.
>
> The definition of 'border-top-width' (which, by its black border [3],
> is denoted as copied from CSS2) has a link to the CSS2 definition of
> 'border-top-width' [4], which has a link to the CSS2 definition of
> border width [5], which has a link to the CSS2 definition of the
> <length> datatype [6], which includes:
>
>    After a zero length, the unit identifier is optional.
>
> So, is 'border-top-width="0"' allowed by XSL 1.1?  If it is, is "0"
> allowed for FO-only properties such as 'rule-thickness' [7]?

To answer my own questions, I think 'border-top-width="0"' is allowed by
XSL 1.1 since it derives from a CSS2 property and has an explicit link to
the CSS2 definition.

I think it should also be allowed for all <length> (and <space>, etc.) so
it is internally consistent: I don't think anybody would want to have to
remember which are the properties for which "0" is valid and for which it
isn't.  It would also make it consistent with both SVG and CSS.

I also don't think it is the intention of XSL 1.1 that "0" be a valid
length, but 0 is the same distance in all length units [8], so in that
case the unit name is meaningless, and we might as well save people from
typing meaningless characters.

If we wanted to do something more than talk about it, we'd have to test
various XSL-FO formatters to see what they do and don't support and/or
produce something formal with the result of our deliberations.  What do
people think?

Regards,


Tony.

> [1] http://www.w3.org/TR/xsl11/#datatype
> [2] http://www.w3.org/TR/xsl11/#border-top-width
> [3] http://www.w3.org/TR/xsl11/#d0e15664
> [4] http://www.w3.org/TR/CSS2/box.html#propdef-border-top-width
> [5] http://www.w3.org/TR/CSS2/box.html#value-def-border-width
> [6] http://www.w3.org/TR/CSS2/syndata.html#value-def-length
> [7] http://www.w3.org/TR/xsl11/#rule-thickness
[8] If there were units for temperature, they'd be a different story, but
there aren't.

Received on Sunday, 12 January 2014 13:02:04 UTC