<elementSpec xmlns="http://www.tei-c.org/ns/1.0" rend="add" ident="tabGrp" module="MEI.stringtab"><desc xml:lang="en">A group of simultaneous tab notes, comparable to a
<gi scheme="MEI">chord</gi> in CMN. Rarely, may also contain rests, as in some "German" lute tablatures.</desc>
<classes>
<memberOf key="att.common"/>
<memberOf key="att.tabGrp.log"/>
<memberOf key="att.tabGrp.vis"/>
<memberOf key="att.tabGrp.ges"/>
<memberOf key="att.tabGrp.anl"/>
<memberOf key="model.eventLike"/>
</classes>
<content>
<sequence minOccurs="1" maxOccurs="1"><elementRef key="tabDurSym" minOccurs="0"/>
<interleave minOccurs="1" maxOccurs="1"><alternate minOccurs="1" maxOccurs="1"><elementRef key="note" minOccurs="0" maxOccurs="unbounded"/>
<elementRef key="rest" minOccurs="0"/></alternate>
<alternate minOccurs="0" maxOccurs="unbounded"><classRef key="model.transcriptionLike"/>
<classRef key="model.editLike"/>
<classRef key="model.appLike"/></alternate></interleave></sequence>
</content>
<constraintSpec ident="check_tabGrp_in_beam" scheme="schematron">
<constraint>
<sch:rule context="mei:tabGrp[ancestor::mei:beam]">
<sch:assert test="count(mei:tabDurSym) = 1" role="warning">A tabGrp inside of a beam must contain one tabDurSym.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec></elementSpec>