xsl-list
[Top] [All Lists]

[xsl] Conditional in-context nodeset variables

2008-01-03 08:31:59
have problem

for example (as input any valid XHTML)
and context is first h1 node


        <xsl:variable name="level1" select="following-sibling::h1[1]"/>
        <xsl:variable name="level2" select="following-sibling::h2[1]"/>

        <xsl:variable name="next-stop">
            <xsl:choose>
                <xsl:when test="not($level1 and $level2)">
                    <xsl:sequence select="following-sibling::*[last()]"/>
                </xsl:when>
                <xsl:when test="$level1 &lt;&lt; $level2">
                    <xsl:sequence select="$level1"/>
                </xsl:when>
                <xsl:otherwise>
                    <xsl:sequence select="$level2"/>
                </xsl:otherwise>
            </xsl:choose>
        </xsl:variable>

<xsl:apply-templates select="following-sibling::*[. &lt;&lt $next-stop]"/>

$level1 and $leve2 contain links to live in-context node
but variable $next-stop contain copy (not reference to node) of level1
or level2 variable
and even following-sibling::*[last()] provide just copy instead of
in-context nodeset
so << not work as expected :(

regards,
Slav

--~------------------------------------------------------------------
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>
--~--