"David" == David Carlisle <davidc(_at_)nag(_dot_)co(_dot_)uk> 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: http://www.mulberrytech.com/xsl/xsl-list