xsl-list
[Top] [All Lists]

Re: [xsl] <xsl:sort> discarting all content

2010-03-10 07:11:00
Hi Markus,

When you use XSLT 2.0 and you re-process the temporary result document
(aka micro-pipelining), the change in order of the nodes may change the
applicability of your matching templates. If you use XSLT 1.0 (which I
assume considering you mention the default of Java 6), you may have done
micro-pipelining using the node-set() extension of your processor, in
which case the same issue may apply.

In the same line of thought: using macro-pipelining or other kinds of
post-processing that depend on the order of the nodes, you can see
similar behavior.

Like MK: to help you further, we'll need a minimal example of input XML,
XSLT file and (current, wrong) output XML, if any and the version of the
processor you use, that illustrates your issue.

Kind regards,
Abel Braaksma



Markus Karg wrote:
Dear XSL Professionals,

We have this rather simple XSL snippet which is working perfectly:

<xsl:for-each select="$v">
    <xsl:message><xsl:value-of select="@a"/></xsl:message>
</xsl:for-each>

But when we are adding ANY sorting (independent of the content of it's select 
attribute, and even if we do not provide a select attribute at all) the is no 
output anymore -- the loop is just not executed anymore!

<xsl:for-each select="$v">
    <xsl:sort select="@x" />
    <xsl:message><xsl:value-of select="@a"/></xsl:message>
</xsl:for-each>

We have no clue why there is output anymore. What we know is that it is not related 
to <xsl:message> as it also happens if we are trying to output to the normal 
result stream. Transformer used is the one that is defaulted in Java 6.



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--