att.common.anl

Common analytical attributes. When the MEI.performance module is used, the when attribute is also a member of this attribute class.
Module MEI.analysis
Members
anchoredText, cc, chan, chanPr, cue, curve, fb, hex, marker, metaText, noteOff, noteOn, port, prog, seqNum, symbol, trkName, vel (direct members of att.common.anl)
f (via att.f.anl)
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
@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
Declaration
<classes>
<memberOf key="att.alignment"/>
</classes>
<attDef ident="copyof" usage="opt">
<desc>Points to an element of which the current element is a copy.</desc>
<datatype maxOccurs="1" minOccurs="1">
<rng:ref name="data.URI" />
</datatype>
<constraintSpec ident="When_copyof_element_empty" scheme="isoschematron">
<constraint>
<sch:rule context="mei:*[@copyof]">
<sch:assert test="count(child::node()) = 0">An element with a copyof attribute cannot have content.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
<constraintSpec ident="check_copyofTarget" scheme="isoschematron">
<constraint>
<sch:rule context="@copyof">
<sch:assert role="warning" test="not(normalize-space(.) eq '')">@copyof attribute should have content.</sch:assert>
<sch:assert role="warning" test="every $i in tokenize(., '\s+') satisfies substring($i,2)=//mei:*/@xml:id">The value in @copyof should correspond to the @xml:id attribute of an element.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
</attDef>
<attDef ident="corresp" usage="opt">
<desc>Used to point to other elements that correspond to this one in a generic fashion.</desc>
<datatype maxOccurs="unbounded" minOccurs="1">
<rng:ref name="data.URI" />
</datatype>
<constraintSpec ident="check_correspTarget" scheme="isoschematron">
<constraint>
<sch:rule context="@corresp">
<sch:assert role="warning" test="not(normalize-space(.) eq '')">@corresp attribute should have content.</sch:assert>
<sch:assert role="warning" test="every $i in tokenize(., '\s+') satisfies substring($i,2)=//mei:*/@xml:id">Each value in @corresp should correspond to the @xml:id attribute of an element.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
</attDef>
<attDef ident="next" usage="opt">
<desc>Used to point to the next event(s) in a user-defined collection.</desc>
<datatype maxOccurs="unbounded" minOccurs="1">
<rng:ref name="data.URI" />
</datatype>
<constraintSpec ident="check_nextTarget" scheme="isoschematron">
<constraint>
<sch:rule context="@next">
<sch:assert role="warning" test="not(normalize-space(.) eq '')">@next attribute should have content.</sch:assert>
<sch:assert role="warning" test="every $i in tokenize(., '\s+') satisfies substring($i,2)=//mei:*/@xml:id">Each value in @next should correspond to the @xml:id attribute of an element.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
</attDef>
<attDef ident="prev" usage="opt">
<desc>Points to the previous event(s) in a user-defined collection.</desc>
<datatype maxOccurs="unbounded" minOccurs="1">
<rng:ref name="data.URI" />
</datatype>
<constraintSpec ident="check_prevTarget" scheme="isoschematron">
<constraint>
<sch:rule context="@prev">
<sch:assert role="warning" test="not(normalize-space(.) eq '')">@prev attribute should have content.</sch:assert>
<sch:assert role="warning" test="every $i in tokenize(., '\s+') satisfies substring($i,2)=//mei:*/@xml:id">Each value in @prev should correspond to the @xml:id attribute of an element.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
</attDef>
<attDef ident="sameas" usage="opt">
<desc>Points to an element that is the same as the current element but is not a literal copy of the current element.</desc>
<datatype maxOccurs="unbounded" minOccurs="1">
<rng:ref name="data.URI" />
</datatype>
<constraintSpec ident="check_sameasTarget" scheme="isoschematron">
<constraint>
<sch:rule context="@sameas">
<sch:assert role="warning" test="not(normalize-space(.) eq '')">@sameas attribute should have content.</sch:assert>
<sch:assert role="warning" test="every $i in tokenize(., '\s+') satisfies substring($i,2)=//mei:*/@xml:id">Each value in @sameas should correspond to the @xml:id attribute of an element.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
</attDef>
<attDef ident="synch" usage="opt">
<desc>Points to elements that are synchronous with the current element.</desc>
<datatype maxOccurs="unbounded" minOccurs="1">
<rng:ref name="data.URI" />
</datatype>
<constraintSpec ident="check_synchTarget" scheme="isoschematron">
<constraint>
<sch:rule context="@synch">
<sch:assert role="warning" test="not(normalize-space(.) eq '')">@synch attribute should have content.</sch:assert>
<sch:assert role="warning" test="every $i in tokenize(., '\s+') satisfies substring($i,2)=//mei:*/@xml:id">Each value in @synch should correspond to the @xml:id attribute of an element.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
</attDef>
Constraint
An element with a copyof attribute cannot have content.
<sch:rule context="mei:*[@copyof]">
<sch:assert test="count(child::node()) = 0">An element with a copyof attribute cannot have content.</sch:assert>
</sch:rule>
Constraint
@copyof attribute should have content.
The value in @copyof should correspond to the @xml:id attribute of an element.
<sch:rule context="@copyof">
<sch:assert role="warning" test="not(normalize-space(.) eq '')">@copyof attribute should have content.</sch:assert>
<sch:assert role="warning" test="every $i in tokenize(., '\s+') satisfies substring($i,2)=//mei:*/@xml:id">The value in @copyof should correspond to the @xml:id attribute of an element.</sch:assert>
</sch:rule>
Constraint
@corresp attribute should have content.
Each value in @corresp should correspond to the @xml:id attribute of an element.
<sch:rule context="@corresp">
<sch:assert role="warning" test="not(normalize-space(.) eq '')">@corresp attribute should have content.</sch:assert>
<sch:assert role="warning" test="every $i in tokenize(., '\s+') satisfies substring($i,2)=//mei:*/@xml:id">Each value in @corresp should correspond to the @xml:id attribute of an element.</sch:assert>
</sch:rule>
Constraint
@next attribute should have content.
Each value in @next should correspond to the @xml:id attribute of an element.
<sch:rule context="@next">
<sch:assert role="warning" test="not(normalize-space(.) eq '')">@next attribute should have content.</sch:assert>
<sch:assert role="warning" test="every $i in tokenize(., '\s+') satisfies substring($i,2)=//mei:*/@xml:id">Each value in @next should correspond to the @xml:id attribute of an element.</sch:assert>
</sch:rule>
Constraint
@prev attribute should have content.
Each value in @prev should correspond to the @xml:id attribute of an element.
<sch:rule context="@prev">
<sch:assert role="warning" test="not(normalize-space(.) eq '')">@prev attribute should have content.</sch:assert>
<sch:assert role="warning" test="every $i in tokenize(., '\s+') satisfies substring($i,2)=//mei:*/@xml:id">Each value in @prev should correspond to the @xml:id attribute of an element.</sch:assert>
</sch:rule>
Constraint
@sameas attribute should have content.
Each value in @sameas should correspond to the @xml:id attribute of an element.
<sch:rule context="@sameas">
<sch:assert role="warning" test="not(normalize-space(.) eq '')">@sameas attribute should have content.</sch:assert>
<sch:assert role="warning" test="every $i in tokenize(., '\s+') satisfies substring($i,2)=//mei:*/@xml:id">Each value in @sameas should correspond to the @xml:id attribute of an element.</sch:assert>
</sch:rule>
Constraint
@synch attribute should have content.
Each value in @synch should correspond to the @xml:id attribute of an element.
<sch:rule context="@synch">
<sch:assert role="warning" test="not(normalize-space(.) eq '')">@synch attribute should have content.</sch:assert>
<sch:assert role="warning" test="every $i in tokenize(., '\s+') satisfies substring($i,2)=//mei:*/@xml:id">Each value in @synch should correspond to the @xml:id attribute of an element.</sch:assert>
</sch:rule>