Lists Home |
Date Index |
> > As Mike Kay has mentioned, there has been talk in the working group about
> > supporting a "schema-less" conformance level for XSLT 2.0
> But my reading of those comments is that XSLT will be allowed to use
> documents that don't use a schema. That is nowhere near enough.
> I need to be able to determine what the input tree will be for a given
> document. That means I must be able to turn off schema processing from
> the stylesheet so that I can get the tree as it is, not the schema
> adulterated version. I don't always have access to the document to
> remove schemalocation attributes, and even if I did it wouldn't be
> enough as a schema aware parser is allowed to apply a schema even if one
> is not specified, if it thinks it knows something about teh namespaces
> being used, or any other reason.
> "support for schema" as per the requirements document should mean
> support for functions over schema datatypes (this is a good thing).
> It shouldn't mean the input is no longer XML but rather the shadowy
> PSVI. Assuming that battle's lost and the input will be a PSVI there
> has to be some way of being sure that when you use document() or the
> implied input document, that you are acting on the document as
> specified. In fact given that the schema processor goes to some lengths
> _not_ to change any propoerties in the infoset of the document, but only
> to augment the infoset with new properties, having XSLT receive the PSVI
> as input would be fine so long as by default XPath operated over the
> original infoset and only used the additional schema properties on
How about making an attribute on the stylesheet act as the switch?
<xsl:transform ... xsl:version="2.0" xsl:psvi-aware="no"
I strongly suggest the default should be no, and I think discussion on this list bolsters this.
I would also think such an attribute might put a peace to the XInclude-in-source debate
<xsl:transform ... xsl:version="2.0" xsl:psvi-aware="no" xsl:xinclude-aware="yes"
On this one, I'm neutral on the default.
I suppose this could be done with the list-of-qnames trick:
<xsl:transform ... xsl:version="2.0" xsl:model="psvi xinclude xpipe:process-foo dsdl:process-bar"
If you get the idea. I think I prefer the discrete attributes.
I want to see what folks think around here before making the proposal to the comments list.
Other systems that use XPath would have to come up with their own means of turning off PSVI and these other considerations. Of course this could make complex XPointer even more horrid:
#xmlns(x="http://spam.com") xinclude(/x:spam/x:eggs) psvi-aware(no)
Or some such.
Uche Ogbuji Fourthought, Inc.
http://uche.ogbuji.net http://4Suite.org http://fourthought.com
Track chair, XML/Web Services One (San Jose, Boston): http://www.xmlconference.com/
DAML Reference - http://www.xml.com/pub/a/2002/05/01/damlref.html
The Languages of the Semantic Web - http://www.newarchitectmag.com/documents/s=2453/new1020218556549/index.html
XML, The Model Driven Architecture, and RDF @ XML Europe - http://www.xmleurope.com/2002/kttrack.asp#themodel