<div dir="ltr">Re: Issue 1/2  Ideally, every condition in prose should be captured by schemas.<div>Here is my prposal.</div><div><br></div><div><div>Replace </div><div><br></div><div>    <xsd:attribute name="textRotation" type="xsd:unsignedInt" use="optional"/></div><div><br></div><div>in sml.xsd by</div><div><br></div><div>    <xsd:attribute name="textRotation" type="ST_TextRotation" use="optional"/></div><div><br></div><div>and add</div><div><br></div><div>  <xsd:simpleType name="ST_TextRotation"></div><div>    <xsd:restriction base="xsd:unsignedInt"></div><div>      <xsd:minInclusive value="0"/></div><div>      <xsd:maxExclusive value="360"/></div><div>    </xsd:restriction></div><div>  <simpleType></div><div><br></div><div>Replace </div><div><br></div><div>  attribute textRotation { xsd:unsignedInt }?,</div><div><br></div><div>in sml.rnc by </div><div><br></div><div>  attribute textRotation { sml_ST_TextRotation }?,</div><div><br></div><div>and add</div><div><br></div><div>sml_ST_TextRotation = </div><div>  xsd:unsignedInt { minInclusive = "0" maxExclusive = "360" }</div></div><div><br></div><div>Regards,</div><div>Makoto</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-01-14 9:26 GMT+09:00 Chris Rae <span dir="ltr"><<a href="mailto:Chris.Rae@microsoft.com" target="_blank">Chris.Rae@microsoft.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">DR is here: <a href="https://onedrive.live.com/view.aspx/Public%20Documents/2014/DR-14-0010.docx?cid=C8BA0861DC5E4ADC" target="_blank">https://onedrive.live.com/view.aspx/Public%20Documents/2014/DR-14-0010.docx?cid=C8BA0861DC5E4ADC</a><br>
<br>
I've done a bit of investigation into this DR and it seems to definitely represent an omission either from the standard or from Microsoft's implementer notes. The DR mentions several things:<br>
<br>
1. the actual schema has unsignedInt while the description clearly imposes limits;<br>
2. an unsignedInt is clearly not restrictive enough in this respect (0 < x 359 should be sufficient);<br>
3. the value of 255 seems to be specifying different, undefined behaviour (ideally this should probably be controlled by a separate attribute). Excel at least seems to treat values > 180 as negative.<br>
<br>
Issue 1/2: I don't feel strongly on this, although we do have many others cases where ranges are specified in prose rather than schema. Rather than open that can of worms, I propose not adding this limit to schema.<br>
<br>
Issue 3: I've tested this in Microsoft Office, LibreOffice, Open Office and Google Docs. Google Docs appears not to support text rotation at all, but the other three applications do indeed all treat the value 255 as special, and meaning text written downwards. I therefore propose the attached changes to the standard to address this.<br>
<br>
On Excel's treatment of values >180, it does appear to be slightly odd but I don't think this is deliberate and there's no way to recreate it in the user interface. As the standard doesn't dictate what to do with invalid files, I don't think we need to document this case (and, if we do, I think it should be in Excel's implementer notes).<br>
<span class="HOEnZb"><font color="#888888"><br>
Chris<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><br>Praying for the victims of the Japan Tohoku earthquake<br><br>Makoto</div>
</div>