Lists Home |
Date Index |
Elliotte Rusty Harold wrote:
> At 6:58 PM +0100 5/7/02, Michael Kay wrote:
> >The XPath 2.0 data model is based on the PSVI, not on the schema
> >language. It's explicitly an aim that you can generate the PSVI by
> >validation against a DTD, it should also be possible to generate it by
> >validation against other schema languages.
> On an unrelated matter, does XPath 2.0 bother to define how the PSVI
> is actually constructed from a specific XML document or does it allow
> processors to create whatever PSVI they want to whether or not that
> PSVI has any relation to the original XML document at all? For
> instance, is it acceptable for an XSLT2 processor to replace all
> child elements with attributes or convert rectangle elements into
> circle elements? or simply replace the entire input document with the
> Gospel According to Bob?
> Of course, such insane behavior would render a processor useless.
Careful, that;s essentially what an Architectural Forms processor actually
does. I don't agree that the _XSLT_ processor ought do this, but presumably
the "PSVI" is constructed during the parse/validation phase _before_ being
passed onto the XSLT processor, i.e. XSLT 2.0 accepts a PSVI as _input_.
> Let me make a specific proposal here: the XSLT working draft should
> require that:
> 1. When two conformant XML processors are presented with the same XML
> document, whether as a stream, DOM Document, a sequence of SAX
> events, or some other form that can reasonably express a XML
> document; and
> 2. An XSLT stylesheet does not use any features explicitly marked as
> Then, both processors must be able to generate an XML document as a
> sequence of bytes or characters, such that, when the two documents
> are compared according to Canonical XML with comments, the two output
> documents are identical.
Um, while I agree that this might be useful, this isn't how XML 1.0 works
today, I mean, a parser can be validating or not, and may or may not parse
external entities. In particular parsers may or may not fire SAX events for
DTD defaulted attributes (for example).
> The wording clearly needs work, but you get the drift. I want it
> possible to be able to do conformance testing on XXSLT processors
> without any weaseling about source tree construction. I want a clear
> path from genuine XML document to PSVI to source tree.
Other issues: what about:
1) Entity resolvers, catalogs etc., are we still allowed to use them?
2) Are we defining a canonical mapping from a document instance to a
particular XML Scheme -- at the moment xsi:schemaLocation is a _hint_.
I think this is largely not XSLT's problem, and we do understand the issues
involved, but there are many folks who feel that the local environment ought
have a large say in how an XML document is processes, and this includes how
a "PSVI" is constructed.