<elementSpec ident="contributor" module="MEI.shared">
<desc xml:lang="en">Names of individuals, institutions, or organizations responsible for contributions
to the
intellectual content of a work, where the specialized elements for authors, editors,
etc. do
not suffice or do not apply.</desc>
<classes>
<memberOf key="att.common"/>
<memberOf key="att.bibl"/>
<memberOf key="att.evidence"/>
<memberOf key="att.facsimile"/>
<memberOf key="att.lang"/>
<memberOf key="model.respLikePart"/>
</classes>
<content>
<rng:zeroOrMore>
</rng:zeroOrMore>
</content>
<constraintSpec ident="check_contributor_role" scheme="schematron">
<constraint>
<sch:rule context="mei:contributor">
<sch:assert test="not(matches(normalize-space(lower-case(@role)), '(arranger|author|composer|contributor|editor|funder|librettist|lyricist|sponsor)'))">The value of @role must not contain the name of another element available in this
context.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
<attList>
<attDef ident="role" usage="rec">
<desc xml:lang="en">Used to specify the contributor’s function.</desc>
<datatype>
<rng:text/>
</datatype>
<remarks xml:lang="en">
<p>When applicable, values from the
<abbr>MARC</abbr> relator term list (<ref target="http://www.loc.gov/marc/relators/relaterm.html">http://www.loc.gov/marc/relators/relaterm.html</ref>) or code list (<ref target="http://www.loc.gov/marc/relators/relacode.html">http://www.loc.gov/marc/relators/relacode.html</ref>) are recommended for
<att>role</att>.</p>
</remarks>
</attDef>
</attList>
</elementSpec>