The <grouping> element

Parent elements: <measure> (partwise), <part> (timewise)

The <grouping> element is used for musical analysis. When the type attribute is start or single, it usually contains one or more elements. Feature elements contained within a stop type of grouping may be ignored.

This element is flexible to allow for different types of analyses. Future versions of the MusicXML format may add elements that can represent more standardized categories of analysis data, allowing for easier data sharing.

https://www.w3.org/2021/06/musicxml40/musicxml-reference/elements/grouping/

Hierarchy

  • Grouping

Implements

Constructors

Properties

attributes: GroupingAttributes
schema: {
    attributes: {
        id: {
            type: "optional";
            value: {
                pattern: RegExp;
                type: "regex";
                zero: "_";
            };
        };
        member-of: {
            type: "optional";
            value: {
                type: "string";
            };
        };
        number: {
            type: "optional";
            value: {
                type: "string";
            };
        };
        type: {
            type: "required";
            value: {
                choices: readonly ["start", "stop", "single"];
                type: "choices";
            };
        };
    };
    contents: readonly [{
        label: "features";
        type: "label";
        value: {
            type: "zeroOrMore";
            value: typeof Feature;
        };
    }];
    name: "grouping";
} = Grouping.schema

Type declaration

  • Readonly attributes: {
        id: {
            type: "optional";
            value: {
                pattern: RegExp;
                type: "regex";
                zero: "_";
            };
        };
        member-of: {
            type: "optional";
            value: {
                type: "string";
            };
        };
        number: {
            type: "optional";
            value: {
                type: "string";
            };
        };
        type: {
            type: "required";
            value: {
                choices: readonly ["start", "stop", "single"];
                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 member-of: {
          type: "optional";
          value: {
              type: "string";
          };
      }
      • Readonly type: "optional"
      • Readonly value: {
            type: "string";
        }
        • Readonly type: "string"
    • Readonly number: {
          type: "optional";
          value: {
              type: "string";
          };
      }
      • Readonly type: "optional"
      • Readonly value: {
            type: "string";
        }
        • Readonly type: "string"
    • Readonly type: {
          type: "required";
          value: {
              choices: readonly ["start", "stop", "single"];
              type: "choices";
          };
      }
      • Readonly type: "required"
      • Readonly value: {
            choices: readonly ["start", "stop", "single"];
            type: "choices";
        }
        • Readonly choices: readonly ["start", "stop", "single"]
        • Readonly type: "choices"
  • Readonly contents: readonly [{
        label: "features";
        type: "label";
        value: {
            type: "zeroOrMore";
            value: typeof Feature;
        };
    }]
  • Readonly name: "grouping"
schema: {
    attributes: {
        id: {
            type: "optional";
            value: {
                pattern: RegExp;
                type: "regex";
                zero: "_";
            };
        };
        member-of: {
            type: "optional";
            value: {
                type: "string";
            };
        };
        number: {
            type: "optional";
            value: {
                type: "string";
            };
        };
        type: {
            type: "required";
            value: {
                choices: readonly ["start", "stop", "single"];
                type: "choices";
            };
        };
    };
    contents: readonly [{
        label: "features";
        type: "label";
        value: {
            type: "zeroOrMore";
            value: typeof Feature;
        };
    }];
    name: "grouping";
} = ...

Type declaration

  • Readonly attributes: {
        id: {
            type: "optional";
            value: {
                pattern: RegExp;
                type: "regex";
                zero: "_";
            };
        };
        member-of: {
            type: "optional";
            value: {
                type: "string";
            };
        };
        number: {
            type: "optional";
            value: {
                type: "string";
            };
        };
        type: {
            type: "required";
            value: {
                choices: readonly ["start", "stop", "single"];
                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 member-of: {
          type: "optional";
          value: {
              type: "string";
          };
      }
      • Readonly type: "optional"
      • Readonly value: {
            type: "string";
        }
        • Readonly type: "string"
    • Readonly number: {
          type: "optional";
          value: {
              type: "string";
          };
      }
      • Readonly type: "optional"
      • Readonly value: {
            type: "string";
        }
        • Readonly type: "string"
    • Readonly type: {
          type: "required";
          value: {
              choices: readonly ["start", "stop", "single"];
              type: "choices";
          };
      }
      • Readonly type: "required"
      • Readonly value: {
            choices: readonly ["start", "stop", "single"];
            type: "choices";
        }
        • Readonly choices: readonly ["start", "stop", "single"]
        • Readonly type: "choices"
  • Readonly contents: readonly [{
        label: "features";
        type: "label";
        value: {
            type: "zeroOrMore";
            value: typeof Feature;
        };
    }]
  • Readonly name: "grouping"

Methods

Generated using TypeDoc