The definition of ST_OnOff type is appears to be an attempt to break the official definition of boolean values as they are specified in the XML specification
According to the specifcation or XML Schema for boolean type as defined at http://www.w3.org/TR/xmlschema-2/ section 3.2.2 the only allowed values for boolean operations is
"An instance of a datatype that is defined as boolean can have the following legal literals {true, false, 1, 0}"
The introduction of the values "on, "off" as defined in the type ST_OnOff, and the widespread adoption of assigned this type to boolean value across the specification would most likely impose additional constrains on application developer, since it means they can’t rely on standard XML behaviour to evaluate ECMA-376 Office Open XML files, because they need to take into account the extended/broken specification of boolean-like data types
This is an example of misguided adoption of XML notation, and should be change across the whole specification.
According to the specifcation or XML Schema for boolean type as defined at http://www.w3.org/TR/xmlschema-2/ section 3.2.2 the only allowed values for boolean operations is
"An instance of a datatype that is defined as boolean can have the following legal literals {true, false, 1, 0}"
The introduction of the values "on, "off" as defined in the type ST_OnOff, and the widespread adoption of assigned this type to boolean value across the specification would most likely impose additional constrains on application developer, since it means they can’t rely on standard XML behaviour to evaluate ECMA-376 Office Open XML files, because they need to take into account the extended/broken specification of boolean-like data types
This is an example of misguided adoption of XML notation, and should be change across the whole specification.
Strongly suggest to use XML boolean values.
Page 1779 Part 4
Section 2.18.67
Te
Proposed Disposition of DIS 29500 Comment DK-0027 (Modified: 2008-01-04) Agreed; in order to be consistent, updates will be made to the standard to specify that all sections use the xsd:boolean datatype consistently and make no additional extensions to that type. Part 4, §2 (WordprocessingML), currently defines the ST_OnOff simple type which is used by a number of attributes. This simple type allows for the same values as xsd:boolean, and additionally allows for the values of “on” and “off”. To be consistent with the rest of the standard, the ST_OnOff simple type will be modified to simply reference the xsd:boolean datatype and provide no additional extensions. The following changes will be made: Part 4, §2.18.67, page 1,779, lines 1620 A value of on , 1 , or true specifies that the property shall be turned on. This is the default value for this attribute, and is implied when the parent element is present, but this attribute is omitted. A value of off , 0 , or false specifies that the property shall be explicitly turned off. This simple type’s contents are a restriction of the XML Schema string boolean datatype. The following are possible enumeration values for this type: Enumeration Value Description 0 (False) Specifies that the binary state of this property is off (parent property is explicitly not applied). 1 (True) Specifies that the binary state of this property is on (parent property is explicitly applied). false (False) Specifies that the binary state of this property is off (parent property is explicitly not applied). off (False) Specifies that the binary state of this property is off (parent property is explicitly not applied). on (True) Specifies that the binary state of this property is on (parent property is explicitly applied). true (True) Specifies that the binary state of this property is on (parent property is explicitvly applied). Part 4, §2.18.67, page 1,782, lines 310 The following XML Schema fragment defines the contents of this simple type: <simpleType name="ST_OnOff"> <restriction base="xsd: string boolean " / > <enumeration value="true"/> <enumeration value="false"/> <enumeration value="on"/> <enumeration value="off"/> <enumeration value="0"/> <enumeration value="1"/> </restriction> </simpleType> In Part 4, §3 (SpreadsheetML), the xsd:boolean datatype is already used, without extension. There are however errors within the descriptions of attributes that reference the xsd:boolean datatype. Often the description states that the values “on” and “off” are allowed. All such occurrences in §3 will be corrected to only state that values “0″, “1″, “true”, and “false” are allowed. Part 4, §5 (DrawingML), the xsd:boolean datatype is already used, without extension. There are however errors within the descriptions of attributes that reference the xsd:boolean datatype. Often the description states that the values “on” and “off” are allowed. All such occurrences in §5 will be corrected to only state that values “0″, “1″, “true”, and “false” are allowed. Part 4, §7.1 (Math), currently defines the ST_OnOff simple type which is used by a number of attributes. This simple type only allows for “on” and “off”. To be consistent with the rest of the standard, the ST_OnOff simple type will be modified to simply reference the xsd:boolean datatype and provide no additional extensions. The following changes will be made: Part 4, §7.1.3.9, page 5,097, lines 811 7.1.3.9 ST_OnOff (On Off) A value of 1 or true specifies that the property shall be turned on. This is the default value for this attribute, and is implied when the parent element is present, but this attribute is omitted. A value of 0 or false specifies that the property shall be explicitly turned off. The boolean value of either on or off . This simple type’s contents are a restriction of the XML Schema string boolean datatype. The following are possible enumeration values for this type: Enumeration Value Description off (Off) Off on (On) On Part 4, §7.1.3.9, page 5,097, lines 1319 The following XML Schema fragment defines the contents of this simple type: <simpleType name="ST_OnOff"> <restriction base="xsd: boolean string " / > <enumeration value="on"/> <enumeration value="off"/> </restriction> </simpleType> Finally, any examples which use the values on or off will be changed to use the values 0 and 1 . Similar Comments: CA-0013 , DK-0029 , FR-0385 , FR-0386 , FR-0400 , GB-0317 , GB-0475 , GB-0623 , GB-0630 , US-0237
