OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] XML Performance in a Transacation and recursion

[ 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).



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
>  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).
fn:Rick  Marshall
tel;cell:+61 411 287 530


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS