MusicXML documentation and specification corrections for print-spacing

Please post this as an issue for updating the MusicXML documentation and specification:

The documentation for print-spacing needs correction or clarification.  The references to it in the XSD are below.

It appears that the default value for print-spacing when used in staff-details should be explicitly specified as “no”, since older versions of Finale would create hidden staves by setting print-object in staff-details to “no”, but it did not include “print-spacing” at all, and Finale did not leave any room for the hidden staff.

It is not clear to me what the default for print-spacing in printout should be, but it should be re-examined based on the above.

In the current XSD, the default value is “yes” for every usage of print-spacing.  It seems that each usage of print-spacing might needs its own default value instead.


Thanks.

Best regards,

Evan Brooks




 <xs:attributeGroup name="print-spacing">
  <xs:annotation>
   <xs:documentation>The print-spacing attribute controls whether or not spacing is left for an invisible note or object. It is used only if no note, dot, or lyric is being printed. The value is yes (leave spacing) by default.</xs:documentation>
  </xs:annotation>
  <xs:attribute name="print-spacing" type="yes-no"/>
 </xs:attributeGroup>

 <xs:attributeGroup name="printout">
  <xs:annotation>
   <xs:documentation>The printout attribute group collects the different controls over printing an object (e.g. a note or rest) and its parts, including augmentation dots and lyrics. This is especially useful for notes that overlap in different voices, or for chord sheets that contain lyrics and chords but no melody.

By default, all these attributes are set to yes. If print-object is set to no, the print-dot and print-lyric attributes are interpreted to also be set to no if they are not present.</xs:documentation>
  </xs:annotation>
  <xs:attributeGroup ref="print-object"/>
  <xs:attribute name="print-dot" type="yes-no"/>
  <xs:attributeGroup ref="print-spacing"/>
  <xs:attribute name="print-lyric" type="yes-no"/>
 </xs:attributeGroup>


 <xs:complexType name="staff-details">
  <xs:annotation>
   <xs:documentation>The staff-details element is used to indicate different types of staves. The optional number attribute specifies the staff number from top to bottom on the system, as with clef. The print-object attribute is used to indicate when a staff is not printed in a part, usually in large scores where empty parts are omitted. It is yes by default. If print-spacing is yes while print-object is no, the score is printed in cutaway format where vertical space is left for the empty part.</xs:documentation>
  </xs:annotation>
  <xs:sequence>
   <xs:element name="staff-type" type="staff-type" minOccurs="0"/>
   <xs:element name="staff-lines" type="xs:nonNegativeInteger" minOccurs="0">
    <xs:annotation>
     <xs:documentation>The staff-lines element specifies the number of lines for a non 5-line staff.</xs:documentation>
    </xs:annotation>
   </xs:element>
   <xs:element name="staff-tuning" type="staff-tuning" minOccurs="0" maxOccurs="unbounded"/>
   <xs:element name="capo" type="xs:nonNegativeInteger" minOccurs="0">
    <xs:annotation>
     <xs:documentation>The capo element indicates at which fret a capo should be placed on a fretted instrument. This changes the open tuning of the strings specified by staff-tuning by the specified number of half-steps.</xs:documentation>
    </xs:annotation>
   </xs:element>
   <xs:element name="staff-size" type="non-negative-decimal" minOccurs="0">
    <xs:annotation>
     <xs:documentation>The staff-size element indicates how large a staff space is on this staff, expressed as a percentage of the work's default scaling. Values less than 100 make the staff space smaller while values over 100 make the staff space larger. A staff-type of cue, ossia, or editorial implies a staff-size of less than 100, but the exact value is implementation-dependent unless specified here. Staff size affects staff height only, not the relationship of the staff to the left and right margins.</xs:documentation>
    </xs:annotation>
   </xs:element>
  </xs:sequence>
  <xs:attribute name="number" type="staff-number"/>
  <xs:attribute name="show-frets" type="show-frets"/>
  <xs:attributeGroup ref="print-object"/>
  <xs:attributeGroup ref="print-spacing"/>
 </xs:complexType>

Received on Wednesday, 23 March 2016 20:02:43 UTC