The class attribute in an article allows several values: faq, journalarticle, productsheet, specification, techreport, and whitepaper.
However, this is sometimes not enough. Writers want to distinguish between other, self-definied values. This isn't possible with the current list.
Although there is the role attribute which could be (ab)used, this is considered inappropriate as it is inconsistent with other DocBook elements (see below).
The class attribute should be extend with the additional value other. When this value is selected, the otherclass attribute will be possible to fill out self-definied values.
This behaviour is consistent with other DocBook 5 elements, see biblioid, bridgehead, orgname and others.
I would propose the following change:
db.article.class-other.attribute =
## Identifies the nature of the article
attribute class {
## Indicates a non-standard article class
"other"
},
## Identifies the non-standard article
attribute otherclass { xsd:NMTOKEN }
db.article.class-enum.attribute =
## Identifies the nature of the article
attribute class { db.article.class.enumeration }
db.article.class.attribute =
db.article.class-enum.attribute | db.article.class-other.attribute
Maybe, this approach (or a similar one) could also be applied to the book element.