XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Jesper TverskovSubject: Maximum recursion depth exceeded
Author: Jesper Tverskov
Date: 11 May 2009 02:19 AM

Hi

I'm testing David Carlisle's XSLT stylesheet, htmlparse.xsl, that can transform not well-formed markup (html) to well-formed not specified XHTML.

Htmlparse.xsl is published at:
http://dpcarlisle.blogspot.com/2007/04/htmlparse-updated.html

I have made an XSLT stylesheet, ht6jt.xsl, that imports David's htmlparse.xsl from his website, and also loads two test documents I have made at Google Docs, and transform them to make them well-formed.

The transformation works at the command line using Saxon, but not in XMLSpy using AltovaXML or in Oxygen using Saxon or in Stylus Studio using Saxon.

In XMLSpy the error message is "XSLT instruction stack overflow", in Oxygen the error message is "Too many nested function calls", and in Stylus Studio: "Maximum recusion depth exceeded".

Now, I don't like the idea that XSLT works at the command line but not in advanced XML Editors! Considering that transforming HTML codesoup to XHTML is an important use case, it would be very nice if the XML Editors could solve this problem.

I'm looking forward to a solution from Stylus Studio.

Best regards,
Jesper Tverskov
http://www.xmlplease.com



Documentht6jt.xsl
xslt

Posttop
Tony LavinioSubject: Maximum recursion depth exceeded
Author: Tony Lavinio
Date: 11 May 2009 09:24 AM
The difference is most likely coming from the optimizer.

When you run Saxon within Stylus Studio (or Oxygen), in order to provide
debugging support we disable the optimizer. The Saxon optimizer will
reorder code, eliminate variables, and push expressions up or down the
stack. It also controls tail-call recursion.

If we didn't disable the optimizer while within the IDE, there is no
way you could follow the code, since the executable path doesn't really
look like the source document anymore.

When run outside an IDE, optimization is enabled.

You could try using smaller input sets while within the IDE environment,
but this is part of the cost of using a high-level language with a
clever optimizer.

 
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.