Readonly schema schema : { attributes : { color : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "#000000" ; } ; } ; default-x : { label : "default-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; default-y : { label : "default-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; font-family : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : " " ; } ; } ; font-size : { type : "optional" ; value : { choices : readonly [ { choices : readonly [ "xx-small" , "x-small" , "small" , "medium" , "large" , "x-large" , "xx-large" ] ; type : "choices" ; } , { max : number ; min : number ; type : "float" ; } ] ; type : "choices" ; } ; } ; font-style : { type : "optional" ; value : { choices : readonly [ "normal" , "italic" ] ; type : "choices" ; } ; } ; font-weight : { type : "optional" ; value : { choices : readonly [ "normal" , "bold" ] ; type : "choices" ; } ; } ; halign : { type : "optional" ; value : { choices : readonly [ "left" , "center" , "right" ] ; type : "choices" ; } ; } ; id : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "_" ; } ; } ; relative-x : { label : "relative-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; relative-y : { label : "relative-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; symbol : { type : "required" ; value : { choices : readonly [ "none" , "Hauptstimme" , "Nebenstimme" , "plain" ] ; type : "choices" ; } ; } ; type : { type : "required" ; value : { choices : readonly [ "start" , "stop" ] ; type : "choices" ; } ; } ; valign : { type : "optional" ; value : { choices : readonly [ "top" , "middle" , "bottom" , "baseline" ] ; type : "choices" ; } ; } ; } ; contents : readonly [ { type : "required" ; value : { type : "string" ; } ; } ] ; name : "principal-voice" ; } = PrincipalVoice.schema
Type declaration Readonly attributes : { color : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "#000000" ; } ; } ; default-x : { label : "default-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; default-y : { label : "default-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; font-family : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : " " ; } ; } ; font-size : { type : "optional" ; value : { choices : readonly [ { choices : readonly [ "xx-small" , "x-small" , "small" , "medium" , "large" , "x-large" , "xx-large" ] ; type : "choices" ; } , { max : number ; min : number ; type : "float" ; } ] ; type : "choices" ; } ; } ; font-style : { type : "optional" ; value : { choices : readonly [ "normal" , "italic" ] ; type : "choices" ; } ; } ; font-weight : { type : "optional" ; value : { choices : readonly [ "normal" , "bold" ] ; type : "choices" ; } ; } ; halign : { type : "optional" ; value : { choices : readonly [ "left" , "center" , "right" ] ; type : "choices" ; } ; } ; id : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "_" ; } ; } ; relative-x : { label : "relative-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; relative-y : { label : "relative-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; symbol : { type : "required" ; value : { choices : readonly [ "none" , "Hauptstimme" , "Nebenstimme" , "plain" ] ; type : "choices" ; } ; } ; type : { type : "required" ; value : { choices : readonly [ "start" , "stop" ] ; type : "choices" ; } ; } ; valign : { type : "optional" ; value : { choices : readonly [ "top" , "middle" , "bottom" , "baseline" ] ; type : "choices" ; } ; } ; } Readonly color : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "#000000" ; } ; } Readonly type : "optional" Readonly value : { pattern : RegExp ; type : "regex" ; zero : "#000000" ; } Readonly pattern : RegExp Readonly type : "regex" Readonly zero : "#000000" Readonly default- x : { label : "default-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } Readonly label : "default-x" Readonly type : "label" Readonly value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } Readonly type : "optional" Readonly value : { max : number ; min : number ; type : "float" ; } Readonly max : number Readonly min : number Readonly type : "float" Readonly default- y : { label : "default-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } Readonly label : "default-y" Readonly type : "label" Readonly value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } Readonly type : "optional" Readonly value : { max : number ; min : number ; type : "float" ; } Readonly max : number Readonly min : number Readonly type : "float" Readonly font- family : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : " " ; } ; } Readonly type : "optional" Readonly value : { pattern : RegExp ; type : "regex" ; zero : " " ; } Readonly pattern : RegExp Readonly type : "regex" Readonly zero : " " Readonly font- size : { type : "optional" ; value : { choices : readonly [ { choices : readonly [ "xx-small" , "x-small" , "small" , "medium" , "large" , "x-large" , "xx-large" ] ; type : "choices" ; } , { max : number ; min : number ; type : "float" ; } ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ { choices : readonly [ "xx-small" , "x-small" , "small" , "medium" , "large" , "x-large" , "xx-large" ] ; type : "choices" ; } , { max : number ; min : number ; type : "float" ; } ] ; type : "choices" ; } Readonly choices : readonly [ { choices : readonly [ "xx-small" , "x-small" , "small" , "medium" , "large" , "x-large" , "xx-large" ] ; type : "choices" ; } , { max : number ; min : number ; type : "float" ; } ] Readonly type : "choices" Readonly font- style : { type : "optional" ; value : { choices : readonly [ "normal" , "italic" ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ "normal" , "italic" ] ; type : "choices" ; } Readonly choices : readonly [ "normal" , "italic" ] Readonly type : "choices" Readonly font- weight : { type : "optional" ; value : { choices : readonly [ "normal" , "bold" ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ "normal" , "bold" ] ; type : "choices" ; } Readonly choices : readonly [ "normal" , "bold" ] Readonly type : "choices" Readonly halign : { type : "optional" ; value : { choices : readonly [ "left" , "center" , "right" ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ "left" , "center" , "right" ] ; type : "choices" ; } Readonly choices : readonly [ "left" , "center" , "right" ] Readonly type : "choices" Readonly id : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "_" ; } ; } Readonly type : "optional" Readonly value : { pattern : RegExp ; type : "regex" ; zero : "_" ; } Readonly pattern : RegExp Readonly type : "regex" Readonly zero : "_" Readonly relative- x : { label : "relative-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } Readonly label : "relative-x" Readonly type : "label" Readonly value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } Readonly type : "optional" Readonly value : { max : number ; min : number ; type : "float" ; } Readonly max : number Readonly min : number Readonly type : "float" Readonly relative- y : { label : "relative-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } Readonly label : "relative-y" Readonly type : "label" Readonly value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } Readonly type : "optional" Readonly value : { max : number ; min : number ; type : "float" ; } Readonly max : number Readonly min : number Readonly type : "float" Readonly symbol : { type : "required" ; value : { choices : readonly [ "none" , "Hauptstimme" , "Nebenstimme" , "plain" ] ; type : "choices" ; } ; } Readonly type : "required" Readonly value : { choices : readonly [ "none" , "Hauptstimme" , "Nebenstimme" , "plain" ] ; type : "choices" ; } Readonly choices : readonly [ "none" , "Hauptstimme" , "Nebenstimme" , "plain" ] Readonly type : "choices" Readonly type : { type : "required" ; value : { choices : readonly [ "start" , "stop" ] ; type : "choices" ; } ; } Readonly type : "required" Readonly value : { choices : readonly [ "start" , "stop" ] ; type : "choices" ; } Readonly choices : readonly [ "start" , "stop" ] Readonly type : "choices" Readonly valign : { type : "optional" ; value : { choices : readonly [ "top" , "middle" , "bottom" , "baseline" ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ "top" , "middle" , "bottom" , "baseline" ] ; type : "choices" ; } Readonly choices : readonly [ "top" , "middle" , "bottom" , "baseline" ] Readonly type : "choices" Readonly contents : readonly [ { type : "required" ; value : { type : "string" ; } ; } ] Readonly name : "principal-voice" Static Readonly schema schema : { attributes : { color : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "#000000" ; } ; } ; default-x : { label : "default-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; default-y : { label : "default-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; font-family : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : " " ; } ; } ; font-size : { type : "optional" ; value : { choices : readonly [ { choices : readonly [ "xx-small" , "x-small" , "small" , "medium" , "large" , "x-large" , "xx-large" ] ; type : "choices" ; } , { max : number ; min : number ; type : "float" ; } ] ; type : "choices" ; } ; } ; font-style : { type : "optional" ; value : { choices : readonly [ "normal" , "italic" ] ; type : "choices" ; } ; } ; font-weight : { type : "optional" ; value : { choices : readonly [ "normal" , "bold" ] ; type : "choices" ; } ; } ; halign : { type : "optional" ; value : { choices : readonly [ "left" , "center" , "right" ] ; type : "choices" ; } ; } ; id : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "_" ; } ; } ; relative-x : { label : "relative-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; relative-y : { label : "relative-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; symbol : { type : "required" ; value : { choices : readonly [ "none" , "Hauptstimme" , "Nebenstimme" , "plain" ] ; type : "choices" ; } ; } ; type : { type : "required" ; value : { choices : readonly [ "start" , "stop" ] ; type : "choices" ; } ; } ; valign : { type : "optional" ; value : { choices : readonly [ "top" , "middle" , "bottom" , "baseline" ] ; type : "choices" ; } ; } ; } ; contents : readonly [ { type : "required" ; value : { type : "string" ; } ; } ] ; name : "principal-voice" ; } = ...
Type declaration Readonly attributes : { color : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "#000000" ; } ; } ; default-x : { label : "default-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; default-y : { label : "default-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; font-family : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : " " ; } ; } ; font-size : { type : "optional" ; value : { choices : readonly [ { choices : readonly [ "xx-small" , "x-small" , "small" , "medium" , "large" , "x-large" , "xx-large" ] ; type : "choices" ; } , { max : number ; min : number ; type : "float" ; } ] ; type : "choices" ; } ; } ; font-style : { type : "optional" ; value : { choices : readonly [ "normal" , "italic" ] ; type : "choices" ; } ; } ; font-weight : { type : "optional" ; value : { choices : readonly [ "normal" , "bold" ] ; type : "choices" ; } ; } ; halign : { type : "optional" ; value : { choices : readonly [ "left" , "center" , "right" ] ; type : "choices" ; } ; } ; id : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "_" ; } ; } ; relative-x : { label : "relative-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; relative-y : { label : "relative-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; symbol : { type : "required" ; value : { choices : readonly [ "none" , "Hauptstimme" , "Nebenstimme" , "plain" ] ; type : "choices" ; } ; } ; type : { type : "required" ; value : { choices : readonly [ "start" , "stop" ] ; type : "choices" ; } ; } ; valign : { type : "optional" ; value : { choices : readonly [ "top" , "middle" , "bottom" , "baseline" ] ; type : "choices" ; } ; } ; } Readonly color : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "#000000" ; } ; } Readonly type : "optional" Readonly value : { pattern : RegExp ; type : "regex" ; zero : "#000000" ; } Readonly pattern : RegExp Readonly type : "regex" Readonly zero : "#000000" Readonly default- x : { label : "default-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } Readonly label : "default-x" Readonly type : "label" Readonly value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } Readonly type : "optional" Readonly value : { max : number ; min : number ; type : "float" ; } Readonly max : number Readonly min : number Readonly type : "float" Readonly default- y : { label : "default-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } Readonly label : "default-y" Readonly type : "label" Readonly value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } Readonly type : "optional" Readonly value : { max : number ; min : number ; type : "float" ; } Readonly max : number Readonly min : number Readonly type : "float" Readonly font- family : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : " " ; } ; } Readonly type : "optional" Readonly value : { pattern : RegExp ; type : "regex" ; zero : " " ; } Readonly pattern : RegExp Readonly type : "regex" Readonly zero : " " Readonly font- size : { type : "optional" ; value : { choices : readonly [ { choices : readonly [ "xx-small" , "x-small" , "small" , "medium" , "large" , "x-large" , "xx-large" ] ; type : "choices" ; } , { max : number ; min : number ; type : "float" ; } ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ { choices : readonly [ "xx-small" , "x-small" , "small" , "medium" , "large" , "x-large" , "xx-large" ] ; type : "choices" ; } , { max : number ; min : number ; type : "float" ; } ] ; type : "choices" ; } Readonly choices : readonly [ { choices : readonly [ "xx-small" , "x-small" , "small" , "medium" , "large" , "x-large" , "xx-large" ] ; type : "choices" ; } , { max : number ; min : number ; type : "float" ; } ] Readonly type : "choices" Readonly font- style : { type : "optional" ; value : { choices : readonly [ "normal" , "italic" ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ "normal" , "italic" ] ; type : "choices" ; } Readonly choices : readonly [ "normal" , "italic" ] Readonly type : "choices" Readonly font- weight : { type : "optional" ; value : { choices : readonly [ "normal" , "bold" ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ "normal" , "bold" ] ; type : "choices" ; } Readonly choices : readonly [ "normal" , "bold" ] Readonly type : "choices" Readonly halign : { type : "optional" ; value : { choices : readonly [ "left" , "center" , "right" ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ "left" , "center" , "right" ] ; type : "choices" ; } Readonly choices : readonly [ "left" , "center" , "right" ] Readonly type : "choices" Readonly id : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "_" ; } ; } Readonly type : "optional" Readonly value : { pattern : RegExp ; type : "regex" ; zero : "_" ; } Readonly pattern : RegExp Readonly type : "regex" Readonly zero : "_" Readonly relative- x : { label : "relative-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } Readonly label : "relative-x" Readonly type : "label" Readonly value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } Readonly type : "optional" Readonly value : { max : number ; min : number ; type : "float" ; } Readonly max : number Readonly min : number Readonly type : "float" Readonly relative- y : { label : "relative-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } Readonly label : "relative-y" Readonly type : "label" Readonly value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } Readonly type : "optional" Readonly value : { max : number ; min : number ; type : "float" ; } Readonly max : number Readonly min : number Readonly type : "float" Readonly symbol : { type : "required" ; value : { choices : readonly [ "none" , "Hauptstimme" , "Nebenstimme" , "plain" ] ; type : "choices" ; } ; } Readonly type : "required" Readonly value : { choices : readonly [ "none" , "Hauptstimme" , "Nebenstimme" , "plain" ] ; type : "choices" ; } Readonly choices : readonly [ "none" , "Hauptstimme" , "Nebenstimme" , "plain" ] Readonly type : "choices" Readonly type : { type : "required" ; value : { choices : readonly [ "start" , "stop" ] ; type : "choices" ; } ; } Readonly type : "required" Readonly value : { choices : readonly [ "start" , "stop" ] ; type : "choices" ; } Readonly choices : readonly [ "start" , "stop" ] Readonly type : "choices" Readonly valign : { type : "optional" ; value : { choices : readonly [ "top" , "middle" , "bottom" , "baseline" ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ "top" , "middle" , "bottom" , "baseline" ] ; type : "choices" ; } Readonly choices : readonly [ "top" , "middle" , "bottom" , "baseline" ] Readonly type : "choices" Readonly contents : readonly [ { type : "required" ; value : { type : "string" ; } ; } ] Readonly name : "principal-voice"
The
<principal-voice>elementParent element:
<direction-type>The
<principal-voice>element represents principal and secondary voices in a score, either for analysis or for square bracket symbols that appear in a score. The content of the<principal-voice>element is used for analysis and may be any text value.https://www.w3.org/2021/06/musicxml40/musicxml-reference/elements/principal-voice/