Clemintine
Programmer
Hi there,
I have a largish products file containing nested EXPANSION's and I've been using a xml:variable in a template match of the following form to return the contents of a selected expansion.:
<xsl:variable name="EID" select="string(//ITEMS/@SELECTEDID)"/>
<xsl:template match="EXPANSION[@SELECTEDID=$EID]">
</xsl:template>
Originally, I started off using a template match of
EXPANSION[@EXPANSIONID=//ITEMS/@EID]
but discovered that it was incredibly slow taking 5-10 seconds to render and then I read that using a xsl:variable like this is a good way, and sure enough, as soon as I switched to testing each template against a variable containing the value converted to its string value my whole page rendered without pause.
Recently upgrading to Miscrosoft's non-beta full blown v3.0 parser I was shocked that my pages started returning :
msxml3.dll error '80004005'
Variables may not be used within this expression. EXPANSION[@EXPANSIONID=-->$EID<--]
Hoping it was just something that a patch fixed later I updated to SP2, to find the problem still there and that using a match against //ITEMS/@EID instead, is still just as slow taking 8-10 seconds to render a 80-100k file.
So anyone got any ideas of what the modern day 'working' solution is?
Kind Regards Clemintine.
I have a largish products file containing nested EXPANSION's and I've been using a xml:variable in a template match of the following form to return the contents of a selected expansion.:
<xsl:variable name="EID" select="string(//ITEMS/@SELECTEDID)"/>
<xsl:template match="EXPANSION[@SELECTEDID=$EID]">
</xsl:template>
Originally, I started off using a template match of
EXPANSION[@EXPANSIONID=//ITEMS/@EID]
but discovered that it was incredibly slow taking 5-10 seconds to render and then I read that using a xsl:variable like this is a good way, and sure enough, as soon as I switched to testing each template against a variable containing the value converted to its string value my whole page rendered without pause.
Recently upgrading to Miscrosoft's non-beta full blown v3.0 parser I was shocked that my pages started returning :
msxml3.dll error '80004005'
Variables may not be used within this expression. EXPANSION[@EXPANSIONID=-->$EID<--]
Hoping it was just something that a patch fixed later I updated to SP2, to find the problem still there and that using a match against //ITEMS/@EID instead, is still just as slow taking 8-10 seconds to render a 80-100k file.
So anyone got any ideas of what the modern day 'working' solution is?
Kind Regards Clemintine.