[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Suggestion for handling an endless loop
You're in oXygen though, aren't you? I think oXygen chooses a different XSLT processor based on the version attribute you specify. With this kind of thing the devil is always in the detail. I've seen similar problems, for example, because a stylesheet did <xsl:if test="contains(//title, 'xxx')">.... In 1.0 that ignores any title after the first; in 2.0 it has to search the whole document so it can report an error if there is more than one title. If that's done within a loop and it's a large document then the effect can be dramatic. But that's just an anecdote about the sort of thing that can happen; there are 100 other possible explanations and you can't diagnose this kind of thing without detailed probing. Comparing the -T output of the two runs might yield interesting insights. Michael Kay Saxonica > On 18 Oct 2019, at 23:35, Mark Giffin m1879@xxxxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > Text change in stylesheet only, so I changed this: > > <xsl:stylesheet version="2.0"> > > to this: > > <xsl:stylesheet version="1.0"> > > That's the entire fix. I did not change XSLT processors or any other code. > > > On 10/18/2019 2:54 PM, Michael Kay mike@xxxxxxxxxxxx <mailto:mike@xxxxxxxxxxxx> wrote: >> When you say you "change it to 1.0", do you mean that you change the version number in the xsl:stylesheet element, or that you change the XSLT processor you are using, or both? >> >> Michael Kay >> Saxonica >> >>> On 18 Oct 2019, at 22:06, Mark Giffin m1879@xxxxxxxxxxxxx <mailto:m1879@xxxxxxxxxxxxx> <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx <mailto:xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>> wrote: >>> >>> I'm getting what appears to be an endless loop while running XSLT 2.0. It hangs when transforming a certain XML file, and I can watch the memory consumption rise to as much as 9 GB, and it apparently will never end. I have to force it to stop. When I change it back to XSLT 1.0, it runs fine, and when it hits the same file it hung up on with 2.0, it transforms in a second or two with 1.0. The XSLT does not use any 2.0 capabilities yet. The only change is changing 2.0 to 1.0 in <xsl:stylesheet version="2.0">. >>> >>> I'm interested in methods to debug something like this. Where to look? I notice Oxygen has an XSLT profiler. >>> >>> Details: >>> The XSLT is running under the DITA Open Toolkit version 3.3.2 (late model). I am converting an HTML-based publishing output from a much older version of the DITA OT, 1.8.5 (where the code worked). It looks like the 3.3.2 OT uses Saxon-HE-9.8.0-14.jar. >>> >>> Thanks, >>> Mark >>> >> >> XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list> >> EasyUnsubscribe <http://lists.mulberrytech.com/unsub/xsl-list/805141> (by email <applewebdata://39E5C53D-DB28-4327-8564-0CC9B58E6904>) > > XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list> > EasyUnsubscribe <http://lists.mulberrytech.com/unsub/xsl-list/293509> (by email <>)
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|