<?xml version="1.0" encoding="ISO-8859-1"?><!-- OPML generated by OPML Editor v10.1a8 on Mon, 16 Jul 2007 14:44:45 GMT -->
<opml version="2.0">	<head>		<title>16.opml</title>		<dateCreated>Mon, 16 Jul 2007 06:51:15 GMT</dateCreated>		<dateModified>Mon, 16 Jul 2007 14:44:44 GMT</dateModified>		<ownerName>Tom Morris</ownerName>		<ownerEmail>http://blogs.opml.org/mail/tommorris</ownerEmail>		<expansionState>2</expansionState>		<vertScrollState>11</vertScrollState>		<windowTop>493</windowTop>		<windowLeft>933</windowLeft>		<windowBottom>693</windowBottom>		<windowRight>1318</windowRight>		</head>	<body>		<outline text="ArrayML: quick and dirty XML for interop" created="Mon, 16 Jul 2007 06:51:15 GMT">			<outline text="I've just published some code, somewhat cheekily called &lt;a href=&quot;http://tommorris.org/pages/arrayml.php5&quot;&gt;ArrayML&lt;/a&gt;. It's designed to turn PHP associative arrays in to an XML interchange format. Think of it as the &lt;a href=&quot;http://swxformat.org/&quot;&gt;SWX&lt;/a&gt; of XSLT." created="Mon, 16 Jul 2007 06:51:41 GMT"/>			<outline text="It'll hopefully make writing mashups and screen-scrapers a bit quicker for me, and will mean less time writing PHP and more writing XSLT (that's a good thing, btw)." created="Mon, 16 Jul 2007 06:54:54 GMT"/>			<outline text="&lt;a href=&quot;http://www.haloscan.com/comments/tommorris/arraymlQuickAndDirtyXmlForInterop55893/&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;postCount('arraymlQuickAndDirtyXmlForInterop55893');&lt;/script&gt;&lt;/a&gt; | &lt;a href=&quot;http://www.haloscan.com/tb/tommorris/arraymlQuickAndDirtyXmlForInterop55893/&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;postCountTB('arraymlQuickAndDirtyXmlForInterop55893'); &lt;/script&gt;&lt;/a&gt;"/>			</outline>		<outline text="Open a bin, take Microsoft pseudo-standards and toss it in." created="Mon, 16 Jul 2007 14:16:33 GMT">			<outline text="&lt;a href=&quot;http://www.oreillynet.com/xml/blog/2007/07/10_corrections_to_open_xml.html&quot;&gt;Rick Jelliffe&lt;/a&gt; at XML.com has a list of corrections to Microsoft's Office &quot;Open&quot; XML. The biggest correction to Office Open XML is it's existence. It proves a number of things. Firstly, Microsoft Office Open XML proves that a bad data format that gets an XML syntax is still a bad data format. And the Office data formats are terrible. If you judged it like any other data format, you'd see it is &lt;i&gt;terrible&lt;/i&gt;." created="Mon, 16 Jul 2007 14:14:03 GMT"/>			<outline text="If Microsoft wanted to be Open, they'd make the Office standards available using crrently existing XML standards - XHTML, DocBook, SVG, XForms, MathML and so on. MSOOXML proves that Microsoft love reinventing standards, since neither MathML nor SVG are used - instead Microsoft have reinvented the wheel for both of these." created="Mon, 16 Jul 2007 14:16:55 GMT"/>			<outline text="But Microsoft don't want to be open, they want to be pseudo-open. Pseudo-open means that you get all the commercial benefits of openness - ie. business and governments who specify that an XML format is used will be able to avoid changing to a non-Microsoft technology - without the actual benefits of open data formats based on technologies like XML. The actual benefits are that there is &lt;i&gt;more&lt;/i&gt; competition rather than less." created="Mon, 16 Jul 2007 14:18:32 GMT"/>			<outline text="If you take a look at an XHTML document, you can quite easily figure out how to do something with it. You may need to check the specification, or a normative schema, for the minutiae and particulars. But the actual data is sitting there in a format that human beings can comprehend with ease." created="Mon, 16 Jul 2007 14:20:40 GMT"/>			<outline text="The true test of a data format is when it's cracked open without schema, specifications or reference implementation. If I open it up without syntax highlighting and can last for more than thirty seconds without my head exploding, it's passed the first test." created="Mon, 16 Jul 2007 14:23:42 GMT"/>			<outline text="Microsoft Office Open XML does not pass this test. It's bloated, over-engineered, unsemantic, insanely complicated and there are not enough implementations to make it worth bothering with." created="Mon, 16 Jul 2007 14:24:47 GMT"/>			<outline text="The cool thing about XML and RDF is that you can express what you actually mean. Office XML does not give you that (and it cannot - remember, garbage in, garbage out). HTML can scale from the presentational markup of FONT tags up to the rich semantics of microformats and embedded RDF formats. Plain old XML does this too." created="Mon, 16 Jul 2007 14:25:50 GMT"/>			<outline text="I call for a boycott of Microsoft Office Open XML. If we are to use it, we should write one XSLT 1.0 implementation to turn it in to a sane format, run everything through that and then say &quot;go fuck yourself&quot; to Microsoft. Oh, except that we possibly can't do that because of Microsoft's software patents on the sub-technologies inside MSOOXML." created="Mon, 16 Jul 2007 14:28:09 GMT"/>			<outline text="If they want to be pseudo-open with people's documents, then we'll give them pseudo-interest in response." created="Mon, 16 Jul 2007 14:29:05 GMT"/>			<outline text="I've said it before, and I'll say it again. There are cool people doing interesting things at Microsoft. Why, oh why, aren't they making MSOOXML &lt;i&gt;good&lt;/i&gt;? It's because they want to be pseudo-open. Let's not dance around the issue." created="Mon, 16 Jul 2007 14:35:31 GMT"/>			<outline text="Right, rant over." created="Mon, 16 Jul 2007 14:29:51 GMT"/>			<outline text="For more information about MSOOXML, see &lt;a href=&quot;http://www.dwheeler.com/essays/why-opendocument-won.html&quot;&gt;David Wheeler's article&lt;/a&gt; and &lt;a href=&quot;http://fsfeurope.org/documents/msooxml-questions&quot;&gt;Free Software Foundation Europe's objections&lt;/a&gt;." created="Mon, 16 Jul 2007 14:43:51 GMT"/>			<outline text="&lt;a href=&quot;http://www.haloscan.com/comments/tommorris/openABinTakeMicrosoftPseudostandardsAndTossItIn49855/&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;postCount('openABinTakeMicrosoftPseudostandardsAndTossItIn49855');&lt;/script&gt;&lt;/a&gt; | &lt;a href=&quot;http://www.haloscan.com/tb/tommorris/openABinTakeMicrosoftPseudostandardsAndTossItIn49855/&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;postCountTB('openABinTakeMicrosoftPseudostandardsAndTossItIn49855'); &lt;/script&gt;&lt;/a&gt;"/>			</outline>		</body>	</opml>