<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=iso-8859-1"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle19
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1123770422;
        mso-list-template-ids:1754174266;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:72.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:108.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:144.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:180.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:216.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:252.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:288.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:324.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1
        {mso-list-id:1622295834;
        mso-list-type:hybrid;
        mso-list-template-ids:1845367170 -1826715552 134807555 134807557 134807553 134807555 134807557 134807553 134807555 134807557;}
@list l1:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:-;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-font-family:Calibri;}
@list l1:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l1:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
@list l1:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l1:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l1:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
@list l1:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l1:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l1:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-GB link="#0563C1" vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Dear all<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I have finally started making progress on attempting to find a resolution to this DR. My thanks to Rich McLain and Aarti Nankani for guiding me to the right place in the Standards Support section of the MSDN Library.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The following document is relevant to resolution of this DR:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><ul style='margin-top:0cm' type=disc><li class=MsoNormal style='margin-left:0cm;mso-list:l1 level1 lfo3'>MS-OE376: Office Implementation Information for ECMA-376 Standards Support<o:p></o:p></li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The following document is presumed not to be relevant, as it is only concerned with extension elements that are specific to Office and therefore not documented in the standard:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><ul style='margin-top:0cm' type=disc><li class=MsoNormal style='margin-left:0cm;mso-list:l1 level1 lfo3'>MS-XLSX: Excel (.xlsx) Extensions to the Office Open XML SpreadsheetML File Format<o:p></o:p></li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Note that MS-OE376 refers to the ECMA-376 version of the standard, so the numbering of clause references in it differs from that in 29500-1. In what follows I have used 29500-1 clause reference numbering throughout.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>MS-OE376 specifies requirements/constraints on attribute values in a number of additional cases. For example, where Excel requires use of an attribute that the standard specifies to be optional, I think that would be worth reviewing. Some of these are, no doubt, specific to the Office implementation, but ideally these should be checked to see which should apply to all implementations. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Here is a list of element-attribute combinations <b>not included in the DR</b> for which MS-OE376 states that Excel requires the attribute but it is specified to be optional in the standard:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><ul style='margin-top:0cm' type=disc><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.2.14 functionGroup (@name) (complex type:  CT_FunctionGroup)<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.2.22 smartTagType (@namespaceUri) (complex type: CT_SmartTagType) – @name is covered by the DR<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.3.1.69 pivotSelection (@r:id) (complex type: CT_PivotSelection)<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.3.2.1 colorFilter (@dxfId) (complex type: CT_ColorFilter)<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.5.2.3 xmlCellPr (@uniqueName) (complex type: CT_XmlCellPr)<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.10.1.6 cacheHierarchy (@caption) (complex type: CT_CacheHierarchy)<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.10.1.47 kpi (@caption) (complex type: CT_PCDKPI)<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.11.1.3 nc (@r) (complex type: CT_Cell)<o:p></o:p></li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The note in MC-OE376 regarding @r on §18.11.1.3 nc (New Cell Data) has caused me to look at what MC-OE376 has to say about @r on §18.3.1.3 c (Cell):<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'><i>c. The standard makes @r optional in the schema, but the prose does not explain the meaning of the default behavior.<o:p></o:p></i></p><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'>If this attribute is not specified, the cell shall be located in the column with the index that is 1 greater than that of the previous cell in the parent <b>row</b> collection. If this attribute is not specified and the cell is the first <b>c</b> element in the parent <b>row</b> collection, the cell shall be located in the first column.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Do we need to document this default behaviour in the standard? See discussion below regarding omission of the attribute @r on §18.3.1.73 row.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Here is a list of element-attribute combinations <b>not included in the DR</b> for which MS-OE376 states that Excel uses a default value not specified by the standard:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><ul style='margin-top:0cm' type=disc><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.2.2 calcPr (@calcId) (complex type: CT_CalcPr) – default value <b><span style='font-family:Consolas'>0</span></b><o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.2.28 workbookPr (@defaultThemeVersion) (complex type: CT_WorkbookPr) – default value <b><span style='font-family:Consolas'>0</span></b><o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.3.1.10 cfRule (@rank) (complex type: CT_CfRule) – default value <b><span style='font-family:Consolas'>0</span></b><o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.3.1.33 dataValidations (@count, @xWindow, @yWindow) (complex type: CT_DataValidations) – in each case default value <b><span style='font-family:Consolas'>0</span></b><o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.3.1.52 inputCells (@numFmtId) (complex type: CT_InputCells) – default value <b><span style='font-family:Consolas'>0</span></b><o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.3.1.68 pivotArea (@field) (complex type: CT_PivotArea) – default value <b><span style='font-family:Consolas'>–1</span></b><o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.3.1.78 selection (@activeCell) (complex type: CT_Selection) – default value <b><span style='font-family:Consolas'>A1</span></b><o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.3.1.93 tabColor (@auto) (complex type: CT_TabColor) – default value <b><span style='font-family:Consolas'>false</span></b><o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.3.2.4 dateGroupItem (@day, @month) (complex type: CT_DateGroupItem) – default value <b><span style='font-family:Consolas'>1</span></b> [Note: @year is required]<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.3.2.4 dateGroupItem (@hour, @minute, @second) (complex type: CT_DateGroupItem) – default value <b><span style='font-family:Consolas'>0</span></b><o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.5.1.2 table (@connectionId) (complex type: CT_Table) – default value <b><span style='font-family:Consolas'>0</span></b><br>[Nit note: The description of this attribute contains poorly-worded normative text: “This shall only be used for tables that are based <s><span style='color:red'>off of xml</span></s><u><span style='color:#0070C0'>upon XML</span></u> maps.”]<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.8.1 alignment (@horizontal, @vertical) (complex type: CT_CellAlignment) – default values of <b><span style='font-family:Consolas'>general</span></b> and <b><span style='font-family:Consolas'>bottom</span></b> respectively<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.8.1 alignment (@indent, @relativeIndent, @textRotation) (complex type: CT_CellAlignment) – in each case default value <b><span style='font-family:Consolas'>0</span></b><o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.8.1 alignment @justifyLastLine, @readingOrder, @shrinkToFit, (@wrapText) (complex type: CT_CellAlignment) – in each case default value <b><span style='font-family:Consolas'>false</span></b><o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.8.4 border (@diagonalDown, @diagonalUp) (complex type: CT_Border) – in each case default value <b><span style='font-family:Consolas'>false</span></b><o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.8.33 protection (@hidden @locked) (complex type: CT_CellProtection) – default values of <b><span style='font-family:Consolas'>false</span></b> and <b><span style='font-family:Consolas'>true</span></b> respectively<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.10.1.33 filter (@iMeasureFld) (complex type: CT_PivotFilter) – default value <b><span style='font-family:Consolas'>0</span></b><o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.10.1.57 mp (@pPos, @pLen, @nameLen) (complex type: CT_MemberProperty) – in each case default value <b><span style='font-family:Consolas'>0</span></b><o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.10.1.69 pivotField (@dataSourceSort, @numFmtId) (complex type: CT_PivotField) – default values of <b><span style='font-family:Consolas'>false</span></b> and <b><span style='font-family:Consolas'>true</span></b> respectively<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.10.1.73 pivotTableDefinition (@applyAlignmentFormats, @applyBorderFormats, @applyFontFormats, @applyNumberFormats, @applyPatternFormats, @applyWidthHeightFormats, @dataPosition) (complex type: CT_pivotTableDefinition) – in each case default value <b><span style='font-family:Consolas'>0</span></b><br>[Nit note: inconsistency in name of complex type – should ideally be CT_PivotTableDefinition – probably not worth correcting, unfortunately…]<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.10.1.74 pivotTableStyleInfo (@showColHeaders, @showColStripes, @showRowHeaders, @showRowStripes) (CT_PivotTableStyle) – in each case default value <b><span style='font-family:Consolas'>0</span></b><o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.10.1.88 set (@count) () (complex type: CT_Set) – default value <b><span style='font-family:Consolas'>4294967295</span></b><o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.11.1.1 header (@maxRId, @minRId) (complex type: CT_RevisionHeader) – Excel uses a default value <b><span style='font-family:Consolas'>0</span></b> for @minRId, and a default value equal to the current value of @minRId for @maxRId<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.11.1.9 rcc (@numFmtId) (complex type: CT_RevisionCellChange) – default value <b><span style='font-family:Consolas'>0</span></b><o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>§18.16.1 DataBinding (@FileBinding) (complex type: CT_DataBinding) – default value <b><span style='font-family:Consolas'>false</span></b><o:p></o:p></li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>More work for a further DR here, I think…<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Resolutions are indicated below for each of the first ten elements listed in the DR. For convenience, I have list the elements that remain to be considered at the end.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Francis<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><b>§18.2.2 calcPr (@forceFullCalc) (complex type: CT_CalcPr)<o:p></o:p></b></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>MS-OE376, subsection 2.1.598 (page 248) includes the following note:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'><i>e. The standard does not specify a default value for the forceFullCalc attribute.<o:p></o:p></i></p><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'>Excel uses a default value of <span style='font-family:Consolas'>false</span> for this attribute.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>There doesn’t appear to be any mechanism in the Excel 2016 user interface for specifying a value for this attribute. By default, Excel 2016 doesn’t save an explicit value for this attribute, and nor does LibreOffice Calc.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><i>Proposed resolution:</i> Add default value <span style='font-family:Consolas'>false</span> to schema and prose, having first checked that the other major implementation, LibreOffice Calc, either uses the same default value or ignores this feature.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><b>§18.2.7 ext (@uri) (complex type: CT_Extension)<o:p></o:p></b></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>There is no note on this attribute in MS-OE376. The attribute is clearly optional, and its omission simply implies that there is no version or application information available for this extension, or it is implied by the content of the <ext> element.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><i>Proposed resolution:</i> For clarity, add <span style='font-family:Consolas'>use=”optional”</span> to the schema, and change the description of the attribute @uri in prose to read: “If present, a token to identify version and application information for this particular extension”. However, it may be simpler to take no action.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><b>§18.2.22 smartTagType (@name) (complex type: CT_SmartTagType)<o:p></o:p></b></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>MS-OE376, subsection 2.1.614 (page 257) includes the following note:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'><i>d. The standard states that the name attribute is optional.<o:p></o:p></i></p><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'>Excel requires this attribute.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>So far as I can judge, this is a feature that is supported fully (i.e. susceptible to user control) only by Excel 2007. However, given its intended use in Excel 2007, it doesn’t make sense for a smart tag not to have a name, so I believe that the schema is at fault and this attribute should be required.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><i>Proposed resolution:</i> Change the schema to make this attribute required. No change to prose.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><b>§18.3.1.2 autoFilter (@ref) (complex type: CT_AutoFilter)<o:p></o:p></b></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>There is no note on this attribute in MS-OE376. The attribute is clearly required, since data filtering is always applied to a specified range of cells. The absence of @use on the attribute declaration in the schema is possibly caused by a misunderstanding of the default value of @use on attribute declarations in XSD (see W3C XML Schema Part 1, section 3.2.2).<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><i>Proposed resolution:</i> Add <span style='font-family:Consolas'>use=”required”</span> to the schema. No change to prose.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><b>§18.3.1.10 cfRule (@type) (complex type: CT_CfRule)<o:p></o:p></b></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>MS-OE376, subsection 2.1.628 (page 267) includes the following note:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'><i>a. The standard implies that the type attribute is optional.<o:p></o:p></i></p><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'>Excel requires this attribute.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I don’t believe that use of this element makes sense without @type being specified, since it specifies the type of rule to be used to determine whether a conditional formatting rule should be applied to a cell or not. Without specifying the rule type, the condition cannot be determined.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><i>Proposed resolution:</i> Add <span style='font-family:Consolas'>use=”required”</span> to the schema. No change to prose.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><b>§18.3.1.73 row (@r) (complex type: CT_Row)<o:p></o:p></b></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>There is a note on this attribute in MS-OE376 (limiting the value range), but no mention of the attribute being optional in the standard or how to interpret its omission. Given what MS-OE376 says about how to interpret the omission of @r on §18.3.1.3 c (Cell), I have tested Excel’s ability to open a spreadsheet with @r omitted on rows. Excel will successfully open the spreadsheet in certain limited circumstances, e.g. the following opens without error and omission of @r on the second <row> element is taken to imply a value ‘2’:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='font-family:Consolas'>    <sheetData><o:p></o:p></span></p><p class=MsoNormal><span style='font-family:Consolas'>        <row r="1"><o:p></o:p></span></p><p class=MsoNormal><span style='font-family:Consolas'>            <c r="A1"><o:p></o:p></span></p><p class=MsoNormal><span style='font-family:Consolas'>                <v>1</v><o:p></o:p></span></p><p class=MsoNormal><span style='font-family:Consolas'>            </c><o:p></o:p></span></p><p class=MsoNormal><span style='font-family:Consolas'>        </row><o:p></o:p></span></p><p class=MsoNormal><span style='font-family:Consolas'>        <row><o:p></o:p></span></p><p class=MsoNormal><span style='font-family:Consolas'>            <c r="A2"><o:p></o:p></span></p><p class=MsoNormal><span style='font-family:Consolas'>                <v>2</v><o:p></o:p></span></p><p class=MsoNormal><span style='font-family:Consolas'>            </c><o:p></o:p></span></p><p class=MsoNormal><span style='font-family:Consolas'>        </row><o:p></o:p></span></p><p class=MsoNormal><span style='font-family:Consolas'>        <row r="5"><o:p></o:p></span></p><p class=MsoNormal><span style='font-family:Consolas'>            <c r="A5"><o:p></o:p></span></p><p class=MsoNormal><span style='font-family:Consolas'>                <f>A1+A2</f><o:p></o:p></span></p><p class=MsoNormal><span style='font-family:Consolas'>                <v>3</v><o:p></o:p></span></p><p class=MsoNormal><span style='font-family:Consolas'>            </c><o:p></o:p></span></p><p class=MsoNormal><span style='font-family:Consolas'>        </row><o:p></o:p></span></p><p class=MsoNormal><span style='font-family:Consolas'>    </sheetData><o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>However, the values of @r on the <row> and <c> elements have to be consistent, and if the @r value on the cell in the second row is changed from ‘A2’ to ‘A3’, Excel reports an error, because the value of @r on the second <row> element is implied to be ‘2’.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><i>Proposed resolution:</i> Add the following to the description of @r in prose: <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'>If this attribute is not specified, the row index shall be 1 greater than that of the previous row in the parent element. If this attribute is not specified and the row is the first in the parent element, the row index shall be ‘1’.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>We should also consider making a similar change to the description of @r on §18.3.1.3 c (Cell) (see above).<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><b>§18.3.2.1 customFilter (@val) (complex type: CT_CustomFilter)<o:p></o:p></b></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>There is no note on this attribute in MS-OE376. The attribute @operator on the same element clearly only makes sense if @val is specified, and @operator has a default value <span style='font-family:Consolas'>equal</span>. The absence of @use on the attribute declaration in the schema is possibly caused by a misunderstanding of the default value of @use on attribute declarations in XSD (see W3C XML Schema Part 1, section 3.2.2).<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><i>Proposed resolution:</i> Add <span style='font-family:Consolas'>use=”required”</span> to the schema. No change to prose.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><b>§18.3.2.6 filter (@val) (complex type: CT_Filter)<o:p></o:p></b></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>MS-OE376, subsection 2.1.694 (page 301) includes the following note:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'><i>a. The standard implies that the val attribute is optional.<o:p></o:p></i></p><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'>Excel requires this attribute.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>This element makes no sense if @val is omitted, since its purpose is to specify a filter criteria value. The absence of @use on the attribute declaration in the schema is possibly caused by a misunderstanding of the default value of @use on attribute declarations in XSD (see W3C XML Schema Part 1, section 3.2.2).<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><i>Proposed resolution:</i> Add <span style='font-family:Consolas'>use=”required”</span> to the schema. No change to prose.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><b>§18.3.2.10 top10 (@filterVal) (complex type: CT_Top10)<o:p></o:p></b></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>MS-OE376, subsection 2.1.698 (page 302) includes the following note:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'><i>b. The standard does not specify a default value for the filterVal attribute.<o:p></o:p></i></p><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'>Excel uses a default value of 0 for this attribute.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Tests in Excel suggest that @filterVal simply preserves the lowest (if filtering top values) or highest (if filtering bottom values) value to be shown when opening the document. As such, its value is implied by the value of @val, @percent (if present) and the range of values being filtered. If @filterVal is omitted, Excel will simply re-calculate it when opening the document and store it when saving the document. If an incorrect value is inserted, Excel ignores <i>but preserves</i> the incorrect value until the filter is re-specified. I therefore don’t understand what is meant by the note in MS-OE376 saying that Excel uses a default value of 0 for this attribute.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I note in passing that the example given in the standard (pages 1716-1717) is incorrect, because <span style='font-family:Consolas'><top percent=”1” val=”5” filterVal=”6”></span> implies the top <i>5</i> percent, not the top 10 percent as suggested in the prose.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><i>Proposed resolution:</i> No change to the schema or normative prose, but I propose that the example be re-worded as follows:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'>[<i>Example</i>: This example filters the first column by the top <s><span style='color:red'>10</span></s><u><span style='color:#0070C0'>5</span></u> percent of the values in that column. For all cells in the column whose value falls outside the top <s><span style='color:red'>10</span></s><u><span style='color:#0070C0'>5</span></u> percent of the value in that column, the rows corresponding to those cells are hidden from the view. In this example, <u><span style='color:#0070C0'>if </span></u>there are 6 cells in the range, containing 1, 2, 3, 4, 5, 6 respectively<u><span style='color:#0070C0'>, all rows except the row containing 6 will be hidden</span></u>.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><b>§18.5.1.5 tableStyleInfo (@showColumnStripes, @showFirstColumn, @showLastColumn, @showRowStripes) (complex type: CT_TableStyleInfo)<o:p></o:p></b></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>MS-OE376, subsection 2.1.710 (page 306) includes the following notes:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'><i>b. The standard does not specify a default value for the showColumnStripes attribute.<o:p></o:p></i></p><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'>Excel uses a default value of false for this attribute.<o:p></o:p></p><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'><i>c. The standard does not specify a default value for the showFirstColumn attribute.<o:p></o:p></i></p><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'>Excel uses a default value of false for this attribute.<o:p></o:p></p><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'><i>d. The standard does not specify a default value for the showLastColumn attribute.<o:p></o:p></i></p><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'>Excel uses a default value of false for this attribute.<o:p></o:p></p><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'><i>e. The standard does not specify a default value for the showRowStripes attribute.<o:p></o:p></i></p><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'>Excel uses a default value of false for this attribute.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>LibreOffice preserves table styling in a spreadsheet prepared in Excel containing a table, but LibreOffice doesn’t use table styling and the user cannot create tables and can only remove them by removing the cells contained within it. In that sense, all the above defaults specified for Excel would also apply to LibreOffice. No other defaults make any sense from an interop perspective.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><i>Proposed resolution: </i>Add <span style='font-family:Consolas'>default=“false”</span> to each of the four attribute declarations in the schema.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><b>ELEMENTS IN DR 16-0007 NOT YET CONSIDERED<o:p></o:p></b></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The following 21 elements in the DR have yet to be considered:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>§18.8.7 cellStyle (@name) (complex type: CT_CellStyle)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>§18.8.34 rgbColor (@rgb) (complex type: CT_RgbColor)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>§18.10.1.2 b (@cp, @f, @u) (complex type: CT_Boolean)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>§18.10.1.8 calculatedItem (@formula) (complex type: CT_CalculatedItem)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>§18.10.1.21 d (@cp, @f, @u) (complex type: CT_DateTime)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>§18.10.1.27 e (@bc, @cp, @f, @fc, @in, @u) (complex type: CT_Error)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>§18.10.1.45 item (@x) (complex type: CT_Item)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>§18.10.1.50 m (@bc, @cp, @f, @fc, @in, @u) (complex type: CT_Missing)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>§18.10.1.51 map (@dimension, @measureGroup) (complex type: CT_MeasureDimensionMap)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>§18.10.1.60 n (@bc, @cp, @f, @fc, @in, @u) (complex type: CT_Number)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>§18.10.1.74 pivotTableStyleInfo (@showColHeaders, @showColStripes, @showLastColumn, @showRowHeaders, @showRowStripes) (complex type: CT_PivotTableStyle)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>§18.10.1.85 s (@bc, @cp, @f, @fc, @in, @u) (complex type: CT_String)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>§18.10.1.86 serverFormat (@culture, @format) (complex type: CT_ServerFormat)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>§18.10.1.92 tpl (@fld, @hier) (complex type: CT_Tuple)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>§18.13.1 connection (@name, @type) (complex type: CT_Connection)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>§18.13.3 dbPr (@command) (complex type: CT_DbPr)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>§18.13.5 olapPr (@rowDrillCount) (complex type: CT_OlapPr)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>§18.13.12 textPr (@characterSet) (complex type: CT_TextPr) – the attribute @codePage was moved to Part 4, but is still mentioned here and in §18.2.24 webPublishing.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>§18.13.13 webPr (@url) (complex type: CT_WebPr)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>§18.14.1 cell (@r) (complex type: CT_ExternalCell)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>§18.14.15 definedName (@refersTo) (complex type: CT_ExternalDefinedName)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>