[sc34wg3] CTM draft dtd. 2007-09-09 - Templates

Lars Heuer heuer at semagia.com
Tue Sep 25 07:49:58 EDT 2007

Hi Steve,

> I'm not sure why this should be a problem. Why can't the parser just
> report an error when it either

> 1) encounters an identifier that is identical to the name of an already
>    defined template, or

> 2) encounters a template definition whose name has already been used
>    as an identifier?

It could, but IMO this is too expensive and it would be bad if
template names 'steal' topic identifiers. Remember, that templates can
also be addressed by a QName which may steal possible topic
identifiers (subject identifiers).

All in all I don't like that feature for the following reasons:
- Template names steal possible topic identifiers (local identifiers
  *and* subject identifiers)
- Typos are not detected
- Users cannot determinate from a topic fragment if an occurrence is
  created or a template is invoked:
  - If the template was defined 80 lines before the topic fragment,
    the user has to scroll up an down)
  - If someone sends a fragment to another person, that person cannot
    see if a template is invoked or an occurrence is created
    -> bad for debugging
- Bad language design: Explicit is better than implicit
Best regards,

More information about the sc34wg3 mailing list