We are profiling on db.audience.attribute and would like to enforce values to be within a predefined enumeration.
The following is working but is too restrictive:
<define name="db.audience.attribute">
<attribute name="audience">
<ref name="my.audience" />
</attribute></define>
<define name="my.audience">
<choice>
<value>gui</value>
<value>admin</value>
...
</choice></define>
The problem is that our singlesourced and highly modular DocBook XML files use semicolon separated lists of multiple audience values. And validation will fail because the above shema only allows a single value from my.audience.
So I tried to add the following and ref my.audience.list in stead of my.audience from the attribute definition:
<define name="my.audience.list">
<ref name="my.audience" />
<zeroOrMore>
<value>;</value>
<ref name="my.audience" />
</zeroOrMore>
</define>
At this point I get validation errors like "group of string or data element". How do I tweak the docbookxi.rng (in my customization layer rng file) to allow this construction with semicolons, which is clearly allowed by the shema without enforcing enumeration values?
Bergfrid Skaara