<keySig>

Module
Attributes
accid, cancelaccid, class, color, copyof, corresp, facs, follows, label, mode, n, next, pname, precedes, prev, resp, sameas, sig, synch, type, visible, xml:base, xml:id
accid(optional)Captures a written accidental. Value conforms to data.ACCIDENTAL.WRITTEN.
cancelaccid(optional)Determines where cautionary accidentals should be displayed at a key change. Value conforms to data.CANCELACCID.
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.
color(optional)Used to indicate visual appearance. Do not confuse this with the musical term 'color' as used in pre-CMN notation. Value conforms to data.COLOR.
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.
facs(optional)Points to one or more images, portions of an image, or surfaces which correspond to the current element. 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 is plain text.
mode(optional)Indicates major, minor, or other tonality. Value conforms to data.MODE.
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.
pname(optional)Contains a written pitch name. Value conforms to data.PITCHNAME.
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.
sig(optional)Written key signature. One or more values from data.KEYFIFTHS, 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.
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 is a valid xml: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 is a valid xml: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 is plain text.
(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)Points to one or more images, portions of an image, or surfaces which correspond to the current element. One or more values from data.URI, separated by spaces.
(MEI.analytical) Analytical domain attributes.
(MEI.shared) Attributes for capturing momentary pitch inflection.
accid(optional)Captures a written accidental. Value conforms to data.ACCIDENTAL.WRITTEN.
(MEI.shared) Attributes for describing key mode.
mode(optional)Indicates major, minor, or other tonality. Value conforms to data.MODE.
(MEI.shared) Attributes that record written pitch name.
pname(optional)Contains a written pitch name. Value conforms to data.PITCHNAME.
(MEI.gestural) Gestural domain attributes.
(MEI.shared) Logical domain attributes.
sig(optional)Written key signature. One or more values from data.KEYFIFTHS, separated by spaces.
(MEI.visual) Visual domain attributes.
cancelaccid(optional)Determines where cautionary accidentals should be displayed at a key change. Value conforms to data.CANCELACCID.
(MEI.shared) Visual color attributes.
color(optional)Used to indicate visual appearance. Do not confuse this with the musical term 'color' as used in pre-CMN notation. Value conforms to data.COLOR.
(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.
Facsimile component declarations.
facs(optional)Points to one or more images, portions of an image, or surfaces which correspond to the current element. One or more values from data.URI, separated by spaces.
Component declarations that are shared between two or more modules.
accid(optional)Captures a written accidental. Value conforms to data.ACCIDENTAL.WRITTEN.
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.
color(optional)Used to indicate visual appearance. Do not confuse this with the musical term 'color' as used in pre-CMN notation. Value conforms to data.COLOR.
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.
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 is plain text.
mode(optional)Indicates major, minor, or other tonality. Value conforms to data.MODE.
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.
pname(optional)Contains a written pitch name. Value conforms to data.PITCHNAME.
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.
sig(optional)Written key signature. One or more values from data.KEYFIFTHS, 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.
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 is a valid xml:id.
Visual component declarations.
cancelaccid(optional)Determines where cautionary accidentals should be displayed at a key change. Value conforms to data.CANCELACCID.
Member of
model.keySigLikeGroups elements that have the same function as a key signature.
Contained By
(MEI.shared) Groups elements that have the same function as a key signature.
scoreDefContainer for score meta-information.
(MEI.shared) Groups event elements that occur in all notational repertoires.
beamA container for a series of explicitly beamed events that begins and ends entirely within a measure.
graceGrpA container for a sequence of grace notes.
ligatureA mensural notation symbol that combines two or more notes into a single sign.
tupletA group of notes with "irregular" (sometimes called "irrational") rhythmic values, for example, three notes in the time normally occupied by two or nine in the time of five.
(MEI.shared) Groups notated events that may appear at the layer level in all repertoires.
abbrA generic element for 1) a shortened form of a word, including an acronym or 2) a shorthand notation.
addMarks an addition to the text.
corrContains the correct form of an apparent erroneous passage.
damageContains an area of damage to the physical medium.
delContains information deleted, marked as deleted, or otherwise indicated as superfluous or spurious in the copy text by an author, scribe, annotator, or corrector.
expanContains the expansion of an abbreviation.
layerAn independent stream of events on a staff.
lemContains the lemma, or base text, of a textual variation.
oLayerA layer that contains an alternative to material in another layer.
origContains material which is marked as following the original, rather than being normalized or corrected.
rdgContains a single reading within a textual variation.
regContains 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.
(MEI.shared) Groups elements that may appear in the declaration of staff features.
staffDefContainer for staff meta-information.
Common Music Notation (CMN) repertoire component declarations.
beamA container for a series of explicitly beamed events that begins and ends entirely within a measure.
graceGrpA container for a sequence of grace notes.
oLayerA layer that contains an alternative to material in another layer.
tupletA group of notes with "irregular" (sometimes called "irrational") rhythmic values, for example, three notes in the time normally occupied by two or nine in the time of five.
Critical apparatus component declarations.
lemContains the lemma, or base text, of a textual variation.
rdgContains a single reading within a textual variation.
Editorial and transcriptional component declarations.
abbrA generic element for 1) a shortened form of a word, including an acronym or 2) a shorthand notation.
addMarks an addition to the text.
corrContains the correct form of an apparent erroneous passage.
damageContains an area of damage to the physical medium.
delContains information deleted, marked as deleted, or otherwise indicated as superfluous or spurious in the copy text by an author, scribe, annotator, or corrector.
expanContains the expansion of an abbreviation.
origContains material which is marked as following the original, rather than being normalized or corrected.
regContains 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.
Mensural repertoire component declarations.
ligatureA mensural notation symbol that combines two or more notes into a single sign.
Component declarations that are shared between two or more modules.
layerAn independent stream of events on a staff.
scoreDefContainer for score meta-information.
staffDefContainer for staff meta-information.
May Contain
(MEI.edittrans) Groups elements used for editorial transcription of pre-existing source materials.
addMarks an addition to the text.
corrContains the correct form of an apparent erroneous passage.
damageContains an area of damage to the physical medium.
delContains information deleted, marked as deleted, or otherwise indicated as superfluous or spurious in the copy text by an author, scribe, annotator, or corrector.
gapIndicates a point where material has been omitted in a transcription, whether as part of sampling practice or for editorial reasons described in the MEI header.
handShiftMarks the beginning of a passage written in a new hand, or of a change in the scribe, writing style, ink or character of the document hand.
origContains material which is marked as following the original, rather than being normalized or corrected.
regContains 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.
(MEI.shared) Groups elements that represent accidentals in a key signature.
keyAccidAccidental in a key signature.
Editorial and transcriptional component declarations.
addMarks an addition to the text.
corrContains the correct form of an apparent erroneous passage.
damageContains an area of damage to the physical medium.
delContains information deleted, marked as deleted, or otherwise indicated as superfluous or spurious in the copy text by an author, scribe, annotator, or corrector.
gapIndicates a point where material has been omitted in a transcription, whether as part of sampling practice or for editorial reasons described in the MEI header.
handShiftMarks the beginning of a passage written in a new hand, or of a change in the scribe, writing style, ink or character of the document hand.
origContains material which is marked as following the original, rather than being normalized or corrected.
regContains 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.
Component declarations that are shared between two or more modules.
keyAccidAccidental in a key signature.
Constraints

If the @oct attribute appears on any keyAccid element, it must be provided on all keyAccid elements.
Only keyAccid elements are allowed here.

Declaration
<elementSpec ident="keySig" module="MEI.shared">
<gloss versionDate="2022-05-18" xml:lang="en">key signature</gloss>
<desc xml:lang="en">Written key signature.</desc>
<classes>
<memberOf key="att.common"/>
<memberOf key="att.facsimile"/>
<memberOf key="att.keySig.anl"/>
<memberOf key="att.keySig.ges"/>
<memberOf key="att.keySig.log"/>
<memberOf key="att.keySig.vis"/>
<memberOf key="model.keySigLike"/>
</classes>
<content>
<rng:zeroOrMore>
<rng:choice>
<rng:ref name="model.keyAccidLike"/>
<rng:ref name="model.transcriptionLike"/>
</rng:choice>
</rng:zeroOrMore>
</content>
<constraintSpec ident="check_keyAccid_oct" scheme="schematron">
<constraint>
<sch:rule context="mei:keySig[mei:keyAccid[@oct]]">
<sch:assert test="count(mei:keyAccid[@oct]) = count(mei:keyAccid)">If the @oct attribute appears on any keyAccid element, it must be provided on all keyAccid elements.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
<constraintSpec ident="check_keySig_editorial" scheme="schematron">
<constraint>
<sch:rule context="mei:keySig/mei:*[local-name() eq 'add' or local-name() eq 'corr' or local-name() eq 'damage' or local-name() eq 'del' or local-name() eq 'orig' or local-name() eq 'reg' or local-name() eq 'restore' or local-name() eq 'sic' or local-name() eq 'supplied' or local-name() eq 'unclear']">
<sch:assert test="count(mei:keyAccid) = count(mei:*)">Only keyAccid elements are allowed here.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
</elementSpec>