<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wikidot="http://www.wikidot.com/rss-namespace">

	<channel>
		<title>Burn all docx?</title>
		<link>http://noooxml.wikidot.com/forum/t-17264/burn-all-docx</link>
		<description>Posts in the discussion thread &quot;Burn all docx?&quot; - It makes a difference if you read about lions and dragons or meet them on your way home. Independend XML specialist Stéphane Rodriguez tested Open XML and his results are a disaster for all of us who care about open standards and quality. His tests also give us some insights how and why DIS 26500 would fail to achieve interoperability and vendor-independence.</description>
				<copyright></copyright>
		<lastBuildDate>Tue, 18 Aug 2026 05:42:21 +0000</lastBuildDate>
		
					<item>
				<guid>http://noooxml.wikidot.com/forum/t-17264#post-44599</guid>
				<title>Re: Burn all docx?</title>
				<link>http://noooxml.wikidot.com/forum/t-17264/burn-all-docx#post-44599</link>
				<description></description>
				<pubDate>Thu, 30 Aug 2007 00:08:22 +0000</pubDate>
				<wikidot:authorName>Anonymous</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>If document integrity requires that all index links are checked both forwards and backwards then instantly every editor program must also have full understanding of all element types that might contain a link (i.e. there are no small editor programs anymore). Adding any new element type at a future date requires that all editing programs are revised to ensure that the index links are still good with the new element type.</p> <p>This seems to rather defeat the basic idea of XML&#8230; I also vote &quot;broken by design&quot;, with comments.</p> <p>Putting this another way, in order to edit a cell, I need to know (and check) everything that could possibly index that cell. By the way, this is already a known (and solved) problem in SQL where we might have a partial index on all values less than 3, and a row update operation adds 1 to a value to take it from 2 to 3&#8230; the row must automatically drop out of the partial index, although the row operation itself knows nothing about this index (indeed, the same client may be executing the same row operation on several different databases, each with a different partial index definition).</p> <p>SQL solves the problem by forcing all data operations through an &quot;engine&quot; which has access to the full data and index specification. XML has no concept of index operations, only data structure, storage and retrieval, so there is no generic XML engine with the ability to help with such a problem. The only sensible answer (from the XML way of looking at things) is that all saved data is pure data only (no index allowed, no links allowed) and each application loading the data does its own internal index rebuild. Then at least you have a portable spec (but slow loading).</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://noooxml.wikidot.com/forum/t-17264#post-44577</guid>
				<title>Re: Burn all docx?</title>
				<link>http://noooxml.wikidot.com/forum/t-17264/burn-all-docx#post-44577</link>
				<description></description>
				<pubDate>Wed, 29 Aug 2007 22:12:13 +0000</pubDate>
				<wikidot:authorName>Anonymous</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>Calcchains are optional in OOXML as well.<br /> And a better implementatioon than Excel would just rebuild a broken calcchain.</p> <p>A broken change tracking list in ODF means it can only be removed.</p> <p>There are other problem with ODF as well.<br /> For instance that it can use a text to replace the value in a spreadsheet. That causes all kind of serious redundancy problems especially if this text representation is used in cells with derived values.<br /> Cell text replacing the actual cell value also has scary consequenses in possibly hiding real cell content (with could be strings with macro statements) in a spreadsheet from view creating possbile security risk.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://noooxml.wikidot.com/forum/t-17264#post-44478</guid>
				<title>Re: Burn all docx?</title>
				<link>http://noooxml.wikidot.com/forum/t-17264/burn-all-docx#post-44478</link>
				<description></description>
				<pubDate>Wed, 29 Aug 2007 18:16:44 +0000</pubDate>
				<wikidot:authorName>Anonymous</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>The point here is that hand-editing OOXML spreadsheets <em>without breaking ECMA 376</em> results in <strong>totally broken</strong> docs from Excel 2007's standpoint, while the &quot;problem&quot; that affects OOo is just an optional feature not working anymore.<br /> That makes a hell of a difference to me.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://noooxml.wikidot.com/forum/t-17264#post-44335</guid>
				<title>Re: Burn all docx?</title>
				<link>http://noooxml.wikidot.com/forum/t-17264/burn-all-docx#post-44335</link>
				<description></description>
				<pubDate>Wed, 29 Aug 2007 15:48:56 +0000</pubDate>
				<wikidot:authorName>Anonymous</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <blockquote> <p>What are you smoking? There is no calculation chain in OpenOffice files</p> </blockquote> <p>Correct. Never said there was.<br /> But OpenOffice files have a feature call change tracking list.<br /> If used it presents much the same problems as a calcchain list.<br /> Any mutation of the spreadsheet also results in a mutation in the change tracking list. Not adding a mutation fucks up your change tracking list making the feature useless.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://noooxml.wikidot.com/forum/t-17264#post-44253</guid>
				<title>Re: Burn all docx?</title>
				<link>http://noooxml.wikidot.com/forum/t-17264/burn-all-docx#post-44253</link>
				<description></description>
				<pubDate>Wed, 29 Aug 2007 11:57:36 +0000</pubDate>
				<wikidot:authorName>Anonymous</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>To 62.58.36.57,</p> <p>What are you smoking? There is no calculation chain in OpenOffice files.</p> <p>Not convinced? Take a look at this :</p> <p>- I started OpenOffice, created a new spreadsheet, then did basically the same than in my article : I put 10 in a cell, then 20 next to that, and then I create a SUM formula of the two cells. This is saved as BookSample.original.ods<br /> - Then I replace the formula with constant value 40 and save as BookSample.updated.ods</p> <p>Here is the visual diff between the files :</p> <p><a href="http://diffopc.arstdesign.com/diffopc_sample_odf_2/diffopc.html">http://diffopc.arstdesign.com/diffopc_sample_odf_2/diffopc.html</a></p> <p>The main part is &quot;content.xml&quot;, that's where all worksheet tabs are stored. See for yourself, the formula removal only triggered the removal of the XML formula attribute in that cell.</p> <p>Call me crazy, but that is a WONDERFUL design. Easy to edit, no hassles.<br /> OpenOffice spreadsheets do it the right way.</p> <p>If you keep making stuff up, you probably want to create your own Microsoft blog on MSDN. They are in full speed there, posting as much as they can.</p> <p>But if you don't mind, I'd like to keep the discussion sane and factual.</p> <p>Have a nice day.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://noooxml.wikidot.com/forum/t-17264#post-44193</guid>
				<title>Re: Burn all docx?</title>
				<link>http://noooxml.wikidot.com/forum/t-17264/burn-all-docx#post-44193</link>
				<description></description>
				<pubDate>Wed, 29 Aug 2007 08:45:58 +0000</pubDate>
				<wikidot:authorName>Anonymous</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>You might as well burn all ODF spreadsheets as well as it contains a feature that has the same problem asociated with it als calcchains in OOXML.<br /> It is called change tracking in spreadsheets and it is actually a list of all changes in the spreadsheet. So changing a cell requires changing of a present change tracking list.<br /> Only with the change tracking list you can't just delete and rebuild it.</p> <p>So it requires programs to always track changes when a change tracking list is present in the spreadsheet or mutilate the spreadsheet by removing the change tracking list whihc cannot be rebuild.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://noooxml.wikidot.com/forum/t-17264#post-44180</guid>
				<title>Re: Burn all docx?</title>
				<link>http://noooxml.wikidot.com/forum/t-17264/burn-all-docx#post-44180</link>
				<description></description>
				<pubDate>Wed, 29 Aug 2007 07:50:37 +0000</pubDate>
				<wikidot:authorName>Anonymous</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>The spec states that &quot;edits are OK as long as you do not touch indexes to other parts&quot;. If this were reformulated as &quot;edits are OK as long as you do not touch indexes to other parts <em>or</em> parts that are referenced from indexed parts&quot; it would be correct. However, that introduces a lot more complexity to editing, far more than what you would expect from a well designed XML format aimed at external processing. I can certainly conclude from that that a) OOXML is not well designed and b) OOXML is not really intended for external editing, despite statements to that effect from Microsoft marketing.</p> <p>Another part which is strange and backwards is the shared strings section. I see no need to introduce that level of indirection for storing simple strings. Sharing strings between cells is an unnecessary indirection which makes it troublesome to make simple changes in a spreadsheet, you need to be prepared to edit the contents of a simple cell in several places. This is an artifact from the early 1990's, to conserve small amounts of memory and disk space at the expense of added complexity. In a binary file it makes no big difference, but for an XML parser it makes all the difference. For example, it makes the document almost impossible to process using a SAX parser. You need a DOM parser, or at least you need to parse all the indexing parts using DOM and keep them around in memory as you parse the rest of the document. Generally speaking, the interdependency between different parts in most OOXML files is mostly too high for the format to allow any &quot;easy editing&quot; at all.</p> <p>I agree with Stéphane Rodriguez, and I think we will see more reports of problems using OOXML without going through Microsoft's own APIs in the near future.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://noooxml.wikidot.com/forum/t-17264#post-43985</guid>
				<title>Re: Burn all docx?</title>
				<link>http://noooxml.wikidot.com/forum/t-17264/burn-all-docx#post-43985</link>
				<description></description>
				<pubDate>Tue, 28 Aug 2007 15:04:37 +0000</pubDate>
				<wikidot:authorName>Anonymous</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <blockquote> <p>it's possible to make manual changes very easily, which<br /> is what the Microsoft Office propaganda machine has<br /> been telling us ever since it was announced.</p> </blockquote> <p>It is very easy to change the a spreadsheet manually.<br /> You chuck the calcchain.xml from the package. How easy is that.</p> <p>What you do not seem to graps is that you actually created a file that has a calcchain that does no longer conform to the specifcation as it contains cell that no longer need calculation (or even worse) are likely to no longer contain cell that do require calculation.<br /> Those are non OOXML conforming files. And then you go and experiment how MS Office handles those files and blame it on the format specification.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://noooxml.wikidot.com/forum/t-17264#post-43962</guid>
				<title>Re: Burn all docx?</title>
				<link>http://noooxml.wikidot.com/forum/t-17264/burn-all-docx#post-43962</link>
				<description></description>
				<pubDate>Tue, 28 Aug 2007 13:44:24 +0000</pubDate>
				<wikidot:authorName>Anonymous</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>To poster 62.58.36.57,</p> <p>You wrote &quot;Any serieus spreadsheet application would want code to (re)build a calcchain. So this is nog a real extra effort for full spreadsheet application.&quot;</p> <p>Apparently, you still haven't read the article. Please at least read the introduction. The whole point of the article is to fact-check whether it's possible to make manual changes very easily, which is what the Microsoft Office propaganda machine has been telling us ever since it was announced.</p> <p>Note that these are not random changes. I have read elsewhere some people saying that you should not be able to make random changes. That goes without saying. Those changes are very careful. And a number of flaws in the &quot;spec&quot; get in the way.</p> <p>Also, you keep saying these are implementation flaws, well you are wrong again. These are &quot;spec&quot; flaws. Again, read the article, I take several references of said &quot;spec&quot; to explain what's wrong with it. Also, it should not be lost on you that the said &quot;spec&quot; was actually derived from the implementation. The irony is that the &quot;spec&quot; has so many typos and is so lacking (attributes are quickly described, not specified at a quality level you should expect for an international standard) that there is no way someone can write an Office competing product with this &quot;spec&quot; alone.<br /> It's not really something new. We all know that, today's Office competitors have been built with much of reverse engineering (the old binary format &quot;spec&quot; fell short on the exact same accounts : many typos, many undocumented parts).</p> <p>-Stephane Rodriguez</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://noooxml.wikidot.com/forum/t-17264#post-43881</guid>
				<title>Re: Burn all docx?</title>
				<link>http://noooxml.wikidot.com/forum/t-17264/burn-all-docx#post-43881</link>
				<description></description>
				<pubDate>Tue, 28 Aug 2007 09:39:56 +0000</pubDate>
				<wikidot:authorName>podmokle</wikidot:authorName>				<wikidot:authorUserId>3547</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>&quot;Early implementation&quot;? banana soft? Can we get an official statement from Microsoft, please?</p> <p>Given the past record of &quot;backwards compatibility&quot; these bugs are there to stay.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://noooxml.wikidot.com/forum/t-17264#post-43876</guid>
				<title>Re: Burn all docx?</title>
				<link>http://noooxml.wikidot.com/forum/t-17264/burn-all-docx#post-43876</link>
				<description></description>
				<pubDate>Tue, 28 Aug 2007 09:24:51 +0000</pubDate>
				<wikidot:authorName>Anonymous</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>Any serieus spreadsheet application would want code to (re)build a calcchain. So this is nog a real extra effort for full spreadsheet application.</p> <p>Minor implementations would not build a calcchain but either leave the spreadsheet without calcchain (which is fine for 99% of small to medium sized spreadsheets) or in the rare occasions you need a calcchain use a third party API for producing the calcchain as building a calcchain is a fairly standardized action. For instance simply opening and saving the file throug Excel related API's would rebuild the calcchain.</p> <p>And if you are an expert why not create and sell a developer API for building a calcchain.</p> <blockquote> <p>Therefore SpreadsheetML is a regression</p> </blockquote> <p>As I see it the regression is in Excel that does not handle the calcchain inconsistency efficiently. That is the whole point with your entire article.<br /> You put MS Office 2007 implementation as the standard of how Office Open XML works. However MS Office 2007 is an early implementation that is still filled with flaws or less than optimal solutions. For instance adding binary elements in spreadsheets because some Office products (like outlook) when embedding code cannot convert the Office Open XML code in their formats (yet).</p> <p>So whem looking at MS Office you spot flaw but seems unable to let go of that and link all of them to Office open XML whereas I think it is actually suboptimal implementation solutions by Microsoft.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://noooxml.wikidot.com/forum/t-17264#post-43734</guid>
				<title>Re: Burn all docx?</title>
				<link>http://noooxml.wikidot.com/forum/t-17264/burn-all-docx#post-43734</link>
				<description></description>
				<pubDate>Mon, 27 Aug 2007 16:40:42 +0000</pubDate>
				<wikidot:authorName>Anonymous</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>To poster 62.58.36.57,</p> <p>I welcome your comment but I would prefer you read the article first. Here are the couple points I'm making with the first example :</p> <p>- making a simple change in a cell is not a &quot;no-brainer&quot; scenario. This simple fact contradicts one and a half year of Microsoft propaganda. If you want to do me a favor, please visit openxmldeveloper.org and see for yourself.<br /> - to have to touch the calculation chain yourself is backwards, clearly a flaw in the spec. It's cells which should be governing the calculation chain, not the opposite. If you have experience in Excel BIFF, it is exactly how it works : the cells govern the calculation chain. Therefore SpreadsheetML is a regression. That's already a second point.<br /> - I'm not entirely sure what you are advocating relating to the calculation chain. Can't you understand that rebuilding the calculation chain requires a lot of code that you have to write? Isn't the guy only willing to make a change in a cell. If the point was to make bigger changes, say replace a pivot table, then sure enough that would require more work, but here we are only talking about changing the value of a cell. I don't think it can get any more trivial than that. And yet, it's not simple.<br /> - as for changes in the calculation chain, if you actually read the article, you would see that's what I do next, and that does not improve the situation at all. In fact it gets worse : &quot;catastrophic failure&quot; error. This actually is another flaw in the spec, it's just poor engineering (you can't have a calculation chain with no cell reference in it). And that's a third point.</p> <p>Beyond this trivial change, the point is that Microsoft never intended that people out there would make changes. That's I think certainly prevalent in other points as well. You can easily draw the conclusion from that.</p> <p>If you did not know, I sell some of the most advanced OOXML related products out there (diffopc+, xlsgen). So perhaps it's wiser for you to avoid saying I don't know what I am talking about.</p> <p>-Stephane Rodriguez</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://noooxml.wikidot.com/forum/t-17264#post-43718</guid>
				<title>Re: Burn all docx?</title>
				<link>http://noooxml.wikidot.com/forum/t-17264/burn-all-docx#post-43718</link>
				<description></description>
				<pubDate>Mon, 27 Aug 2007 15:24:14 +0000</pubDate>
				<wikidot:authorName>podmokle</wikidot:authorName>				<wikidot:authorUserId>3547</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>the question is the &quot;corrupted&quot; file conforms to the specification.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://noooxml.wikidot.com/forum/t-17264#post-43715</guid>
				<title>Re: Burn all docx?</title>
				<link>http://noooxml.wikidot.com/forum/t-17264/burn-all-docx#post-43715</link>
				<description></description>
				<pubDate>Mon, 27 Aug 2007 15:16:35 +0000</pubDate>
				<wikidot:authorName>Anonymous</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>[quote]Namely it should, per specification, not be necessary to edit/remove the calcchain.xml:[/quote]</p> <p>That is however not true. A valid file should conform to the specification.<br /> Actually the calcchain.xml part is explained correctly in Office Open XML. It described that is is a list that describes in what order to handle the formulas in the spreadsheet. What this guy does is removing a formula from the spreadsheet but leaving the reference to it in the calcchain.xml making the calcchain still listing a place that however is no longer a formula to calculate.</p> <p>So this guy deliberatly breaks the calcchain.xml specification as it now list a cell that contains no formulas to calculate. That means the file is no longer conforming to OOXML and is actually corrupt according to the specification.</p> <p>Prefebly an implementation coming accross a corrupt calcchain.xml should then just remove the calcchain.xml as it is an optinal part anyways.<br /> So it is relativly easy to handle this corruption.<br /> However MS Office does not but gives an error. Ugly but it is ugly handling of an invalid OOXML file !!!</p> <p>It is ridicolous that this person cannot understand how to implement the specification and creates corrupt files but then complains about Office Open XML when MS Office cannot handle a corrupt file he created.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://noooxml.wikidot.com/forum/t-17264#post-43690</guid>
				<title>Re: Burn all docx?</title>
				<link>http://noooxml.wikidot.com/forum/t-17264/burn-all-docx#post-43690</link>
				<description></description>
				<pubDate>Mon, 27 Aug 2007 13:40:35 +0000</pubDate>
				<wikidot:authorName>Anonymous</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>We can take him seriously since he explains exactly why he did what he did. Namely it should, per specification, not be necessary to edit/remove the calcchain.xml:</p> <p>&quot;Interestingly enough, we thought parts of a spreadsheet file were individually updatable as long as we did not touch elements that are, according to the ECMA 376 documentation, indexes to other parts.&quot;</p> <p>The point here being that the specification is broken, since it is not possible to edit just a small part, without touching other parts, entangled in yet other parts (calcchain.xml)<br /> Or how else would you go about editing the spreadsheet by a script or whatnot (not Excel) and then open it (as is claimed should work) by another program (of course capable of interpreting the spreadsheet). If we follow your line of thought, either to edit the calcchain.xml (which according to spec isn't needed) or remove it (and then of course the opening program would have to rebuild it)</p> <p>So your solution, really, is either to only use Excel to modify the spreadsheets (great portability and openness there&#8230; or wait&#8230;) or to make the modifications and remove the calcchain.xml. Sure, with a script that would come automatic, but why, if the specification works, would it be necessary to modify (in this case remove) another file, if we only edited one local part?</p> <p>I certainly see his point, don't you?</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://noooxml.wikidot.com/forum/t-17264#post-43677</guid>
				<title>Re: Burn all docx?</title>
				<link>http://noooxml.wikidot.com/forum/t-17264/burn-all-docx#post-43677</link>
				<description></description>
				<pubDate>Mon, 27 Aug 2007 13:01:40 +0000</pubDate>
				<wikidot:authorName>Anonymous</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>How can you take someone serious that mutates a spreadsheet with a calcchain.xml in it and does not either also edit the calcchain or removes it completly.<br /> Effectifly then he blames Office Open XML that Ms Office 2007 cannot handle the spreadsheet he himself corrupted.<br /> Removing the calcchain.xml is a piece of cake and then MS Office 2007 builds up the calcchain again very easily.<br /> Effectifly he blames OOXML for the ability of MS Office to handle wrongly produced OOXML files.</p> <p>That is a MS Office 2007 implementation issue and not a Office Open XML issue.<br /> The whole document is more a complaint about MS Office 2007 implementations of Office Open XML then about Office Open XML itself.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://noooxml.wikidot.com/forum/t-17264#post-43537</guid>
				<title>Re: Burn all docx?</title>
				<link>http://noooxml.wikidot.com/forum/t-17264/burn-all-docx#post-43537</link>
				<description></description>
				<pubDate>Sun, 26 Aug 2007 21:46:57 +0000</pubDate>
				<wikidot:authorName>stegu</wikidot:authorName>				<wikidot:authorUserId>30391</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I totally see your point, thanks for your very educational comments!<br /> Strange that they did not choose to use that API call during export.<br /> The format and its implementation seem both to be a big ugly mess.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://noooxml.wikidot.com/forum/t-17264#post-43490</guid>
				<title>Re: Burn all docx?</title>
				<link>http://noooxml.wikidot.com/forum/t-17264/burn-all-docx#post-43490</link>
				<description></description>
				<pubDate>Sun, 26 Aug 2007 15:12:51 +0000</pubDate>
				<wikidot:authorName>Anonymous</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>Regarding VBA,</p> <p>Since everything exposed from the COM object model is Variant-centric, I would not be surprised that, when making a VBA call such as Range(&quot;C3&quot;).Value, the internal IEEE is coerced into a string using some flavor of the Windows OLE API function call VarBstrFromR8. (yep, another Windows dependency)</p> <p>We can figure out how it works internally. In fact, we can attach a debugger and find out all it does, but what really matters is that, at the end of the day, VBA Office developers, the target audience of those XML formats, are not going to get the same thing than what they are used to. Excel through VBA and the user interface really hides layers of complexity, which is a certainly a good thing. But the XML, all of a sudden, just expose the guts. And suddenly, this becomes a problem if you expect to use your VBA asset (or some other code derived from your VBA asset) to consume/edit this XML. Particularly if you are writing critical calculation functions for instance.</p> <p>-Stephane Rodriguez</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://noooxml.wikidot.com/forum/t-17264#post-43482</guid>
				<title>Re: Burn all docx?</title>
				<link>http://noooxml.wikidot.com/forum/t-17264/burn-all-docx#post-43482</link>
				<description></description>
				<pubDate>Sun, 26 Aug 2007 13:34:42 +0000</pubDate>
				<wikidot:authorName>stegu</wikidot:authorName>				<wikidot:authorUserId>30391</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Thanks for your personal response, Stéphane! I have no experience with VBA, but if the value 12345.12345 is stored as a &quot;double&quot; and converted to a decimal string representation with 17 significant digits, what you will get is 12345.123449999999. The value 123.12345 is returned as 123.12345000000001. The value 123456.123456 is, as it happens, mapped to itself. These relative errors of around 1e-16 are simply unavoidable when using IEEE double representation. The double type has a limited precision and does not use base 10, hence even seemingly simple decimal values like 0.1 will not be represented exactly. (Other values like 0.5, 0.25 and 0.125 will, though.)</p> <p>Unless VBA has access to the verbatim type-in value <em>and</em> keeps the value in string representation, these rounding errors are what you will get from VBA also. The fact that OOo Calc actually seems to keep the value which was typed in could be either due to Calc actually keeping the typed-in value verbatim, or that there is some extra, reasonable but nonstandard rounding taking place when saving. I would need to make closer investigations or take a look at the source to know for sure.</p> <p>Perhaps VBA does such &quot;smart rounding&quot; when reading the values from MS Office? That would be a reasonable explanation for the discrepancy between VBA and the stored value in OOXML.</p> <blockquote> <p>DrawingML+VML store content with their own locale.</p> </blockquote> <p>Aha. I actually missed that in my first reading, sorry. Ouch. That's bad formatting<br /> indeed. But there are plenty of other places where the OOXML spec doesn't hold<br /> together as a single standard, so I can't say that I'm surprised.</p> <blockquote> <p>The whole ECMA 376 spec looks certainly a bit rushed, just like everything<br /> Microsoft does related to international issues.</p> </blockquote> <p>I can fully agree on that. It's a rush job straight through. Most of it looks as if<br /> it has received only a cursory review by ECMA. It is clearly immature, both in<br /> terms of the technical content and the presentation of the document.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://noooxml.wikidot.com/forum/t-17264#post-43434</guid>
				<title>Re: Burn all docx?</title>
				<link>http://noooxml.wikidot.com/forum/t-17264/burn-all-docx#post-43434</link>
				<description></description>
				<pubDate>Sun, 26 Aug 2007 04:38:08 +0000</pubDate>
				<wikidot:authorName>Anonymous</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>stegu,</p> <p>- rounding error : the point I was trying to make is that if you read values from direct access in the XML, you'll get erroneous values. That's not what happens if you are using VBA in Office. And for this reason, it qualifies as a regression. You are right about the rounding error itself though, thanks for noting that.<br /> - US English locale : here again, the problem is that VBA Office developers get values, functions and just about everything else localized, not US English. This qualifies as a regression. Also, I wish the XML was at least uniformly US English, but as I allude to in the article, this is not quite the case either : for instance, DrawingML+VML store content with their own locale. The whole ECMA 376 spec looks certainly a bit rushed, just like everything Microsoft does related to international issues. I'll leave it as an exercise to readers to figure out if their market forces/ubiqituity should allow them to redefine what international standards are on the subject, or if we should stick with the proven international standards.</p> <p>-Stephane Rodriguez</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://noooxml.wikidot.com/forum/t-17264#post-43395</guid>
				<title>Re: Burn all docx?</title>
				<link>http://noooxml.wikidot.com/forum/t-17264/burn-all-docx#post-43395</link>
				<description></description>
				<pubDate>Sat, 25 Aug 2007 20:50:28 +0000</pubDate>
				<wikidot:authorName>stegu</wikidot:authorName>				<wikidot:authorUserId>30391</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Stephane Rodriguez has made a commendable effort here, although one thing<br /> is wrong with item 2: the rounding error in the numerical values is not 1e-4 or<br /> 1e-5, and it does not change haphazardly. The error is only in the last decimal<br /> place, and the rounding error appears consistent with the 1/2 LSB rounding error<br /> in the IEEE &quot;double&quot; 64-bit floating-point format.</p> <p>Having said that, I looked at what OpenOffice.org does in the same situation,<br /> and Calc appears to store the entered values verbatim without making the<br /> round-trip to &quot;double&quot; representation. At least, the XML contains the correct<br /> values, exactly as entered. The actual values are stored in US English notation,<br /> while the displayed values are stored using the current locale and display precision.</p> <p>I also think that Stephane's criticism of Excel for using a US-centric number format<br /> and not the locale when storing numeric values is uncalled for. Programmers and<br /> XML processors can be expected to work with the programming language notation<br /> for numeric values, in fact using anything <em>else</em> than that, like a locale-specific<br /> setting, would seem unreasonable to me.</p> <p>I did try to tell the author about this, but I could not find an e-mail address.<br /> If anyone reading this knows how to contact Stephane, please do so.<br /> I think it is important that we keep all OOXML criticism as accurate as possible.</p> <p>Note that while Stephane might have jumped the gun at these two particular<br /> issues, I think that the other findings are relevant and very revealing.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://noooxml.wikidot.com/forum/t-17264#post-43374</guid>
				<title>Burn all docx?</title>
				<link>http://noooxml.wikidot.com/forum/t-17264/burn-all-docx#post-43374</link>
				<description></description>
				<pubDate>Sat, 25 Aug 2007 18:58:01 +0000</pubDate>
				<wikidot:authorName>podmokle</wikidot:authorName>				<wikidot:authorUserId>3547</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Stéphane Rodriguez describes himself as an independent XML expert. IBM's Rob Weir demonstrated <a href="http://www.noooxml.org/local--files/arguments/TheCaseAgainstOOXML.pdf">how broken the ECMA specification is</a>. But Stéphane Rodriguez <a href="http://www.arstdesign.com/articles/OOXML-is-defective-by-design.html">shows how broken the format actually is, in real scenarios</a>:</p> <p>He does 13 case studies in which he explains how the format failed. <a href="http://www.arstdesign.com/articles/OOXML-is-defective-by-design.html">Read it</a>. His conclusions is that ECMA-376 was <strong>broken by design</strong>.</p> <blockquote> <p>1) Self-exploding spreadsheets</p> <p>2) Entered versus stored values</p> <p>3) Optimization artefacts become a feature instead of an embarrasment</p> <p>4) VML isn't XML</p> <p>5) Open packaging parts minefield</p> <p>6) International, but US English first and foremost</p> <p>7) Many ways to get in trouble</p> <p>8) Windows dates</p> <p>9) All roads lead to Office 2007</p> <p>10) A world of ZIP+OLE files</p> <p>11) BIFF is gone&#8230;not!</p> <p>12) Document backwards compatibility subject to neutrino radioactivity</p> <p>13) ECMA 376 documents just do not exist</p> </blockquote> 
				 	]]>
				</content:encoded>							</item>
				</channel>
</rss>