The starting point of the curve may be identified in absolute output coordinate terms using the x and y attributes or relative to the location of another element using the startid attribute. The attributes in the att.visualOffset class may be used to record horizontal, vertical, or time offsets from the absolute coordinates or from the location of the referenced element. Similarly, the terminal point of the curve may be recorded using either the x2 and y2 coordinates or in relation to the location of another element using the endid attribute. Attributes in the att.visualOffset2 class maybe used to record the offsets of the ending point. The bulge attribute or, alternatively, the bezier attribute, describe the shape of the curve and the lform and lwidth attributes capture its appearance.
<elementSpec ident="curve" module="MEI.usersymbols">
<desc xml:lang="en">A curved line that cannot be represented by a more specific element, such as a
slur.</desc>
<classes>
<memberOf key="att.common"/>
<memberOf key="att.curve.anl"/>
<memberOf key="att.curve.ges"/>
<memberOf key="att.curve.log"/>
<memberOf key="att.curve.vis"/>
<memberOf key="att.facsimile"/>
<memberOf key="model.graphicPrimitiveLike"/>
</classes>
<content>
<rng:empty/>
</content>
<constraintSpec ident="symbolDef_curve_attributes_required" scheme="schematron">
<constraint>
<sch:rule context="mei:curve[ancestor::mei:symbolDef]">
<sch:assert test="@startid or (@x and @y)">In the symbolDef context, curve must have
either a startid attribute or x and y attributes.</sch:assert>
<sch:assert test="@endid or (@x2 and @y2)">In the symbolDef context, curve must have
either an endid attribute or both x2 and y2 attributes.</sch:assert>
<sch:assert test="@bezier or @bulge">In the symbolDef context, curve must have either a
bezier or bulge attribute.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
<remarks xml:lang="en">
<p>The starting point of the curve may be identified in absolute output coordinate terms
using
the <att>x</att> and <att>y</att> attributes or relative to the location of another element
using the <att>startid</att> attribute. The attributes in the att.visualOffset class may be
used to record horizontal, vertical, or time offsets from the absolute coordinates
or from
the location of the referenced element. Similarly, the terminal point of the curve
may be
recorded using either the <att>x2</att> and <att>y2</att> coordinates or in relation to the
location of another element using the <att>endid</att> attribute. Attributes in the
att.visualOffset2 class maybe used to record the offsets of the ending point. The
<att>bulge</att> attribute or, alternatively, the <att>bezier</att> attribute, describe the
shape of the curve and the <att>lform</att> and <att>lwidth</att> attributes capture its
appearance.</p>
</remarks>
</elementSpec>