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