xsl-list
[Top] [All Lists]

ancestor-or-self and text nodes

2005-08-11 13:53:05
Hi,

    I have the following testcase :

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
    version="1.0"
        xmlns:exsl-common="http://exslt.org/common";
        extension-element-prefixes="exsl-common">

        <xsl:variable name="rtf">
                <a>
                        <b>
                                <c>some text</c>
                        </b>
                        <d>
                                <e>more text</e>
                        </d>
                </a>
        </xsl:variable>

        <xsl:template match="/">
                <xsl:apply-templates select="exsl-common:node-set($rtf)/*" />
        </xsl:template>

        <xsl:template match="node()[not(ancestor-or-self::b)]">
                <xsl:copy>
                        <xsl:apply-templates select="node()" />
                </xsl:copy>
        </xsl:template>

</xsl:stylesheet>

    This produces the following output :

<?xml version="1.0" encoding="utf-8"?><a>some text<d><e>more text</e></d></a>

    Why is it that "some text" appears in the output? Surely "b" is an
ancestor of the text node "some text"?

Thanks,
Kenneth

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



<Prev in Thread] Current Thread [Next in Thread>