- From: <bugzilla@wiggum.w3.org>
- Date: Thu, 05 Mar 2009 16:46:37 +0000
- To: public-qt-comments@w3.org
http://www.w3.org/Bugs/Public/show_bug.cgi?id=6226 C. M. Sperberg-McQueen <cmsmcq@blackmesatech.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |cmsmcq@blackmesatech.com --- Comment #2 from C. M. Sperberg-McQueen <cmsmcq@blackmesatech.com> 2009-03-05 16:46:37 --- [Speaking only for myself] I'm finding this a difficult design issue. Pro: 1) It would indeed reduce the need for xsl:use-when, when writing stylesheets that should exploit schema-awareness when present but carry on regardless when invoked with a non-schema-aware processor. Other things being equal, that's a good thing. And there is a sense in which the keyword "lax" is intended, precisely, to express the desire that schema information should be used if present, but that its absence should not cause an error (or an invalidity). This case is slightly different from the case of lax wildcards (schema information vs. schema awareness), but there does seem to be an analogy. 2) If we imagine a schema-aware processor that loaded no schema documents and worked from an empty schema, it feels reasonable to expect that in validating documents it would behave like a schema-oblivious processor. Con: 3) No schema-aware processor ever works with an empty schema: the built-ins are always present (that's what it means to be built-ins). So a schema-aware processor is never oblivious to invalid instances of integer, or QName, or any of the other built-ins. 4) So (as noted in comment #1) following the suggestion made here would lead to incompatible behavior between schema-aware and -oblivious processors. Against argument 4: 5) If the suggestion made in this bug report is NOT adopted, the implicit advice is to use use-when to get the desired result. If the stylesheet author follows this advice, the stylesheet will have: <thing xsl:use-when="system-property('xsl:is-schema-aware')='yes' xsl:validation="lax" xsi:type="xs:integer" >93.7</thing> <thing xsl:use-when="system-property('xsl:is-schema-aware')='no' >93.7</thing> Here we still have the phenomenon that the schema-aware processor throws an error, and the other processor doesn't. And we have the further discrepancy that one of them emits an xsi:type attribute and the other doesn't. Is this an improvement? Possible compromise: Require basic processors to throw the error in question when and only when xsi:type (etc.) name one of the XSD built-ins? Or anything at all in the XSD namespace? I'm not sure about this; it might feel simpler just to do as suggested in comment 0. -- Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug.
Received on Thursday, 5 March 2009 16:46:46 UTC