[
Lists Home |
Date Index |
Thread Index
]
- To: daniel@veillard.com
- Subject: Re: [xml-dev] XML Performance in a Transacation and recursion
- From: Rick Marshall <rjm@zenucom.com>
- Date: Mon, 03 Apr 2006 19:27:51 +1000
- Cc: ElektonikaMail@veillard.com, Michael Kay <mike@saxonica.com>, xml-dev@lists.xml.org
- In-reply-to: <20060403085950.GA4892@daniel.veillard.com>
- Organization: Zenucom Pty Ltd
- References: <200603260900.k2Q902ET031627@zmail.zenucom.com> <44269384.3060308@zenucom.com> <cc159a4a0603270636x6ca4a96cv12390632272531e0@mail.gmail.com> <000001c656b3$b7f48d30$0115a8c0@Elektonika.local> <20060403085950.GA4892@daniel.veillard.com>
- User-agent: Mozilla Thunderbird 1.0.7-1.1.fc4 (X11/20050929)
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@zenucom.com
tel;cell:+61 411 287 530
x-mozilla-html:TRUE
version:2.1
end:vcard
|