|
Subject: Re: [xsl] which is faster? From: David Carlisle <davidc@xxxxxxxxx> Date: Fri, 4 Feb 2005 12:26:16 GMT |
<xsl:for-each select = //embededMalware/malwareFamily">
<xsl:if test ="document('/global/malwareFamilies.xml')/malwareFamilies/malwareFamily[@id
= current()/@id]">
<xsl:call-template name="displayPrevalenceReport">
<xsl:with-param name="malwareFamilyId" select="@id"/>
<xsl:with-param name="items" select="5"/>
<xsl:with-param name="method" select="'lite'"/>
</xsl:call-template>
</xsl:if>
</xsl:for-each>
the problem seems to lay within my use of current()/@id in the predictate
and/or @id as the malwareFamilyId parameter.
If instead, I store the @id attribute in a variable, and then use that
variable throuought the for-each loop it all works ok. Why is this? Surely
the context hasn't changed along the way has it? Looking at that, to me it
looks as if
document('/global/malwareFamilies.xml')/malwareFamilies/malwareFamily is
the current contxt throughought the for-each loop,
No the current node for each iteration of the for-each is a
malwareFamily element from the current document.
document('/global/malwareFamilies.xml')/malwareFamilies/malwareFamily
is the current node only within the [] at the end of your test
expression.
so where you have
[@id = current()/@id]
@id referes to the id of an element in malwareFamilies.xml and
current()/@id refers to the id element of the malwareFamily element in
the current document that you are for-eaching over.
It is equivalent to
<xsl:for-each select = //embededMalware/malwareFamily">
<xsl:varaiable name="thisid" select="@id"/>
<xsl:if test ="document('/global/malwareFamilies.xml')/malwareFamilies/malwareFamily[@id
= $thisid]">
You said that you used a variable to make things work but you didn't say
where.
David
________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] which is faster?, tom . kirkpatrick | Thread | Re: [xsl] which is faster?, tom . kirkpatrick |
| Re: [xsl] which is faster?, David Carlisle | Date | Re: [xsl] which is faster?, tom . kirkpatrick |
| Month |