This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Conformance. SAXON & XT.
- To: xsl-list at mulberrytech dot com
- Subject: Conformance. SAXON & XT.
- From: Paul Tchistopolskii <paul at qub dot com>
- Date: Sun, 22 Oct 2000 11:34:14 -0700
- Organization: The Qub Group
- Reply-To: xsl-list at mulberrytech dot com
Hi Sebastian.
Remember long time ago you've asked me a question : "does
chaining solution require 'node-set' extension" ?
My answer was: "Yes".
I was wrong. This is not true for SAXON. ( And maybe
it was not true for MS until they've cut their hand for
the sake of conformance). Yes, this is about RTF / node-set
again.
Below comes the stylesheet which illustrates generic 'pipe'
of 2 transformations.
This stylesheet works with SAXON, but XT says:
"Can not convert to node-set".
To make it work with XT, one line should be
changed to:
<xsl:apply-templates select="xt:node-set($trans1)/TRANS1"/>
Something tells me that even XT is 'weaker' with this stylesheet,
XT is 'more conformant to current W3C papers'.
If this is correct, this means that yet another XSLT engine
( SAXON ) should cut the hand for the sake of 'conformance'
In this case 'conformance' means supporting mythical self-limitation
produced by W3C WG for no reason.
This also means that every time people use xsl:variable
with SAXON, there is some probability their stylesheets
are not portable to some other XSLT engines ( even SAXON
is known to be "100% conformant" ;-).
This is fine with me, because I anyway use saxon:evaluate
( I don't believe into "portable XSLT stylesheets" ) -
but this could be not OK for 'conformance purists' ( like you,
Sebastian ;-)
1. Who is "more conformant" XT or SAXON ?
2. Even if SAXON is not conformant to *current* spec,
should SAXON kill it's current functionality
( hidden RTF->nodeset typecast )?
I think: 1 - "yes". 2 - "no".
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xt="http://www.jclark.com/xt"
version="1.0">
<xsl:template match="/">
<xsl:variable name="trans1">
<TRANS1> <xsl:copy-of select="."/></TRANS1>
</xsl:variable>
<xsl:apply-templates select="$trans1/TRANS1"/>
</xsl:template>
<xsl:template match="TRANS1">
<SECOND> <xsl:copy-of select="."/> </SECOND>
</xsl:template>
</xsl:stylesheet>
Rgds.Paul.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list