Subject: n squared behavior with XT for 'preceding' tests? From: "Wilson, James.W" <James.W.Wilson@xxxxxxxxxxxxx> Date: Wed, 21 Jul 1999 10:38:20 -0500 |
hi all, we have what is probably a pretty common problem: we have a series of elements in our input which may repeat a heading, or may be different than the preceding instance, like so... <hd>some heading</hd> ... <hd>some heading</hd> ... <hd>some OTHER heading</hd> ... we are checking for the 'change points' like this: <xsl:template match="HD"> <!-- Check to see if the text of the HD matches the previous HD's text --> <xsl:choose> <xsl:when test="not(text()=from-preceding-siblings(HD[position()=1])/text())"> <NEWDOC><xsl:copy> <xsl:apply-templates/> <!-- Output the tag's attributes and its contents --> </xsl:copy></NEWDOC> </xsl:when> <xsl:otherwise> <xsl:copy><xsl:apply-templates/></xsl:copy> </xsl:otherwise> </xsl:choose> </xsl:template> now, this works fine (with XT) for small documents, but what we find is that, as documents get larger, this template works more and more slowly, in proportion to how far we've progressed through the document. Since our input file is pretty large (10 megs) this n squared behavior eventually brings the process to its knees. We could split up the input, but of course would like to do it all in XSL if there's a Right Way To Do It. Any ideas from the gurus? James Wilson XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: Multiple Result Trees, Kay Michael | Thread | Re: n squared behavior with XT for , David Carlisle |
Re: Embedding HTML tags into XML, Michael Mason | Date | XML only Search engine (announcemen, Duane Nickull |
Month |