[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Implementing recursion (Was Re: Char node-type)

Subject: Implementing recursion (Was Re: Char node-type)
From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
Date: Thu, 23 Nov 2000 20:21:19 -0800 (PST)
node recursive xslt
Will it not be simpler just to use SAXON -- it recognises tail
recursion and implements it using iteration -- therefore no stack
overflow will occur.

A month ago I performed a test how SAXON and MSXML 3 (Sep.) perform
highly recursive transformations. 

MSXML performed OK at recursion depth of 1000, but was somewhat slow.
It crashed at recursion depth of 2000.

Saxon 5.4 performed fast and reliably. It took 6 sec. (on a local
computer -- 350MHz, 64MB RAM) for processing the example with recursion
depth of 2000.

In my opinion there must be some requirements in the standard
specifications about the minimum expected robustness and reliability of
an XSLT processor. A good and necessary requirement of this type is
that an XSLT processor should not crash in typical recursive
processing.

Unless there's such guarantee it would be extremely difficult (if
possible at all) to commit to using XSLT in "industrial-scale
applications".

Cheers,
Dimitre Novatchev.


Richard Light wrote:

In message <002501c05565$e5804320$7e0aa8c0@xxxxxxx>, Dave Hartnoll
<Dave_Hartnoll@xxxxxxx> writes
>I have an idea that will alleviate your depth of recursion problem,
but as
>I'm a relative newcomer to XSL, so I'm not fluent enough to express
this
>idea in XSL itself yet.
>
>The idea is that your character processing template should first check
the
>length of it's string. When it's exactly 1 then process the character
as you
>do now. Otherwise, call yourself recursively, once for the 1st half of
the
>string, then again for the 2nd half.

That's a thought.  What I have actually done for now is to split the
string on word boundaries (i.e. spaces), which reduces the load on the
stack too.  The problem with a 'binary chop' technique is that one
thing
we need to do is to combine 'character-plus-Unicode-combining-
character(s)' sequences into an image representing the single combined
character.  The chop could split them, unless it looked about for
spaces
before deciding exactly where to split the string.

Richard.

Richard Light
SGML/XML and Museum Information Consultancy
richard@xxxxxxxxxxxxxxxxx


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


__________________________________________________
Do You Yahoo!?
Yahoo! Shopping - Thousands of Stores. Millions of Products.
http://shopping.yahoo.com/


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.