Re: [xsl] XSLT 2.0 *and* XSLT 1.0 validation -- how to?

Subject: Re: [xsl] XSLT 2.0 *and* XSLT 1.0 validation -- how to?
From: Dimtre Novatchev <dnovatchev@xxxxxxxxx>
Date: Sun, 24 Oct 2004 08:07:07 +1000
Hi Jeni,

Thanks for the good explanation. 



> You're talking as if there is a single schema for XSLT 1.0 and a
> single schema for XSLT 2.0. The reality is that there are lots of
> schemas that you could use to validate either version (or both
> versions) of the language: schemas in different schema languages, of
> course, but also schemas with different internal designs.
> 
> For example, I could design an XSLT 1.0 schema in W3C XML Schema that
> allowed any element in the XSLT namespace anywhere, but checked that
> those that are defined in XSLT 1.0 followed the XSLT 1.0 rules for
> their content. This would let through some XSLT 1.0 stylesheets that
> weren't legal XSLT 1.0, but it would also let through XSLT 2.0 (and
> beyond) stylesheets.
> 
> Alternatively, I could design an XSLT 1.0 schema in W3C XML Schema
> that only allowed the elements and attributes defined in XSLT 1.0;
> obviously, such a schema would say that XSLT 2.0 stylesheets weren't
> valid.


Yes. 

My question was, could there be a single schema that has both the
rules for XSLT 1.0 and the rules for XSLT 2.0 and that, dependent on
the value of the "version" attribute of an instance behaves exactly as
an XSLT 1.0 schema only or exactly as an XSLT 2.0 schema only.

I can imagine doing this with a pre-processor, which only reads and
analyzes the xsl:stylesheet instruction, then depending on the version
attribute it validates with only one of two schemas. Or, if rules in
the schema can be based on a condition, it will set the condition to
true or false and then validate with a single combined schema passing
to it (e.g. setting this in DOM) the value of this condition.

Can this be done?

Cheers,

Dimitre.

Current Thread