<classSpec ident="att.nc.log" module="MEI.neumes" type="atts">
<desc xml:lang="en">Logical domain attributes.</desc>
<classes>
<!-- att.event restricted -->
<memberOf key="att.alignment"/>
<memberOf key="att.layerIdent"/>
<memberOf key="att.staffIdent"/>
</classes>
<attList>
<!-- pname and oct are re-defined locally to allow indefinite pitch -->
<attDef ident="oct" usage="opt">
<desc xml:lang="en">Captures written octave information.</desc>
<datatype>
<rng:choice>
<rng:data type="nonNegativeInteger">
<rng:param name="maxInclusive">9</rng:param>
</rng:data>
<rng:data type="token">
<rng:param name="pattern">unknown</rng:param>
</rng:data>
</rng:choice>
</datatype>
</attDef>
<attDef ident="pname" usage="opt">
<gloss xml:lang="en">pitch name</gloss>
<desc xml:lang="en">Contains a written pitch name.</desc>
<datatype>
<rng:data type="token">
<rng:param name="pattern">[a-g]|unknown</rng:param>
</rng:data>
</datatype>
</attDef>
</attList>
</classSpec>