Camille B嶲nis wrote:
>
> Rationale: When our clients come to docbook they are frightened by the
> number of elements. So we provide them with a limited list so they can
> get started. But while they start learning new elements they realize
> they should have called that element <preface> rather than <chapter>.
> And it's easier to add an attribute to specialize the element rather
> than renaming it, possibly with content model issues.
>
I'd second that, i.e., favor generic elements that can be specialized by adding child nodes (attributes and elements) -- without changing the element name.
I also happen to like <systemitem>. A <systemitem class="library"> is 'a kind of' or 'an extension of' <systemitem>; the proliferation of @class values is just a reflection of the number of system-related terms that have similar behavior.
To the extent that a number of elements have similar content models and similar processing expectations, it is a moot point whether you say <gi class="special">...</gi> or <gi><special/>...</gi> or <special>...</special>, cf. "Should I use elements or attributes to store data?" [1].
[1] http://www.flightlab.com/~joe/sgml/faq-not.txt
kind regards
Peter Ring