> > +<!-- 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