|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Source Reducer
> I have a source xml which is 19MB + I'm running the
> following "source reducer" template against it using the
> MSXML4 parser, however it is slow (has been running well over
> 2 min. now). Any suggestions on how to optimize this source
> reducer template? Also, how does the ancestor match below
> work, what does it do exactly?
>
> <xsl:strip-space elements="*"/>
>
> <xsl:template match="node()|@*">
> <xsl:copy>
> <xsl:apply-templates select="node()|@*"/>
> </xsl:copy>
> </xsl:template>
>
> <xsl:template match="/*/*[position() > 20]"/>
>
> <xsl:template match="*[ancestor::*[3]]"/>
The final no-op template will match any element with 3 ancestors - it
means the result tree will be no more than 3 deep.
To improve performance you need to replace the use of the ancestor axis
with something else... but the only thing that instantly springs to mind
is to use modes eg:
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*" mode="second"/>
</xsl:copy>
</xsl:template>
<xsl:template match="node()|@*" mode="second">
<xsl:copy>
<xsl:apply-templates select="node()|@*" mode="stop"/>
</xsl:copy>
</xsl:template>
<xsl:template match="node()" mode="stop"/>
I'm sure there is a better way...
|
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
|

Cart








