<ossia>

An alternate notational version .
Module MEI.cmn
Attributes
@copyof(optional)Points to an element of which the current element is a copy. Value conforms to data.URI. att.common.anl
@corresp(optional)Used to point to other elements that correspond to this one in a generic fashion. One or more values from data.URI, separated by spaces. att.common.anl
@facs(optional)Permits the current element to reference a facsimile surface or image zone which corresponds to it. One or more values from data.URI, separated by spaces. att.facsimile
@label(optional)Provides a name or label for an element. The value may be any string. Value of datatype string. att.commonPart
@n(optional)Provides a number-like designation for an element. Value conforms to token. att.common
@next(optional)Used to point to the next event(s) in a user-defined collection. One or more values from data.URI, separated by spaces. att.common.anl
@prev(optional)Points to the previous event(s) in a user-defined collection. One or more values from data.URI, separated by spaces. att.common.anl
@sameas(optional)Points to an element that is the same as the current element but is not a literal copy of the current element. One or more values from data.URI, separated by spaces. att.common.anl
@synch(optional)Points to elements that are synchronous with the current element. One or more values from data.URI, separated by spaces. att.common.anl
@when(optional)Indicates the point of occurrence of this feature along a time line. Its value must be the ID of a when element elsewhere in the document. Value conforms to data.URI. att.alignment
@xml:base(optional)Provides a base URI reference with which applications can resolve relative URI references into absolute URI references. Value conforms to data.URI. att.commonPart
@xml:id(optional)Regularizes the naming of an element and thus facilitates building links between it and other resources. Each id attribute within a document must have a unique value. Value of datatype ID. att.id
Member of
Contained by
MEI.cmnmeasure
MEI.sharedstaff
May contain
MEI.sharedlayer staff
Declaration
<classes>
<memberOf key="att.common"/>
<memberOf key="att.facsimile"/>
<memberOf key="att.ossia.log"/>
<memberOf key="att.ossia.vis"/>
<memberOf key="att.ossia.ges"/>
<memberOf key="att.ossia.anl"/>
<memberOf key="model.ossiaLike"/>
</classes>
<content>
<rng:choice>
<rng:group>
<rng:ref name="model.staffLike" />
<rng:oneOrMore>
<rng:ref name="model.staffLike" />
</rng:oneOrMore>
</rng:group>
<rng:group>
<rng:ref name="model.layerLike" />
<rng:oneOrMore>
<rng:ref name="model.layerLike" />
</rng:oneOrMore>
</rng:group>
</rng:choice>
</content>
Remarks

The alternative material in an ossia often provides a simpler, easier-to-perform option, while at other times the alternate material provides indications of performance practice, such as ornamentation. Often an ossia is rendered above the main staff on a reduced-size staff. Sometimes the alternate material occurs on the same staff as the primary text, but in a separate layer. In this case, the alternative material is often rendered in small-sized notation.

Constraint
In a measure, ossia may only contain staff elements.
In a staff, ossia may only contain layer elements.
<sch:rule context="mei:measure/mei:ossia">
<sch:assert test="count(mei:*) = count(mei:staff)">In a measure, ossia may only contain staff elements.</sch:assert>
</sch:rule>
<sch:rule context="mei:staff/mei:ossia">
<sch:assert test="count(mei:*) = count(mei:layer)">In a staff, ossia may only contain layer elements.</sch:assert>
</sch:rule>