<staffGrp>

Module
MEI.shared
Attributes
bar.len, bar.method, bar.place, bar.thru, class, copyof, corresp, decls, facs, follows, instr, label, n, next, precedes, prev, resp, sameas, symbol, synch, type, visible, xml:base, xml:id
bar.len(optional)States the length of barlines in virtual units. The value must be greater than 0 and is typically equal to 2 times (the number of staff lines - 1); e.g., a value of '8' for a 5-line staff. Value of datatype a decimal number larger than 0.
bar.method(optional)Records the method of barring. Value conforms to data.BARMETHOD.
bar.place(optional)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). Value conforms to data.STAFFLOC.
bar.thru(optional)Indicates whether bar lines go across the space between staves (true) or are only drawn across the lines of each staff (false). Value conforms to data.BOOLEAN.
class(optional)Contains one or more URIs which denote classification terms that apply to the entity bearing this attribute. One or more values from data.URI, separated by spaces.
copyof(optional)Points to an element of which the current element is a copy. Value conforms to data.URI.
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.
decls(optional)Identifies one or more metadata elements (other than classification terms) within the header, which are understood to apply to the element bearing this attribute and its content. One or more values from data.URI, separated by spaces.
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.
follows(optional)points to one or more events in a user-defined collection that are known to be predecessors of the current element. One or more values from data.URI, separated by spaces.
instr(optional)Provides a way of pointing to a MIDI instrument definition. It must contain the ID of an instrDef element elsewhere in the document. Value conforms to data.URI.
label(optional)Captures text to be used to generate a label for the element to which it's attached, a "tool tip" or prefatory text, for example. Should not be used to record document content. Value of datatype string.
n(optional)Provides a number-like designation that indicates an element's position in a sequence of similar elements. May not contain space characters. Value conforms to data.WORD.
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.
precedes(optional)Points to one or more events in a user-defined collection that are known to be successors of the current element. One or more values from data.URI, separated by spaces.
prev(optional)Points to the previous event(s) in a user-defined collection. One or more values from data.URI, separated by spaces.
resp(optional)Indicates the agent(s) responsible for some aspect of the text's transcription, editing, or encoding. Its value must point to one or more identifiers declared in the document header. One or more values from data.URI, separated by spaces.
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.
symbol(optional)Specifies the symbol used to group a set of staves. Allowed values are: "brace" (Curved symbol, i.e., {.), "bracket" (Square symbol, i.e., [, but with curved/angled top and bottom segments.), "bracketsq" (Square symbol, i.e., [, with horizontal top and bottom segments.), "line" (Line symbol, i.e., |, (wide) line without top and bottom curved/horizontal segments.), "none" (Grouping symbol missing.)
synch(optional)Points to elements that are synchronous with the current element. One or more values from data.URI, separated by spaces.
type(optional)Designation which characterizes the element in some sense, using any convenient classification scheme or typology that employs single-token labels. One or more values of datatype NMTOKEN, separated by spaces.
visible(optional)Indicates if a feature should be rendered when the notation is presented graphically or sounded when it is presented in an aural form. Value conforms to data.BOOLEAN.
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.
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.
(MEI.shared) Attributes common to many elements.
(MEI.shared) Attributes that form the basis of the att.common class.
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.
(MEI.shared) Attributes that uniquely identify an element.
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.
(MEI.shared)
label(optional)Captures text to be used to generate a label for the element to which it's attached, a "tool tip" or prefatory text, for example. Should not be used to record document content. Value of datatype string.
(MEI.shared) Attributes that specify element-to-element relationships.
copyof(optional)Points to an element of which the current element is a copy. Value conforms to data.URI.
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.
follows(optional)points to one or more events in a user-defined collection that are known to be predecessors of the current element. One or more values from data.URI, separated by spaces.
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.
precedes(optional)Points to one or more events in a user-defined collection that are known to be successors of the current element. One or more values from data.URI, separated by spaces.
prev(optional)Points to the previous event(s) in a user-defined collection. One or more values from data.URI, separated by spaces.
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.
synch(optional)Points to elements that are synchronous with the current element. One or more values from data.URI, separated by spaces.
(MEI.shared) Attributes used to supply a number-like designation for an element.
n(optional)Provides a number-like designation that indicates an element's position in a sequence of similar elements. May not contain space characters. Value conforms to data.WORD.
(MEI.shared) Attributes capturing information regarding responsibility for some aspect of the text's creation, transcription, editing, or encoding.
resp(optional)Indicates the agent(s) responsible for some aspect of the text's transcription, editing, or encoding. Its value must point to one or more identifiers declared in the document header. One or more values from data.URI, separated by spaces.
(MEI.shared) Attributes which can be used to classify features.
type(optional)Designation which characterizes the element in some sense, using any convenient classification scheme or typology that employs single-token labels. One or more values of datatype NMTOKEN, separated by spaces.
(MEI.shared) Attributes which can be used to classify features.
class(optional)Contains one or more URIs which denote classification terms that apply to the entity bearing this attribute. One or more values from data.URI, separated by spaces.
(MEI.facsimile) Attributes that associate a feature corresponding with all or part of an image.
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.
(MEI.shared) Provides attributes for elements which may be associated with particular contextual elements within the header.
decls(optional)Identifies one or more metadata elements (other than classification terms) within the header, which are understood to apply to the element bearing this attribute and its content. One or more values from data.URI, separated by spaces.
(MEI.shared) Logical domain attributes.
(MEI.visual) Visual domain attributes.
bar.thru(optional)Indicates whether bar lines go across the space between staves (true) or are only drawn across the lines of each staff (false). Value conforms to data.BOOLEAN.
(MEI.shared) Attributes that capture the placement of bar lines.
bar.len(optional)States the length of barlines in virtual units. The value must be greater than 0 and is typically equal to 2 times (the number of staff lines - 1); e.g., a value of '8' for a 5-line staff. Value of datatype a decimal number larger than 0.
bar.method(optional)Records the method of barring. Value conforms to data.BARMETHOD.
bar.place(optional)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). Value conforms to data.STAFFLOC.
(MEI.shared) Attributes that describe the symbol used to group a set of staves.
symbol(optional)Specifies the symbol used to group a set of staves. Allowed values are: "brace" (Curved symbol, i.e., {.), "bracket" (Square symbol, i.e., [, but with curved/angled top and bottom segments.), "bracketsq" (Square symbol, i.e., [, with horizontal top and bottom segments.), "line" (Line symbol, i.e., |, (wide) line without top and bottom curved/horizontal segments.), "none" (Grouping symbol missing.)
(MEI.shared) Attributes describing whether a feature should be displayed.
visible(optional)Indicates if a feature should be rendered when the notation is presented graphically or sounded when it is presented in an aural form. Value conforms to data.BOOLEAN.
(MEI.gestural) Gestural domain attributes.
(MEI.midi) Attributes which identify a MIDI instrument.
instr(optional)Provides a way of pointing to a MIDI instrument definition. It must contain the ID of an instrDef element elsewhere in the document. Value conforms to data.URI.
(MEI.analytical) Analytical domain attributes.
Facsimile component declarations.
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.
MIDI component declarations.
instr(optional)Provides a way of pointing to a MIDI instrument definition. It must contain the ID of an instrDef element elsewhere in the document. Value conforms to data.URI.
Component declarations that are shared between two or more modules.
bar.len(optional)States the length of barlines in virtual units. The value must be greater than 0 and is typically equal to 2 times (the number of staff lines - 1); e.g., a value of '8' for a 5-line staff. Value of datatype a decimal number larger than 0.
bar.method(optional)Records the method of barring. Value conforms to data.BARMETHOD.
bar.place(optional)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). Value conforms to data.STAFFLOC.
class(optional)Contains one or more URIs which denote classification terms that apply to the entity bearing this attribute. One or more values from data.URI, separated by spaces.
copyof(optional)Points to an element of which the current element is a copy. Value conforms to data.URI.
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.
decls(optional)Identifies one or more metadata elements (other than classification terms) within the header, which are understood to apply to the element bearing this attribute and its content. One or more values from data.URI, separated by spaces.
follows(optional)points to one or more events in a user-defined collection that are known to be predecessors of the current element. One or more values from data.URI, separated by spaces.
label(optional)Captures text to be used to generate a label for the element to which it's attached, a "tool tip" or prefatory text, for example. Should not be used to record document content. Value of datatype string.
n(optional)Provides a number-like designation that indicates an element's position in a sequence of similar elements. May not contain space characters. Value conforms to data.WORD.
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.
precedes(optional)Points to one or more events in a user-defined collection that are known to be successors of the current element. One or more values from data.URI, separated by spaces.
prev(optional)Points to the previous event(s) in a user-defined collection. One or more values from data.URI, separated by spaces.
resp(optional)Indicates the agent(s) responsible for some aspect of the text's transcription, editing, or encoding. Its value must point to one or more identifiers declared in the document header. One or more values from data.URI, separated by spaces.
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.
symbol(optional)Specifies the symbol used to group a set of staves. Allowed values are: "brace" (Curved symbol, i.e., {.), "bracket" (Square symbol, i.e., [, but with curved/angled top and bottom segments.), "bracketsq" (Square symbol, i.e., [, with horizontal top and bottom segments.), "line" (Line symbol, i.e., |, (wide) line without top and bottom curved/horizontal segments.), "none" (Grouping symbol missing.)
synch(optional)Points to elements that are synchronous with the current element. One or more values from data.URI, separated by spaces.
type(optional)Designation which characterizes the element in some sense, using any convenient classification scheme or typology that employs single-token labels. One or more values of datatype NMTOKEN, separated by spaces.
visible(optional)Indicates if a feature should be rendered when the notation is presented graphically or sounded when it is presented in an aural form. Value conforms to data.BOOLEAN.
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.
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.
Visual component declarations.
bar.thru(optional)Indicates whether bar lines go across the space between staves (true) or are only drawn across the lines of each staff (false). Value conforms to data.BOOLEAN.
Member of
model.staffGrpLikeGroups elements that permit declaration of staff group properties.
Contained by
(MEI.shared) Groups elements that permit declaration of staff group properties.
abbr(abbreviation) – A generic element for 1) a shortened form of a word, including an acronym or 2) a shorthand notation.
add(addition) – Marks an addition to the text.
corr(correction) – Contains the correct form of an apparent erroneous passage.
damageContains an area of damage to the physical medium.
del(deletion) – Contains information deleted, marked as deleted, or otherwise indicated as superfluous or spurious in the copy text by an author, scribe, annotator, or corrector.
expan(expansion) – Contains the expansion of an abbreviation.
lem(lemma) – Contains the lemma, or base text, of a textual variation.
orig(original) – Contains material which is marked as following the original, rather than being normalized or corrected.
rdg(reading) – Contains a single reading within a textual variation.
reg(regularization) – Contains material which has been regularized or normalized in some sense.
restoreIndicates restoration of material to an earlier state by cancellation of an editorial or authorial marking or instruction.
scoreDef(score definition) – Container for score meta-information.
sicContains apparently incorrect or inaccurate material.
staffGrp(staff group) – A group of bracketed or braced staves.
suppliedContains material supplied by the transcriber or editor for any reason.
syllableNeume notation can be thought of as "neumed text". Therefore, the syllable element provides high-level organization in this repertoire.
unclearContains material that cannot be transcribed with certainty because it is illegible or inaudible in the source.
Critical apparatus component declarations.
lem(lemma) – Contains the lemma, or base text, of a textual variation.
rdg(reading) – Contains a single reading within a textual variation.
Editorial and transcriptional component declarations.
abbr(abbreviation) – A generic element for 1) a shortened form of a word, including an acronym or 2) a shorthand notation.
add(addition) – Marks an addition to the text.
corr(correction) – Contains the correct form of an apparent erroneous passage.
damageContains an area of damage to the physical medium.
del(deletion) – Contains information deleted, marked as deleted, or otherwise indicated as superfluous or spurious in the copy text by an author, scribe, annotator, or corrector.
expan(expansion) – Contains the expansion of an abbreviation.
orig(original) – Contains material which is marked as following the original, rather than being normalized or corrected.
reg(regularization) – Contains material which has been regularized or normalized in some sense.
restoreIndicates restoration of material to an earlier state by cancellation of an editorial or authorial marking or instruction.
sicContains apparently incorrect or inaccurate material.
suppliedContains material supplied by the transcriber or editor for any reason.
unclearContains material that cannot be transcribed with certainty because it is illegible or inaudible in the source.
Neume repertoire component declarations.
syllableNeume notation can be thought of as "neumed text". Therefore, the syllable element provides high-level organization in this repertoire.
Component declarations that are shared between two or more modules.
scoreDef(score definition) – Container for score meta-information.
staffGrp(staff group) – A group of bracketed or braced staves.
May Contain
grpSym(group symbol) – A brace or bracket used to group two or more staves of a score or part.
(MEI.shared) Groups elements used to declare a MIDI instrument.
instrDef(instrument definition) – MIDI instrument declaration.
(MEI.shared) Groups elements used to assign a label to other parts of a document.
labelA container for document text that identifies the feature to which it is attached. For a "tool tip" or other generated label, use the label attribute.
labelAbbrA label on the pages following the first.
(MEI.shared) Groups elements that permit declaration of staff properties.
staffDef(staff definition) – Container for staff meta-information.
(MEI.shared) Groups elements that permit declaration of staff group properties.
staffGrp(staff group) – A group of bracketed or braced staves.
MIDI component declarations.
instrDef(instrument definition) – MIDI instrument declaration.
Component declarations that are shared between two or more modules.
grpSym(group symbol) – A brace or bracket used to group two or more staves of a score or part.
labelA container for document text that identifies the feature to which it is attached. For a "tool tip" or other generated label, use the label attribute.
labelAbbrA label on the pages following the first.
staffDef(staff definition) – Container for staff meta-information.
staffGrp(staff group) – A group of bracketed or braced staves.
Remarks

System is the more proper name for this concept (Read, p. 37-38). Bracketed staff groups may contain other bracketed or braced staff groups or single staves. See Read, p. 35-38, examples p. 434, 438.

Constraints
Each staffDef must have a unique value for the n attribute.
<sch:rule context="mei:staffGrp">
<sch:let name="countstaves" value="count(descendant::mei:staffDef)"/>
<sch:let name="countuniqstaves" value="count(distinct-values(descendant::mei:staffDef/@n))"/>
<sch:assert test="$countstaves eq $countuniqstaves">Each staffDef must have a unique value for the n attribute.</sch:assert>
</sch:rule>
Declaration
<elementSpec ident="staffGrp" module="MEI.shared">
<desc>(staff group) – A group of bracketed or braced staves.</desc>
<classes>
<memberOf key="att.common"/>
<memberOf key="att.facsimile"/>
<memberOf key="att.metadataPointing"/>
<memberOf key="att.staffGrp.log"/>
<memberOf key="att.staffGrp.vis"/>
<memberOf key="att.staffGrp.ges"/>
<memberOf key="att.staffGrp.anl"/>
<memberOf key="model.staffGrpLike"/>
</classes>
<content>
<rng:zeroOrMore>
<rng:ref name="grpSym" />
</rng:zeroOrMore>
<rng:zeroOrMore>
<rng:choice>
<rng:ref name="model.labelLike" />
</rng:choice>
</rng:zeroOrMore>
<rng:zeroOrMore>
<rng:ref name="model.instrDefLike" />
</rng:zeroOrMore>
<rng:oneOrMore>
<rng:choice>
<rng:ref name="model.staffGrpLike" />
<rng:ref name="model.staffDefLike" />
</rng:choice>
</rng:oneOrMore>
<rng:zeroOrMore>
<rng:ref name="grpSym" />
</rng:zeroOrMore>
</content>
<constraintSpec ident="Check_staffGrp_unique_staff_n_values" scheme="isoschematron">
<constraint>
<sch:rule context="mei:staffGrp">
<sch:let name="countstaves" value="count(descendant::mei:staffDef)"/>
<sch:let name="countuniqstaves" value="count(distinct-values(descendant::mei:staffDef/@n))"/>
<sch:assert test="$countstaves eq $countuniqstaves">Each staffDef must have a unique value for the n attribute.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
<remarks>
<p part="N">System is the more proper name for this concept (Read, p. 37-38). Bracketed staff groups may contain other bracketed or braced staff groups or single staves. See Read, p. 35-38, examples p. 434, 438.</p>
</remarks>
</elementSpec>