Re: [xsl] basic processors handling validation lax

Subject: Re: [xsl] basic processors handling validation lax
From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx>
Date: Thu, 13 Nov 2008 16:51:09 +0000
As a potential tweak of the 2.0 spec, or for 2.1....?

2008/11/13 Michael Kay <mike@xxxxxxxxxxxx>:
> It's certainly not allowed at the moment:
>  [ERR XTSE1660]  A basic XSLT processor  must signal a static error if the
> stylesheet includes an [xsl:]type attribute, or an [xsl:]validation or
> default-validation attribute with a value other than strip.
> But it seems a reasonable idea. Raise it on the W3C bugzilla.
> Michael Kay
>> -----Original Message-----
>> From: Andrew Welch [mailto:andrew.j.welch@xxxxxxxxx]
>> Sent: 13 November 2008 15:56
>> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
>> Subject: [xsl] basic processors handling validation lax
>> Would it be wrong for a basic processor to handle (more
>> specifically, not complain about) validation = "lax" ?  This
>> would make it slightly easier to write transforms that run in
>> both basic and schema-aware processors.
>> For example, then you could do:
>> <xsl:import-schema ....
>> use-when="system-property('xsl:is-schema-aware')='yes'"/>
>> <xsl:document validation="lax">  (or collection(.... ?validation=lax)
>> <xsl:result-document validation="lax">
>> ...and run it using a basic processor.  At the moment, the
>> basic processor (Saxon in this case) will state that you need
>> a schema-aware processor to use the validation attribute -
>> but when its set to "lax"
>> it should be fine and just operate as if no schema definition
>> is available.
>> As it stands, you need to double up and use use-when a lot,
>> but I think it should be possible to set everything to lax
>> and just put use-when on the import-schema elements.
>> The benefit would be a simple way of developing/testing with
>> schema-awareness and running without it, or passing around a
>> stylesheet without the need to pass around the schemas with
>> it (both of which depend on the behaviour of the stylesheet
>> not changing on whether the input is typed or not).

Current Thread