<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
	>
<channel>
	<title>Comments on: ODF Validation for Dummies</title>
	<atom:link href="http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html/feed" rel="self" type="application/rss+xml" />
	<link>http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html</link>
	<description>Thinking the unthinkable, pondering the imponderable, effing the ineffable and scruting the inscrutable</description>
	<lastBuildDate>Wed, 10 Mar 2010 01:51:22 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: ODF Lies and Whispers</title>
		<link>http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-2975</link>
		<dc:creator>ODF Lies and Whispers</dc:creator>
		<pubDate>Tue, 09 Feb 2010 17:26:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-2975</guid>
		<description>[...] the Wikipedia articles on ODF and OOXML via paid consultants. In any case, Alex&#8217;s claims were rebutted long ago. ODF has a number (more than a hundred) of technical flaws which haven&#8217;t been addressed for 3 [...]</description>
		<content:encoded><![CDATA[<p>[...] the Wikipedia articles on ODF and OOXML via paid consultants. In any case, Alex&#8217;s claims were rebutted long ago. ODF has a number (more than a hundred) of technical flaws which haven&#8217;t been addressed for 3 [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob</title>
		<link>http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1903</link>
		<dc:creator>Rob</dc:creator>
		<pubDate>Wed, 07 May 2008 22:29:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1903</guid>
		<description>Oh, I think you do Alex a disservice there.  He knows what he is doing.  But it is far narrower, and far less important than he is portraying it to  be.  It reminds me of the &quot;dihydrogen monoxide&quot; scare from a few years ago.  Throw around some technical jargon, make scary pronouncements,  blown all out of proportion, and the people start panicking.&lt;br/&gt;&lt;br/&gt;But dihydrogen monoxide is just water in the end, and in the end anyone who wants to can use tools like jing and msv to validate their documents, and it will find errors where you have errors and will say your document is valid if it is valid  The ODF 1.0 schema is useful and can be used, and is used by developers today to check the validity of their ODF output.&lt;br/&gt;&lt;br/&gt;To your particular point about multiple XML documents, and references between them, the referential integrity of those links are not, strictly speaking, part of validity, or at least not as defined in Relax NG or ODF.   These &quot;whole document&quot; integrity should be treated as conformance constraints.</description>
		<content:encoded><![CDATA[<p>Oh, I think you do Alex a disservice there.  He knows what he is doing.  But it is far narrower, and far less important than he is portraying it to  be.  It reminds me of the &#8220;dihydrogen monoxide&#8221; scare from a few years ago.  Throw around some technical jargon, make scary pronouncements,  blown all out of proportion, and the people start panicking.</p>
<p>But dihydrogen monoxide is just water in the end, and in the end anyone who wants to can use tools like jing and msv to validate their documents, and it will find errors where you have errors and will say your document is valid if it is valid  The ODF 1.0 schema is useful and can be used, and is used by developers today to check the validity of their ODF output.</p>
<p>To your particular point about multiple XML documents, and references between them, the referential integrity of those links are not, strictly speaking, part of validity, or at least not as defined in Relax NG or ODF.   These &#8220;whole document&#8221; integrity should be treated as conformance constraints.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1900</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Wed, 07 May 2008 20:01:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1900</guid>
		<description>The thing as far as I can see is that even if the ODF schema included the nonstandard extensions to check intrigity of ID/IDREF it would still not succeed with proper validation of these on the ODF document level since their intrigity must be checked over all the files included in the ODF document and basic XML validators handle one file at the time and never external resources like imbedded binary data. &lt;br/&gt;&lt;br/&gt;It is very basic enginering design that you should not give the pretense to validate something if you really know that you are not checking the essential bits of the thing that need validation. Could it be that Alex Brown doesn&#039;t have enough real world programming experience to understand this, or are he just playing dumb so save his face?&lt;br/&gt;&lt;br/&gt;Shall we anticipate what will happen next? &lt;br/&gt;I think what Alex Brown will do now is to create a set of files that demonstrate conflicts between use of ID/IDREF and start to claim that since the ODF XML schema can not detect this ODF is broken by design. The problem with this argument will of course be that his example files will not be proper ODF since they violate those parts of the ODF requirements that are not described by the XML schema. &lt;br/&gt;&lt;br/&gt;It good to know that you Rob is around to refute his baseless accusations. Keep the good work.</description>
		<content:encoded><![CDATA[<p>The thing as far as I can see is that even if the ODF schema included the nonstandard extensions to check intrigity of ID/IDREF it would still not succeed with proper validation of these on the ODF document level since their intrigity must be checked over all the files included in the ODF document and basic XML validators handle one file at the time and never external resources like imbedded binary data. </p>
<p>It is very basic enginering design that you should not give the pretense to validate something if you really know that you are not checking the essential bits of the thing that need validation. Could it be that Alex Brown doesn&#8217;t have enough real world programming experience to understand this, or are he just playing dumb so save his face?</p>
<p>Shall we anticipate what will happen next? <br />I think what Alex Brown will do now is to create a set of files that demonstrate conflicts between use of ID/IDREF and start to claim that since the ODF XML schema can not detect this ODF is broken by design. The problem with this argument will of course be that his example files will not be proper ODF since they violate those parts of the ODF requirements that are not described by the XML schema. </p>
<p>It good to know that you Rob is around to refute his baseless accusations. Keep the good work.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob</title>
		<link>http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1882</link>
		<dc:creator>Rob</dc:creator>
		<pubDate>Tue, 06 May 2008 15:37:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1882</guid>
		<description>Well, interoperability doesn&#039;t even require a standard, does it?  It you imagine an Orwellian world where everyone was forced to run exactly the same applications on the same operating system, then you would have interoperable systems.  &lt;br/&gt;&lt;br/&gt;The complexity is when you have a plurality of vendors and applications and operating systems.  Then you need an engineered approach to interoperability and that can encompass standards, schemas, test suites, reference implementations, conformity assesment methodology, &quot;plugfests&quot;, etc.  That is the cost of plurality.</description>
		<content:encoded><![CDATA[<p>Well, interoperability doesn&#8217;t even require a standard, does it?  It you imagine an Orwellian world where everyone was forced to run exactly the same applications on the same operating system, then you would have interoperable systems.  </p>
<p>The complexity is when you have a plurality of vendors and applications and operating systems.  Then you need an engineered approach to interoperability and that can encompass standards, schemas, test suites, reference implementations, conformity assesment methodology, &#8220;plugfests&#8221;, etc.  That is the cost of plurality.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1881</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Tue, 06 May 2008 14:59:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1881</guid>
		<description>interoperability is not proven by way of strict standards conformance. most web sites dont validate against html standards. interoperability stems from truly free standards that can be implemented by anyone. portability of a document from google docs to openoffice.org to abiword to koffice, whilst retaining formatting, is much more important than strict compliance to ODF 1.0. the standard thus allows for free competition in an open market. which is exactly why the world&#039;s biggest monopoly does not wish to participate there. but the times are a-changing, and no amount of shills wills save MS now.&lt;br/&gt;&lt;br/&gt;the fact that there is only one non-working implementation of MSOXML is the actual scandalous embarrassment to ISO, as only established standards should be fast-tracked.&lt;br/&gt;&lt;br/&gt;best wishes</description>
		<content:encoded><![CDATA[<p>interoperability is not proven by way of strict standards conformance. most web sites dont validate against html standards. interoperability stems from truly free standards that can be implemented by anyone. portability of a document from google docs to openoffice.org to abiword to koffice, whilst retaining formatting, is much more important than strict compliance to ODF 1.0. the standard thus allows for free competition in an open market. which is exactly why the world&#8217;s biggest monopoly does not wish to participate there. but the times are a-changing, and no amount of shills wills save MS now.</p>
<p>the fact that there is only one non-working implementation of MSOXML is the actual scandalous embarrassment to ISO, as only established standards should be fast-tracked.</p>
<p>best wishes</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David</title>
		<link>http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1876</link>
		<dc:creator>David</dc:creator>
		<pubDate>Tue, 06 May 2008 13:25:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1876</guid>
		<description>&lt;i&gt;find the office:version attribute and then invoke jing with the correct schema.&lt;/i&gt;&lt;br/&gt;&lt;br/&gt;Actually that may not be needed, with a bit of preparation it&#039;s possible to write a single relax schema that validates documents according to whichever schema is specified in the version attribute.&lt;br/&gt;&lt;br/&gt;I use this all the time for xslt1/2 discrimination (in emacs nxml mode which uses the relax schema for context sensitive editing)&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;The latest version of Norm&#039;s schema is here&lt;br/&gt;http://norman.walsh.name/2006/07/12/xslt20&lt;br/&gt;&lt;br/&gt;but the first post describes the basic trick for doing this, which could be used to wrap two ODF schema, rather than two XSLT schema&lt;br/&gt;is here&lt;br/&gt;http://norman.walsh.name/2004/07/25/xslt20&lt;br/&gt;&lt;br/&gt;basically you just take the two schema that you have and write a three line schema that includes them both...</description>
		<content:encoded><![CDATA[<p><i>find the office:version attribute and then invoke jing with the correct schema.</i></p>
<p>Actually that may not be needed, with a bit of preparation it&#8217;s possible to write a single relax schema that validates documents according to whichever schema is specified in the version attribute.</p>
<p>I use this all the time for xslt1/2 discrimination (in emacs nxml mode which uses the relax schema for context sensitive editing)</p>
<p>The latest version of Norm&#8217;s schema is here<br /><a href="http://norman.walsh.name/2006/07/12/xslt20" rel="nofollow">http://norman.walsh.name/2006/07/12/xslt20</a></p>
<p>but the first post describes the basic trick for doing this, which could be used to wrap two ODF schema, rather than two XSLT schema<br />is here<br /><a href="http://norman.walsh.name/2004/07/25/xslt20" rel="nofollow">http://norman.walsh.name/2004/07/25/xslt20</a></p>
<p>basically you just take the two schema that you have and write a three line schema that includes them both&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1875</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Tue, 06 May 2008 13:08:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1875</guid>
		<description>Rob, seems I&#039;m not the only one to have failed to add a comment on Alex Brown&#039;s blog. I apologise if this if off-topic, but I feel this is an important issue, so I&#039;d like to follow your example and post here - Pete Austin&lt;br/&gt;&lt;br/&gt;Alex Brown said, &quot;Given Microsoft&#039;s proven ability to tinker with the Office XML file format between service packs, I am hoping that MS Office will shortly be brought into line with the 29500 specification, and will stay that way.&quot; &lt;br/&gt;http://www.griffinbrown.co.uk/blog/PermaLink,guid,3e2202cd-59a3-4356-8f30-b8eb79735e1a.aspx&lt;br/&gt;&lt;br/&gt;Alex, you may have missed how, about 18 months ago, the same Microsoft Office team made Outlook use Microsoft Word to render HTML emails, despite the fact that this significantly reduced support for HTML standards compared to earlier Outlook versions. They have still not brought it back into line. This is not a hopeful precedent.&lt;br/&gt;http://www.campaignmonitor.com/blog/archives/2007/01/microsoft_takes_email_design_b.html</description>
		<content:encoded><![CDATA[<p>Rob, seems I&#8217;m not the only one to have failed to add a comment on Alex Brown&#8217;s blog. I apologise if this if off-topic, but I feel this is an important issue, so I&#8217;d like to follow your example and post here &#8211; Pete Austin</p>
<p>Alex Brown said, &#8220;Given Microsoft&#8217;s proven ability to tinker with the Office XML file format between service packs, I am hoping that MS Office will shortly be brought into line with the 29500 specification, and will stay that way.&#8221; <br /><a href="http://www.griffinbrown.co.uk/blog/PermaLink,guid,3e2202cd-59a3-4356-8f30-b8eb79735e1a.aspx" rel="nofollow">http://www.griffinbrown.co.uk/blog/PermaLink,guid,3e2202cd-59a3-4356-8f30-b8eb79735e1a.aspx</a></p>
<p>Alex, you may have missed how, about 18 months ago, the same Microsoft Office team made Outlook use Microsoft Word to render HTML emails, despite the fact that this significantly reduced support for HTML standards compared to earlier Outlook versions. They have still not brought it back into line. This is not a hopeful precedent.<br /><a href="http://www.campaignmonitor.com/blog/archives/2007/01/microsoft_takes_email_design_b.html" rel="nofollow">http://www.campaignmonitor.com/blog/archives/2007/01/microsoft_takes_email_design_b.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lucas</title>
		<link>http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1861</link>
		<dc:creator>Lucas</dc:creator>
		<pubDate>Mon, 05 May 2008 22:07:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1861</guid>
		<description>I see a consistent pattern from Microsoft and their supporters of making invalid or unfair comparisons (if not completely bogus claims)  when comparing whatever product they are promoting to the competition.&lt;br/&gt;&lt;br/&gt;Take Microsoft Windows Server product vs. LINUX, for example, as David Williams &lt;a HREF=&quot;http://www.itwire.com/content/view/18046/1141/&quot; REL=&quot;nofollow&quot; rel=&quot;nofollow&quot;&gt;blasted MIcrosof about complete lack of &quot;facts&quot;&lt;/a&gt; in Microsoft&#039;s &lt;a HREF=&quot;http://www.getthefacts.com/&quot; REL=&quot;nofollow&quot; rel=&quot;nofollow&quot;&gt;Get The Facts&lt;/a&gt; webpage about Microsoft Windows Server in comparison to LINUX.&lt;br/&gt;&lt;br/&gt;I&#039;m sad to say -- these tactics are nothing new for Microsoft -- and even more so, for these tactics to be bled into standards-creation process and used to attack an existing standard in  order to promote the standardization of a competing specification.</description>
		<content:encoded><![CDATA[<p>I see a consistent pattern from Microsoft and their supporters of making invalid or unfair comparisons (if not completely bogus claims)  when comparing whatever product they are promoting to the competition.</p>
<p>Take Microsoft Windows Server product vs. LINUX, for example, as David Williams <a HREF="http://www.itwire.com/content/view/18046/1141/" REL="nofollow" rel="nofollow">blasted MIcrosof about complete lack of &#8220;facts&#8221;</a> in Microsoft&#8217;s <a HREF="http://www.getthefacts.com/" REL="nofollow" rel="nofollow">Get The Facts</a> webpage about Microsoft Windows Server in comparison to LINUX.</p>
<p>I&#8217;m sad to say &#8212; these tactics are nothing new for Microsoft &#8212; and even more so, for these tactics to be bled into standards-creation process and used to attack an existing standard in  order to promote the standardization of a competing specification.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob</title>
		<link>http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1857</link>
		<dc:creator>Rob</dc:creator>
		<pubDate>Mon, 05 May 2008 13:15:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1857</guid>
		<description>Nate,&lt;br/&gt;&lt;br/&gt;The difference between validation and conformance is only confused in casual use.  But to an XML expert there is a world of difference. &lt;br/&gt;&lt;br/&gt;So watch XML expert&#039;s worlds carefully. If they something something is &#039;broken&#039; or it doesn&#039;t &#039;comply&#039;, then they are using waffling words that mean nothing firm.  But when they talk about validity and conformity, then they are saying something specific.</description>
		<content:encoded><![CDATA[<p>Nate,</p>
<p>The difference between validation and conformance is only confused in casual use.  But to an XML expert there is a world of difference. </p>
<p>So watch XML expert&#8217;s worlds carefully. If they something something is &#8216;broken&#8217; or it doesn&#8217;t &#8216;comply&#8217;, then they are using waffling words that mean nothing firm.  But when they talk about validity and conformity, then they are saying something specific.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nate</title>
		<link>http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1856</link>
		<dc:creator>Nate</dc:creator>
		<pubDate>Mon, 05 May 2008 12:58:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1856</guid>
		<description>&lt;i&gt;One does not validate against the specification. One validates against a schema.&lt;/i&gt;&lt;br/&gt;&lt;br/&gt;Rob, it&#039;s probably fair to describe &quot;testing conformance&quot; as &quot;validating.&quot;  That seems a reasonable use of language.&lt;br/&gt;&lt;br/&gt;I think it might be more accurate to say &quot;&lt;b&gt;Using a Relax NG tool&lt;/b&gt;, one validates against the schema, not the specification.&quot;  As you correctly identify, there simply is no program to validate against the whole of the specification.  Nor against most specifications, come to think of it.</description>
		<content:encoded><![CDATA[<p><i>One does not validate against the specification. One validates against a schema.</i></p>
<p>Rob, it&#8217;s probably fair to describe &#8220;testing conformance&#8221; as &#8220;validating.&#8221;  That seems a reasonable use of language.</p>
<p>I think it might be more accurate to say &#8220;<b>Using a Relax NG tool</b>, one validates against the schema, not the specification.&#8221;  As you correctly identify, there simply is no program to validate against the whole of the specification.  Nor against most specifications, come to think of it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob</title>
		<link>http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1853</link>
		<dc:creator>Rob</dc:creator>
		<pubDate>Sun, 04 May 2008 23:09:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1853</guid>
		<description>Baud, thanks for the quote.  If I respected Mr. Kosek&#039;s opinion, I would be worried.  &lt;br/&gt;&lt;br/&gt;But I do understand where he is coming from, and others as well.  They are eager to once again criticize XML standards.  After spending the past 18 months in a &quot;hear no evil, say no evil&quot; posture, ignoring the defects in OOXML, giving blanket approval to whatever Microsoft wanted, they are  eager to once again use their critical mental faculties and try to reestablish their credibility.&lt;br/&gt;&lt;br/&gt;As for the question &quot;severity of OOXML defects&quot; discovered by me, I suggest we come to that point again in around a week.  I think it will be easier to answer that question in context.</description>
		<content:encoded><![CDATA[<p>Baud, thanks for the quote.  If I respected Mr. Kosek&#8217;s opinion, I would be worried.  </p>
<p>But I do understand where he is coming from, and others as well.  They are eager to once again criticize XML standards.  After spending the past 18 months in a &#8220;hear no evil, say no evil&#8221; posture, ignoring the defects in OOXML, giving blanket approval to whatever Microsoft wanted, they are  eager to once again use their critical mental faculties and try to reestablish their credibility.</p>
<p>As for the question &#8220;severity of OOXML defects&#8221; discovered by me, I suggest we come to that point again in around a week.  I think it will be easier to answer that question in context.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob</title>
		<link>http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1851</link>
		<dc:creator>Rob</dc:creator>
		<pubDate>Sun, 04 May 2008 22:54:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1851</guid>
		<description>OK.  Let&#039;s back up. We need to be precise in our language here. &lt;br/&gt;&lt;br/&gt;I sense some confusing of conformity and validity.  &lt;br/&gt;&lt;br/&gt;Conformity is a statement of the relationship between a document, or an application, and the ODF standard.  If the document or the application meets the requirements stated in the ODF Standard, then it conforms to the ODF Standard.&lt;br/&gt;&lt;br/&gt;Validity is a statement about the relationship between an XML document and an XML schema.  A Relax NG schema expresses patterns that a valid XML document must match.  An XML document is valid if it matches the patterns described by the schema.&lt;br/&gt;&lt;br/&gt;As one reader mentioned, a conformant ODF document must also be valid according to the ODF schema, if the foreign elements and attributes are removed.  &lt;br/&gt;&lt;br/&gt;But I would not say that this is a &quot;minimum&quot; requirement.  More correct would be to say that it is a necessary, but not sufficient requirement.    For example, the requirements for packing the multiple XML file into a ZIP -- this cannot be described in a Relax NG schema, nor can the relationships between style names in styles.xml and the use of those styles in content.xml, nor the hierarchy of styles, nor any of the semantic of behavior requirements of ODF.  So even a minimum, &quot;hello world&quot; ODF document needs more than validity in order to be conformant.&lt;br/&gt;&lt;br/&gt;In terms of ID/IDREF, I&#039;m saying that the cross-reference semantics,  for example, that ID&#039;s are unique, that IDREF&#039;s contain the name of an ID, that these are not validity constraints that the validation model defined in the Relax NG standard checks.  I quoted earlier James Clark on why that is so.&lt;br/&gt;&lt;br/&gt;So, in terms of Relax NG, ID/IDREF consistency is not a validation criterion.  A document, even with duplicate ID&#039;s, or inconsistent use  of ID/IDREF could still be valid to a Relax NG schema.&lt;br/&gt;&lt;br/&gt;However, that doesn&#039;t mean that the ODF standard permits inconsistency in ID/IDREF.  Conformance to ODF, as I said earlier, requires more than validity.  It requires other things, and this includes proper ID/IDREF semantics.  This, like any other conformance constraints beyond the schema, would need to be checked by  application logic.  This is not difficult to do.  In fact I&#039;d expect that all ODF documents out there in fact are consistent in their use of ID/IDREF.  This is a trivial consistency to maintain in an application.&lt;br/&gt;&lt;br/&gt;Back to the question &quot;[C]an we claim that the OASIS wiki instructions are enough to validate an ODF document against its specification?&quot;  I hope you see now how that question misstated.  One does not validate against the specification.  One validates against a schema.  And the instructions given on the wiki are complete.  &lt;br/&gt;&lt;br/&gt;If you want to check conformance of an ODF document against the entire ODF specification, then you would need a custom tool that would check XML validation, check packaging constraints, check referential integrity of links, etc.  Note that ODF makes only scant use of ID/IDREF.  Most of the interesting links in ODF are not expressible using XML ID&#039;s, since they are links from XML to not XML resources (like images) or from one XML file to another.  &lt;br/&gt;&lt;br/&gt;No such tool exists that does a complete conformance test of an ODF document, at least not that I&#039;m aware of.  The ODF Fellowship has an online Validator that does a subset of tests.  That is a good start.</description>
		<content:encoded><![CDATA[<p>OK.  Let&#8217;s back up. We need to be precise in our language here. </p>
<p>I sense some confusing of conformity and validity.  </p>
<p>Conformity is a statement of the relationship between a document, or an application, and the ODF standard.  If the document or the application meets the requirements stated in the ODF Standard, then it conforms to the ODF Standard.</p>
<p>Validity is a statement about the relationship between an XML document and an XML schema.  A Relax NG schema expresses patterns that a valid XML document must match.  An XML document is valid if it matches the patterns described by the schema.</p>
<p>As one reader mentioned, a conformant ODF document must also be valid according to the ODF schema, if the foreign elements and attributes are removed.  </p>
<p>But I would not say that this is a &#8220;minimum&#8221; requirement.  More correct would be to say that it is a necessary, but not sufficient requirement.    For example, the requirements for packing the multiple XML file into a ZIP &#8212; this cannot be described in a Relax NG schema, nor can the relationships between style names in styles.xml and the use of those styles in content.xml, nor the hierarchy of styles, nor any of the semantic of behavior requirements of ODF.  So even a minimum, &#8220;hello world&#8221; ODF document needs more than validity in order to be conformant.</p>
<p>In terms of ID/IDREF, I&#8217;m saying that the cross-reference semantics,  for example, that ID&#8217;s are unique, that IDREF&#8217;s contain the name of an ID, that these are not validity constraints that the validation model defined in the Relax NG standard checks.  I quoted earlier James Clark on why that is so.</p>
<p>So, in terms of Relax NG, ID/IDREF consistency is not a validation criterion.  A document, even with duplicate ID&#8217;s, or inconsistent use  of ID/IDREF could still be valid to a Relax NG schema.</p>
<p>However, that doesn&#8217;t mean that the ODF standard permits inconsistency in ID/IDREF.  Conformance to ODF, as I said earlier, requires more than validity.  It requires other things, and this includes proper ID/IDREF semantics.  This, like any other conformance constraints beyond the schema, would need to be checked by  application logic.  This is not difficult to do.  In fact I&#8217;d expect that all ODF documents out there in fact are consistent in their use of ID/IDREF.  This is a trivial consistency to maintain in an application.</p>
<p>Back to the question &#8220;[C]an we claim that the OASIS wiki instructions are enough to validate an ODF document against its specification?&#8221;  I hope you see now how that question misstated.  One does not validate against the specification.  One validates against a schema.  And the instructions given on the wiki are complete.  </p>
<p>If you want to check conformance of an ODF document against the entire ODF specification, then you would need a custom tool that would check XML validation, check packaging constraints, check referential integrity of links, etc.  Note that ODF makes only scant use of ID/IDREF.  Most of the interesting links in ODF are not expressible using XML ID&#8217;s, since they are links from XML to not XML resources (like images) or from one XML file to another.  </p>
<p>No such tool exists that does a complete conformance test of an ODF document, at least not that I&#8217;m aware of.  The ODF Fellowship has an online Validator that does a subset of tests.  That is a good start.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Baud</title>
		<link>http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1850</link>
		<dc:creator>Baud</dc:creator>
		<pubDate>Sun, 04 May 2008 22:51:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1850</guid>
		<description>Rob may find interesting the &lt;a HREF=&quot;http://www.haloscan.com/comments/xmlguru/2008_03_proc-bude-cesky-hlas-pro-ooxml-ano/#61009&quot; REL=&quot;nofollow&quot; rel=&quot;nofollow&quot;&gt;following words&lt;/a&gt; of Mr. Kosek: &quot;&lt;i&gt;Moreover, Mr. Weir is a master of manipulation, has offended several ISO member states and the severity of OOXML defects discovered by him is quite disputable.&lt;/i&gt;&quot;</description>
		<content:encoded><![CDATA[<p>Rob may find interesting the <a HREF="http://www.haloscan.com/comments/xmlguru/2008_03_proc-bude-cesky-hlas-pro-ooxml-ano/#61009" REL="nofollow" rel="nofollow">following words</a> of Mr. Kosek: &#8220;<i>Moreover, Mr. Weir is a master of manipulation, has offended several ISO member states and the severity of OOXML defects discovered by him is quite disputable.</i>&#8220;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1849</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Sun, 04 May 2008 21:56:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1849</guid>
		<description>You state the: &quot;The schema is not a complete statement of ODF conformance.&quot;&lt;br/&gt;&lt;br/&gt;The ODF specification states:&lt;br/&gt;&quot;Conforming applications...shall write documents that are valid against the OpenDocument schema if all foreign elements and attributes are removed before validation takes place&quot;&lt;br/&gt;&lt;br/&gt;So schema validation is actualy a minimum requirement for conforming ODF writing applications.</description>
		<content:encoded><![CDATA[<p>You state the: &#8220;The schema is not a complete statement of ODF conformance.&#8221;</p>
<p>The ODF specification states:<br />&#8220;Conforming applications&#8230;shall write documents that are valid against the OpenDocument schema if all foreign elements and attributes are removed before validation takes place&#8221;</p>
<p>So schema validation is actualy a minimum requirement for conforming ODF writing applications.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1848</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Sun, 04 May 2008 21:39:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1848</guid>
		<description>Hi Rob. I must confess I&#039;m a little confused... &lt;br/&gt;&lt;br/&gt;&quot;That in no way means that the constraints defined in XML 1.0 are not required on ODF document instances. It simply indicates that you would need to verify these constraints using means other than Relax NG DTD Compatibility.&quot;&lt;br/&gt;&lt;br/&gt;I hope it makes sense to make these questions:&lt;br/&gt;* how could one verify these constraints? &lt;br/&gt;* without verifying them, can we claim that the OASIS wiki instructions are enough to validate an ODF document against its specification?&lt;br/&gt;&lt;br/&gt;Keep up the good work. I must say that I&#039;m deeply disappointed with Alex.</description>
		<content:encoded><![CDATA[<p>Hi Rob. I must confess I&#8217;m a little confused&#8230; </p>
<p>&#8220;That in no way means that the constraints defined in XML 1.0 are not required on ODF document instances. It simply indicates that you would need to verify these constraints using means other than Relax NG DTD Compatibility.&#8221;</p>
<p>I hope it makes sense to make these questions:<br />* how could one verify these constraints? <br />* without verifying them, can we claim that the OASIS wiki instructions are enough to validate an ODF document against its specification?</p>
<p>Keep up the good work. I must say that I&#8217;m deeply disappointed with Alex.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob</title>
		<link>http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1847</link>
		<dc:creator>Rob</dc:creator>
		<pubDate>Sun, 04 May 2008 19:10:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1847</guid>
		<description>Jirka, this is not my interpretation.  I&#039;m quoting James Clark here.  Is there a part of what he says that is unclear?&lt;br/&gt;&lt;br/&gt;In any case, the fact that jing does not check the syntax constraints on ID&#039;s when using the -i flag to disable the DTD Compatibility mode, this clearly a limitation of jing.  But there is nothing in principle that would prevent a Relax NG validator from checking these lexical constraints in default processing.  But jing doesn&#039;t do that. &lt;br/&gt;&lt;br/&gt;The thing that is tripping you and Alex up seems to be the fact that the ODF schema will pass some uses of ID&#039;s that are not allowed by XML.  So what?  The schema is not a complete statement of ODF conformance.  We have attribute values that are typed string that could probably be more strictly typed with a regex.  We have other attribute values typed integer that could more strictly be limited in range.  So what?  If the text of the ODF standard is clear that there are additional value space constraints on these attributes, then conformity fully requires these constraints.  &lt;br/&gt;&lt;br/&gt;Similarly, just because the schema doesn&#039;t allow you to check the cross-reference semantics of ID/IDREF doesn&#039;t mean the constraints don&#039;t exist.  It just means you need to test them in other ways.  But it certainly doesn&#039;t mean, as some have suggested, that the ODF schema is invalid.  That is preposterous.</description>
		<content:encoded><![CDATA[<p>Jirka, this is not my interpretation.  I&#8217;m quoting James Clark here.  Is there a part of what he says that is unclear?</p>
<p>In any case, the fact that jing does not check the syntax constraints on ID&#8217;s when using the -i flag to disable the DTD Compatibility mode, this clearly a limitation of jing.  But there is nothing in principle that would prevent a Relax NG validator from checking these lexical constraints in default processing.  But jing doesn&#8217;t do that. </p>
<p>The thing that is tripping you and Alex up seems to be the fact that the ODF schema will pass some uses of ID&#8217;s that are not allowed by XML.  So what?  The schema is not a complete statement of ODF conformance.  We have attribute values that are typed string that could probably be more strictly typed with a regex.  We have other attribute values typed integer that could more strictly be limited in range.  So what?  If the text of the ODF standard is clear that there are additional value space constraints on these attributes, then conformity fully requires these constraints.  </p>
<p>Similarly, just because the schema doesn&#8217;t allow you to check the cross-reference semantics of ID/IDREF doesn&#8217;t mean the constraints don&#8217;t exist.  It just means you need to test them in other ways.  But it certainly doesn&#8217;t mean, as some have suggested, that the ODF schema is invalid.  That is preposterous.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jirka Kosek</title>
		<link>http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1846</link>
		<dc:creator>Jirka Kosek</dc:creator>
		<pubDate>Sun, 04 May 2008 18:37:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1846</guid>
		<description>&lt;i&gt;&quot;The semantics defined by [W3C XML Schema Datatypes] for the ID, IDREF and IDREFS datatypes are purely lexical and do not include the cross-reference semantics of the corresponding [XML 1.0] datatypes.&lt;/i&gt;&lt;br/&gt;&lt;br/&gt;I think that you are misinterpreting ID/IDREF story in RELAX NG. But anyway, if this check should be done only in lexical space as you describe, schema is wrong. In RELAX NG schemas can be ambiguous and current ODF 1.0 schema allows validation of ID attributes against correct ID type or against text pattern. As each attribute value is valid against text pattern, even lexical tests for ID types will not be effectively performed and documents with wrong values in ID attributes will pass validation.</description>
		<content:encoded><![CDATA[<p><i>&#8220;The semantics defined by [W3C XML Schema Datatypes] for the ID, IDREF and IDREFS datatypes are purely lexical and do not include the cross-reference semantics of the corresponding [XML 1.0] datatypes.</i></p>
<p>I think that you are misinterpreting ID/IDREF story in RELAX NG. But anyway, if this check should be done only in lexical space as you describe, schema is wrong. In RELAX NG schemas can be ambiguous and current ODF 1.0 schema allows validation of ID attributes against correct ID type or against text pattern. As each attribute value is valid against text pattern, even lexical tests for ID types will not be effectively performed and documents with wrong values in ID attributes will pass validation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob</title>
		<link>http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1845</link>
		<dc:creator>Rob</dc:creator>
		<pubDate>Sun, 04 May 2008 14:04:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1845</guid>
		<description>Actually, if you check the version of the ODF 1.0 submitted to JTC1, you&#039;ll see that we referred to OASIS Relax NG.  We changed our reference to the ISO version only at the request of the UK NB, who made this request in their ballot comments when ODF was balloted in JTC1 back in 2006.&lt;br/&gt;&lt;br/&gt;As for which version of ODF I prefer, I&#039;d say I prefer the latest and greatest.  Remember, OASIS ODF 1.1 has all the yummy goodness of ISO-approved ODF 1.0, plus some accessibility enhancements.  What&#039;s not to love?  But in the end, it is up to each vendor to decide for themselves what to support, and for each user to make their needs and wants known to their vendor.</description>
		<content:encoded><![CDATA[<p>Actually, if you check the version of the ODF 1.0 submitted to JTC1, you&#8217;ll see that we referred to OASIS Relax NG.  We changed our reference to the ISO version only at the request of the UK NB, who made this request in their ballot comments when ODF was balloted in JTC1 back in 2006.</p>
<p>As for which version of ODF I prefer, I&#8217;d say I prefer the latest and greatest.  Remember, OASIS ODF 1.1 has all the yummy goodness of ISO-approved ODF 1.0, plus some accessibility enhancements.  What&#8217;s not to love?  But in the end, it is up to each vendor to decide for themselves what to support, and for each user to make their needs and wants known to their vendor.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: hAl</title>
		<link>http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1844</link>
		<dc:creator>hAl</dc:creator>
		<pubDate>Sun, 04 May 2008 09:31:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1844</guid>
		<description>Why would for RelaxNG you prefer the ISO version over an OASIS version, of which a part (DTD compatibility) was not submitted to ISO?&lt;br/&gt;Why would on the other hand for the ODF format an OASIS only verion be your choice rather than the version that was  submitted to ISO?</description>
		<content:encoded><![CDATA[<p>Why would for RelaxNG you prefer the ISO version over an OASIS version, of which a part (DTD compatibility) was not submitted to ISO?<br />Why would on the other hand for the ODF format an OASIS only verion be your choice rather than the version that was  submitted to ISO?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob</title>
		<link>http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1843</link>
		<dc:creator>Rob</dc:creator>
		<pubDate>Sat, 03 May 2008 23:04:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/2008/05/odf-validation-for-dummies.html#comment-1843</guid>
		<description>Jirka&lt;br/&gt;&lt;br/&gt;I do not see this as mental gymnastics.  I am simply trying to explain a complex topic in a way that is rigorous as well as readable.  I am sorry if you find this difficult.  &lt;br/&gt;&lt;br/&gt;In any case, you will not find any mention of ID/IDREF in the Relax NG specification.  It is not an Relax NG concept.  Some good background reading on the topic is James Clark&#039;s 2001 &lt;a HREF=&quot;http://relaxng.org/xsd-20010907.html&quot; REL=&quot;nofollow&quot; rel=&quot;nofollow&quot;&gt;&quot;Guidelines for using W3C XML Schema Datatypes with RELAX NG&quot;&lt;/a&gt; which says in part:&lt;br/&gt;&lt;br/&gt;&quot;The semantics defined by [W3C XML Schema Datatypes] for the ID, IDREF and IDREFS datatypes are purely lexical and do not include the cross-reference semantics of the corresponding [XML 1.0] datatypes. The cross-reference semantics of these datatypes in XML Schema comes from XML Schema Part 1. Furthermore, the [XML 1.0] cross-reference semantics of these datatypes do not fit into the RELAX NG model of what a datatype is. Therefore, RELAX NG validation will only validate the lexical aspects of these datatypes as defined in [W3C XML Schema Datatypes].&quot;&lt;br/&gt;&lt;br/&gt;You (and Alex) are conflating two different questions:&lt;br/&gt;&lt;br/&gt;1) Are the ID/IDREF/IDREFS semantics of XML 1.0 applicable to ODF 1.0 document instances?  &lt;br/&gt;&lt;br/&gt;The answer is yes.  Since ODF is XML, I would expect it to obey the syntax and semantics of the XML 1.0 (third edition) Recommendation, unlike, say, OOXML, which &lt;a HREF=&quot;http://www.robweir.com/blog/2008/03/ooxmls-out-of-control-characters.html&quot; REL=&quot;nofollow&quot; rel=&quot;nofollow&quot;&gt;corrupts strings with illegal control characters.&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;2) Is the Relax NG schema that is included in ODF 1.0 written in such a way that will allow checking of these constraints using non-standard extensions to the Relax NG processing model, like Relax NG DTD Compatbility?&lt;br/&gt;&lt;br/&gt;Empirically, the answer is no.  But there is nothing in the ODF 1.0 standard that suggests otherwise.  It isn&#039;t required for XML conformance and it isn&#039;t required for Relax NG conformance.&lt;br/&gt;&lt;br/&gt;As I said in the post, I&#039;m entirely in favor of changing this if it helps with XML tools like jing, so they can run in their default mode,  thereby saving users the horrible time and expense of adding the -i flag to disable the non-standard Relax NG DTD Compatibility processing.  &lt;br/&gt;&lt;br/&gt;But the main purpose of my post is to respond to Alex&#039;s rant that &quot;There are no XML documents in existence which are valid to ISO ODF&quot; and &quot;The standard itself has a defect which prevents any document claiming validity from being actually valid&quot;.  I believe I&#039;ve put that to rest.  In the end, Alex&#039;s post had a reasonable enhancement proposal, prefaced by a bunch of indefensible tripe.</description>
		<content:encoded><![CDATA[<p>Jirka</p>
<p>I do not see this as mental gymnastics.  I am simply trying to explain a complex topic in a way that is rigorous as well as readable.  I am sorry if you find this difficult.  </p>
<p>In any case, you will not find any mention of ID/IDREF in the Relax NG specification.  It is not an Relax NG concept.  Some good background reading on the topic is James Clark&#8217;s 2001 <a HREF="http://relaxng.org/xsd-20010907.html" REL="nofollow" rel="nofollow">&#8220;Guidelines for using W3C XML Schema Datatypes with RELAX NG&#8221;</a> which says in part:</p>
<p>&#8220;The semantics defined by [W3C XML Schema Datatypes] for the ID, IDREF and IDREFS datatypes are purely lexical and do not include the cross-reference semantics of the corresponding [XML 1.0] datatypes. The cross-reference semantics of these datatypes in XML Schema comes from XML Schema Part 1. Furthermore, the [XML 1.0] cross-reference semantics of these datatypes do not fit into the RELAX NG model of what a datatype is. Therefore, RELAX NG validation will only validate the lexical aspects of these datatypes as defined in [W3C XML Schema Datatypes].&#8221;</p>
<p>You (and Alex) are conflating two different questions:</p>
<p>1) Are the ID/IDREF/IDREFS semantics of XML 1.0 applicable to ODF 1.0 document instances?  </p>
<p>The answer is yes.  Since ODF is XML, I would expect it to obey the syntax and semantics of the XML 1.0 (third edition) Recommendation, unlike, say, OOXML, which <a HREF="http://www.robweir.com/blog/2008/03/ooxmls-out-of-control-characters.html" REL="nofollow" rel="nofollow">corrupts strings with illegal control characters.</a></p>
<p>2) Is the Relax NG schema that is included in ODF 1.0 written in such a way that will allow checking of these constraints using non-standard extensions to the Relax NG processing model, like Relax NG DTD Compatbility?</p>
<p>Empirically, the answer is no.  But there is nothing in the ODF 1.0 standard that suggests otherwise.  It isn&#8217;t required for XML conformance and it isn&#8217;t required for Relax NG conformance.</p>
<p>As I said in the post, I&#8217;m entirely in favor of changing this if it helps with XML tools like jing, so they can run in their default mode,  thereby saving users the horrible time and expense of adding the -i flag to disable the non-standard Relax NG DTD Compatibility processing.  </p>
<p>But the main purpose of my post is to respond to Alex&#8217;s rant that &#8220;There are no XML documents in existence which are valid to ISO ODF&#8221; and &#8220;The standard itself has a defect which prevents any document claiming validity from being actually valid&#8221;.  I believe I&#8217;ve put that to rest.  In the end, Alex&#8217;s post had a reasonable enhancement proposal, prefaced by a bunch of indefensible tripe.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.549 seconds -->
