xsl-list
[Top] [All Lists]

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

2004-10-23 05:59:53
Hi Dimtre,

On Fri, 22 Oct 2004 15:38:14 +0100, Michael Kay 
<mike(_at_)saxonica(_dot_)com> wrote:
Actually, a valid XSLT 2.0 stylesheet that specifies version="2.0" is a
valid XSLT 1.0 stylesheet, because of forwards-compatibility mode.

But isn't validation of an XSLT 2.0 stylesheet with a schema for
XSLT 1.0 going to generally fail (e.g. if xsl:function is used)?

Mike's point is that it *shouldn't* fail, if the schema takes into
account the forward-compatibility mechanisms in XSLT 1.0, which say
that any element in the XSLT namespace is legal if the in-scope
version is more than 1.0.

Also, if an XSLT 1.0 stylesheet contains an xsl:function element
will this not be accepted as valid if the schema for XSLT 2.0 is
used?

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.

Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/