xsl-list
[Top] [All Lists]

Re: [xsl] XPath problem with getting all ancestors

2009-10-23 08:13:56
Jostein Austvik Jacobsen wrote:

        <xsl:template match="article">
                <xsl:variable name="v1">
                        <xsl:copy-of select="content/node()"/>
                </xsl:variable>

So v1 now is a temporary document containg a deep copy of the child nodes of the content element(s). With your sample document the contents is then

                       <para>
                               <note id="1">text</note>
                       </para>


        <xsl:template match="note">
                The note at /article/content/para/note reads:
                ancestors="<xsl:value-of select="count(ancestor::*)"/>"
                preceding="<xsl:value-of select="count(preceding::*)"/>"
                contentNum="<xsl:value-of select="count(preceding::content)"/>"
                numberTest="<xsl:number level="any" count="content"/>"
        </xsl:template>

and that way the template for 'note' elements outputs

                The note at /article/content/para/note reads:
                ancestors="1"
                preceding="0"
                contentNum="0"
                numberTest=""

So the template is applied to a copy of the original para element.

--

        Martin Honnen
        http://msmvps.com/blogs/martin_honnen/

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