The function element is used to represent classical functional harmony with an indication like I, II, III rather than C, D, E. It is relative to the key that is specified in the MusicXML encoding.
<xs:element name="function" type="style-text"><xs:annotation><xs:documentation>The function element is used to represent classical functional harmony with an indication like I, II, III rather than C, D, E. It is relative to the key that is specified in the MusicXML encoding.</xs:documentation></xs:annotation></xs:element>
<xs:group name="harmony-chord"><xs:annotation><xs:documentation>A harmony element can contain many stacked chords (e.g. V of II). A sequence of harmony-chord entities is used for this type of secondary function, where V of II would be represented by a harmony-chord with a V function followed by a harmony-chord with a II function. A root is a pitch name like C, D, E, where a function is an indication like I, II, III. It is an either/or choice to avoid data inconsistency.</xs:documentation></xs:annotation><xs:sequence><xs:choice><xs:element name="root" type="root"/><xs:element name="function" type="style-text"><xs:annotation><xs:documentation>The function element is used to represent classical functional harmony with an indication like I, II, III rather than C, D, E. It is relative to the key that is specified in the MusicXML encoding.</xs:documentation></xs:annotation></xs:element></xs:choice><xs:element name="kind" type="kind"/><xs:element name="inversion" type="inversion" minOccurs="0"/><xs:element name="bass" type="bass" minOccurs="0"/><xs:element name="degree" type="degree" minOccurs="0" maxOccurs="unbounded"/></xs:sequence></xs:group>