Subject: RE: [xsl] XSL/XPath to generate a list of ancestors? From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Mon, 12 May 2008 17:13:51 +0100 |
> <xsl:template match="*" name="fullNameWorker" mode="fullName"> > <xsl:if test=".!=/"> > <xsl:apply-templates select=".." mode="fullName"/> > <xsl:if test="..!=/">.</xsl:if> > <xsl:value-of select="@name"/> > </xsl:if> > </xsl:template> Never use != to compare node identity. It can be very expensive and it gives the wrong answer. For example if your document is <doc><subdoc> ... </subdoc></doc> then doc and subdoc both compare equal to "/", and if the document is 100Mb in size then you will be comparing some very long strings to prove it. In 2.0, use "is". In 1.0, use generate-id(A)=generate-id(B). Michael Kay http://www.saxonica.com/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XSL/XPath to generate a l, Martin Honnen | Thread | Re: [xsl] XSL/XPath to generate a l, Nathan Potter |
Re: [xsl] XSL/XPath to generate a l, Martin Honnen | Date | Re: [xsl] XSL/XPath to generate a l, Nathan Potter |
Month |