Re: [xsl] Schema-aware processors - W3C schemas only?

Subject: Re: [xsl] Schema-aware processors - W3C schemas only?
From: Colin Paul Adams <colin@xxxxxxxxxxxxxxxxxx>
Date: 28 Feb 2004 19:59:51 +0000
>>>>> "David" == David Carlisle <davidc@xxxxxxxxx> writes:

    >> In XSLT 2.0, are schema aware processors required to recognize
    >> W3C schemas (as opposed to say, RELAX-NG)?

    David> yes and no, a schema aware processor has to be able to take
    David> as input a data model which is annotated with types. The
    David> most obvious way of making such a thing is to validate
    David> using xsd schema and hope your system uses the mapping from
    David> an XSD PSVI to the data model. But data models can be made
    David> from anything: you don't have to use xsd you don't even
    David> have to use xml.  I think it is conforming if a system
    David> accepts some type enhanced relax ng schema instead of or as
    David> well as xsd schemas in the schema imports instruction,
    David> although the typing in Xpath 2 is so heavily slanted
    David> towards xsd types that the type library you layer over
    David> relax ng would have to look a lot like xsd (unfortunately).

    David> Of course, unless _someone_ other than Michael Kay. steps
    David> up and implements XSLT2, there may never be an XSLT2 at
    David> all, I think it would be hard to get out of CR if all but
    David> one XSLT implementor boycots XSLT2 and stays at XSLT1.

Well, I'm having a go myself, and trying to work out whether
implementing a schema-aware processor is on or not. 
This is being written in Eiffel, for the Eiffel community. We don't
have any validating parsers written in Eiffel (the idea is to produce
a pure Eiffel solution - no C code, for reasons I won't go into), but
we will eventually have a RELAX-NG validator (using XML schema part 2
datatypes, that's not a problem, I think).

So my decision which way to go, depends upon what xsl:import-schemas
means. Reading the LWC standard, it seemed to me like it was talking
about W3C schemas, but I wasn't 100% clear.

I think the syntax of xsl:import-schema doesn't leave the option open.

You are asked to import a schema for a given namespace-uri, and then
given a hint where to find the schema.

Now, presumably a transform specified with xsl:import-schema
statements should, if it works on one schema-aware strictly conforming
processor, should work on any other such processor (if there are no
processor specific extensions in use).
But if the first processor processes only W3C schemas, and the second
processor processes only RNG schemas, then I can forsee a problem, if
the location hint only points to schemas of one type or the other.

Colin Paul Adams
Preston Lancashire

 XSL-List info and archive:

Current Thread