In MIX-People.xml there are 2 @role values of "speaker, collaborator"; in MIX-Lexicon-TEI-Dict.xml there are 2 @role values of "speaker collaborator" (and 1 of "editor researcher").
The Lexicon file is correct. Because COMMA (U+002C, ‘,’) is (unwisely IMHO) a legal character in teidata.word, and thus in teidata.enumerated, this is not a validity error. But since the values of @role are space-separated, in MIX-People.xml the two roles are “collaborator” and “speaker,”.
The following (untested) ODD snippet would allow this (and all sorts of other @role errors) to be caught in the initial validation phase.
<elementSpec ident="person" module="namesdates" mode="change">
<attList>
<attDef ident="role" mode="change">
<valList type="closed">
<valItem ident="speaker"/>
<valItem ident="collaborator"/>
<valItem ident="editor"/>
<valItem ident="researcher"/>
<valItem ident="expert"/>
</valList>
</attDef>
</attList>
</elementSpec>
In MIX-People.xml there are 2
@rolevalues of"speaker, collaborator"; in MIX-Lexicon-TEI-Dict.xml there are 2@rolevalues of"speaker collaborator"(and 1 of"editor researcher").The Lexicon file is correct. Because COMMA (U+002C, ‘,’) is (unwisely IMHO) a legal character in teidata.word, and thus in teidata.enumerated, this is not a validity error. But since the values of
@roleare space-separated, in MIX-People.xml the two roles are “collaborator” and “speaker,”.The following (untested) ODD snippet would allow this (and all sorts of other
@roleerrors) to be caught in the initial validation phase.