[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: A question on optimization
Hi Jochen,
<xsl:for-each select="//justus:choice"> <xsl:element name="TR"> <xsl:variable name="current" select="."/> <xsl:for-each select="//justus:part[@visible='true']"> <xsl:variable name="dbfeld" select="."/> <xsl:element name="td"> <xsl:for-each select="$current/@*[name()=$dbfeld/@dbfeld]"> <xsl:value-of select="."/> </xsl:for-each> </xsl:element> </xsl:for-each> </xsl:element> </xsl:for-each> ... <xsl:for-each select="//justus:choice"> <xsl:element name="tr"> <xsl:element name="td"><xsl:value-of select="a1"/></xsl:element> <xsl:element name="td"><xsl:value-of select="a2"/></xsl:element> ... </xsl:element> </xsl:for-each> David is right. Using // is rather expensive in terms of performance. Use full paths as David suggests, or try using keys if the choice and part elements may occur in unpredictable locations: <xsl:key name="choices" match="justus:choice" use="'all'" /> <xsl:key name="parts" match="justus:part" use="'all'" /> <xsl:for-each select="key('choices', 'all')"> and <xsl:for-each select="key('parts', 'all')[@visible='true']"> Grtz, Geert
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|