> > +<!-- The three special language constants -->
> >  <!ENTITY true  '<constant>TRUE</constant>'>
> >  <!ENTITY false '<constant>FALSE</constant>'>
> >  <!ENTITY null  '<constant>NULL</constant>'>
> > +<!-- note: use <type>NULL</type> if you're talking about the type
> NULL, &null;
> > +if it's about the value NULL -->
>
> It doesn´t make any sense. &null; and "NULL" is the same thing in a
> printed manual. If you want to distinguish between value and type,
> so you have to introduce another entity. But I guess, the rendering
> would be the same.

No, &null; is bold and fixed-width, while NULL is simply normal text, and
<type>NULL</type> is a bold link to the right section.

These are only typographic conventions (see definition of <constant> tag for
example, about expected rendering), to aid reading. There's no use in an
entity for the null type, because it's (1) practically nowhere necessary,
and (2) we don't have entities for float, integer, etc etc, because it's not
needed: <type>NULL</type> would do.

true, false and null are language constants, therefore entities have been
used: if someone thinks of a better xml-tag than <constant>, it can be
easily modified. IIRC, there's no tag to indicate language keywords, above
that, technically they are just constants, because that's better
implementationwise. (adding 3 real keywords slows down parsing, while the
constants hashtable lookup mechanism is perfect for it).

--Jeroen

Reply via email to