Re: Omnimark vs. XSL (Saxon) Challenge
Dear experts,I looked at your stylesheet and looked at the XML input.
Could you put up an output file and some description description of how you are calculating the widths you are providing to the table element in the CALS thingy?
It looks like you want to strip out /table/tbody/row/entry@width attributes, do some calculations based on them, and then create a new table with the resultant attributes, and copy all the row/entry into it without the @width attributes.
If that's right, can you describe the calculation on the @width attributes that are generating the attributes to the table?
I looked through the code, but it didn't jump out at me...
notes on the code in general:
It's a big program and I have a tendancy to think it's going in an innefficient direction mainly by having all templates except root be named and called explicitly with a whole lot of variables being passed from template to template. In my limited experience, these slow down processing significantly. Someday I'll look into engine source and find out more specifically.
Another suspicious piece that I've noticed is the calls like:
<xsl:variable name="random-nodes-r" select="document('')//*" /> <xsl:variable name="random-nodes-c" select="document('')//*" />
Which, (correct me if I'm wrong here), are making two extra copies of the entire document in a variable? Do this enough time and your memory will be exhausted.
That said, what symptoms were you experiencing?
Were you transforming a 20KB file and noticing that your xslt engine took 500MB of RAM?
Is there a 'profiling' option for saxon to tell you where your script spent how much of its processing time?
The xsltproc engine has a --profile option to output such information. I've used that many times to decrease runtime of my older scripts by order(s) of magnitude.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
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