Subject: RE: [xsl] XSL:Copy w/ Processing Optimization Suggestions From: "Conal Tuohy" <conalt@xxxxxxxxxxxxxxx> Date: Thu, 13 Mar 2003 15:20:23 +1300 |
I think the logic of your xsl:if is strange. Your template matches a lot of things, and then sorts and copies them unless they are <part> elements with a @DisplayValue='BM5125'? It looks to me as if your code would sort the Body, Global, and Nav elements as well. Perhaps I'm seeing things :-) >From your desired output it seems you are only interested in changing the contents of the Results element. If so, you should define a template to handle just this, and use an identity transform to handle the rest. <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> <xsl:template match="Results"> <xsl:copy> <xsl:apply-templates select="Part[not(starts-with(@DisplayValue,'BM5125'))]"> <xsl:sort order="ascending" select="@DisplayValue"/> <xsl:apply-templates/> </xsl:copy> </xsl:template> Also NB I used the starts-with() function instead of contains(), since this is bound to be slightly faster. :-) Cheers! Con XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XSL:Copy w/ Processing Op, martin | Thread | RE: [xsl] XSL:Copy w/ Processing Op, Michael Kay |
Re: [xsl] XSL:Copy w/ Processing Op, martin | Date | Re: [xsl] Re: Comparing two xml doc, Mike Brown |
Month |