This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Conformance. SAXON & XT.



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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]