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>
                                       
                                       <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>