I've been wrestling with changing the definition of the global "rend" attribute to constrain valid values to a closed list.
I thought I could use "mode" to "change" the attribute's definition, but I found instead that I had to "delete" the attribute and then "add" my new version of it.
i.e. when I tried this, Roma effectively ignored my classSpec and I got the old definition of "rend":
<classSpec ident="att.global" module="tei" mode="change">
<attList>
<attDef ident="rend" usage="rwa" mode="change">
<dataType>
<rng:ref name="data.enumerated"/>
</dataType>
<valList type="closed">
<valItem ident="i">
<gloss>italic</gloss>
</valItem>
<valItem ident="b">
<gloss>bold</gloss>
</valItem>
</valList>
</attDef>
</attList>
</classSpec>
However, the following worked:
<classSpec ident="att.global" module="tei" mode="change">
<attList>
<attDef ident="rend" mode="delete"/>
<attDef ident="rend" usage="rwa" mode="add">
<dataType>
<rng:ref name="data.enumerated"/>
</dataType>
<valList type="closed">
<valItem ident="i">
<gloss>italic</gloss>
</valItem>
<valItem ident="b">
<gloss>bold</gloss>
</valItem>
</valList>
</attDef>
</attList>
</classSpec>
Logged In: YES
user_id=95949
Originator: NO
The <valList> element should have a mode attribute too, with a value of "add", for
this to work as expected.