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