> 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.
> Consider this XML document. Call it
> document A.
>
> <p>
> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="somefile.xml" />
> </p>
>
> Now consider this XSLT stylesheet (Call it stylesheet B):
>
> <?xml version="1.0"?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns:xi="http://www.w3.org/2001/XInclude">
>
> <xsl:template match="xi:include">
> Hey diddle diddle
> the cat and the fiddle
> The cow jumped over the moon
> </xsl:template>
>
> </xsl:stylesheet>
>
> When I apply the above stylesheet to the above XML document, I know
> what I expect. The XSLT specification leaves no room for doubt.
Who says? The XSLT spec does not cover parsing, and it does not prohibit any processing of the "infoset" prior to transformation. These are out of scope of XSLT.
Do you have a precise citation to the contrary?
> The algorithm is deterministic. If a program receives document A and
> applies document B to it, and the output depends on what is in
> somefile.xml, then that program, whatever it may be, is not a
> correctly functioning XSLT 1.0 processor. It may be doing something
> else useful, but it is not doing XSLT.
Again, citation?
> Two years ago I could just teach XML. Now I have to both teach XML
> and disabuse students of a lot of the mistaken preconceptions they
> have about all the supplementary options like XInclude. Tools that
> deliberately mix options like XInclusion or schema processing without
> an explicit user request do not help matters.
Such tools are compliant, and they meet the need of some users. I don't see how they hurt these matters.
--
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