> At 4:46 PM -0600 4/29/02, Uche Ogbuji wrote:
> >> You can XInclude anywhere you want to. You just can't do it as part
> >> of an XSLT transformation.
> >
> >So you claim, but you still haven't been able to back this assertion
> >up with concrete citations, or even compelling examples.
> >
>
> OK. Here's a concrete citation:
>
> A transformation expressed in XSLT describes rules for transforming a
> source tree into a result tree. The transformation is achieved by
> associating patterns with templates. A pattern is matched against
> elements in the source tree. A template is instantiated to create
> part of the result tree. The result tree is separate from the source
> tree. The structure of the result tree can be completely different
> from the structure of the source tree. In constructing the result
> tree, elements from the source tree can be filtered and reordered,
> and arbitrary structure can be added.
>
> Source: http://www.w3.org/TR/xslt#section-Introduction
>
> From XPath 1.0 which XSLT 1.0 normatively references
> http://www.w3.org/TR/xpath#data-model we discover,
>
> XPath operates on an XML document as a tree. This section describes
> how XPath models an XML document as a tree. This model is conceptual
> only and does not mandate any particular implementation.
>
> And finally from XML 1.0, 2nd edition, we find:
>
> A data object is an XML document if it is well-formed, as defined in
> this specification.
>
> I could copy and paste the rest of the relevant specs, but you get
> the idea. There's a clear path from the character representation of
> the XML document to the source tree on which XSLT operates. There's
> no wiggle-room for performing other processes on the document before
> XSLT gets ahold of it. XSLT/XPath/XML state quite clearly how the
> input document is to be represented and modeled and how the
> transformation is applied. At no point is there any room for saying
> "Gee, let's throw away some elements from the input tree and replace
> them with others before we do the transformation."
You are kidding me, right?
Well, I'm glad you finally posted the basis on which you insist that an XSLT processor cannot invoke XInclude processing. At least I'm a tad bit less baffled now.
From my point of view, you don't even have an argument, let alone a good one. It seems that you think that because XSLT mentions XPath and that XPath mentions XML 1.0 that this somehow translates into "An XSLT processor may not perform any operations that are not explicitly specified in XSLT 1.0, XPath 1.0 and XML 1.0 recommendations". I think this is silly. By your reasoning, for instance, an XSLT processor would not be able to use xml:base to affect the resolution of relative xsl:import and xsl:include instructions, document(), etc.
So let me ask you: do you say that XML Base is also forbidden in XSLT processing?
--
Uche Ogbuji Principal Consultant
+1 720 320 2046
Fourthought, Inc. http://Fourthought.com
4735 East Walnut St, Boulder, CO 80301-2537, USA
XML strategy, XML tools (http://4Suite.org), knowledge management