 |
 |
 |
thanks for your responses
i've looked at this a bit more and i'm now very suspicious that calling
a template with parameters is actually the culprit.
anyway i'll post the examples somewhere in the next day or so (workload
is killing at the moment).
regards
rick
Daniel Veillard wrote:
>On Mon, Apr 03, 2006 at 01:15:31AM +0100, Rick Marshall wrote:
>
>
>>i've found the performance problem, and it ties together with the
>>discussion on recursion.
>>
>>here's the problem - the stylesheet vocabulary is used to write a
>>postscript program. but postscript strings can't contain '(' or ')' (the
>>delimiters for a postscript string).
>>
>>so every output string has to be parsed and the parentheses escaped with
>>a '\'.
>>
>>we have no control over the source of the documents so i tried the
>>recursive examples for substituting one string with another through a
>>string. eg "ABC(DEF" ends up as "ABC\(DEF" and "AB(DEF)GHI()JK(" ends up
>>as "AB\(DEF\)GHI\(\)JK\(".
>>
>>i've solved my performance problem for the moment by preprocessing the
>>input with sed instead.
>>
>>but i'm not happy because sed has no knowledge of the dom and blindly
>>applies the transformation, instead of only applying it to the content
>>of elements.
>>
>>so here's a real challenge - write a template for the above
>>transformation with an example on how to call it; i'll put it into the
>>style sheet and test it against the examples and we'll find out what
>>techniques are linear or better and what ones aren't.
>>
>>the solution (in this case) must work with xsltproc.
>>
>>currently on a 410k input document 41 of the 43 seconds of processing
>>time is taken up by the string escaping function.
>>
>>writers of xsl processors can then compare their performance results
>>over the various techniques as well.
>>
>>
>
> A Mike pointed this is probably not the best place to ask.
>Seems what you need is the EXSLT string replace function, in general
>XSLT-1.0 is good for manipulating structure and very poor for manipulating
>content.
> http://www.exslt.org/str/functions/replace/index.html
>
>However exslt:replace is not yet implemented in libexslt, though based
>on existing examples and C knowledge it should be close to trivial.
>One way to get this forward is to just implement it, which would be
>best done by contacting the appropriate mailing-list (just run xsltproc
>without any input to get the informations).
>
>Daniel
>
>
>
begin:vcard
fn:Rick Marshall
n:Marshall;Rick
email;internet:rjm@z...
tel;cell:+61 411 287 530
x-mozilla-html:TRUE
version:2.1
end:vcard
|
 | 

|  |
These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.
|  |
| |
 |
 |
 |