<classSpec ident="att.barring" module="MEI.shared" type="atts">
<desc xml:lang="en">Attributes that capture the placement of bar lines.</desc>
<attList>
<attDef ident="bar.len" usage="opt">
<desc xml:lang="en">States the length of bar lines in virtual units. The value must be greater than 0
and
is typically equal to 2 times (the number of staff lines - 1);
<abbr>e.g.</abbr>, a value of
<val>8</val> for a
5-line staff.</desc>
<datatype>
<rng:data type="decimal">
<rng:param name="minExclusive">0</rng:param>
</rng:data>
</datatype>
<remarks xml:lang="en">
<p>This attribute is ignored if the value of the bar.style attribute is
<val>mensur</val>.</p>
</remarks>
</attDef>
<attDef ident="bar.method" usage="opt">
<desc xml:lang="en">Records the method of barring.</desc>
<constraintSpec ident="check_barmethod" scheme="schematron">
<constraint>
<sch:rule context="@bar.method[parent::*[matches(local-name(), '(staffDef|measure)')]]">
<sch:assert test="not(. eq 'mensur')">"mensur" not allowed in this
context.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
</attDef>
<attDef ident="bar.place" usage="opt">
<desc xml:lang="en">Denotes the staff location of bar lines, if the length is non-standard; that is, not
equal to 2 times (the number of staff lines - 1).</desc>
<remarks xml:lang="en">
<p>The location may include staff lines, the spaces between the lines, and the spaces
directly above and below the staff. The value ranges between 0 (just below the staff)
to
2 * number of staff lines (directly above the staff). For example, on a 5-line staff
the
lines would be numbered 1, 3, 5, 7, and 9 while the spaces would be numbered 0, 2,
4, 6,
8, and 10. So, a value of
<val>9</val> puts the bar line through the top line of the staff.</p>
<p>This attribute is ignored if the value of the bar.style attribute is
<val>mensur</val>.</p>
</remarks>
</attDef>
</attList>
</classSpec>