[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: Re: DOCBOOK-APPS: Problem using profiling stylesheets with xsltproc
On Sat, Nov 30, 2002 at 08:25:11PM -0600, John Himpel wrote: > Hi, > > When I use the following command: > > xsltproc \ > --catalogs \ > --nonet \ > --xinclude \ > --output ./html/${1}.html \ > --stringparam profile.condition FullRel \ > file:///usr/share/sgml/docbook/xsl-stylesheets/html/profile-docbook.xsl > \ > ${1}.xml > > on the following file: > > <?xml version='1.0' encoding='utf-8' ?> > <!DOCTYPE article PUBLIC '-//OASIS//DTD DocBook XML V4.2//EN' > > 'http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd' > > > <article> > <title>Title</title> > <section condition="FullRel"> > <title>FullRel</title> > <para>FullRel para</para> > </section> > <section condition="UpdateRel"> > <title>UpdateRel</title> > <para>UpdateRel para</para> > </section> > </article> > > I get the following output: > > runtime error: file > file:///usr/share/sgml/docbook/xsl-stylesheets/html/profile-docbook.xsl > line 219 element apply-templates > xsltApplyOneTemplate: loop found ??? > try increasing xsltMaxDepth (--maxdepth) > Templates: > #0 name * name head.keywords.content > #1 name * name head.keywords.content > #2 name * name head.keywords.content > #3 name * name head.keywords.content > #4 name * name head.keywords.content > #5 name * name head.keywords.content > #6 name * name head.keywords.content > #7 name * name head.keywords.content > #8 name * name head.keywords.content > #9 name * name head.keywords.content > #10 name * name head.keywords.content > #11 name * name head.keywords.content > #12 name * name head.keywords.content > #13 name * name head.keywords.content > #14 name * name head.keywords.content > Variables: > > Using the following versions: > LIBXML2 2.4.23 (libxml2-2.4.23-1 from RedHat) > LIBXSLT 1.0.19 (libxslt-1.0.19-1 from RedHat) > DTD 4.2.1 (docbook-dtds-1.0.14 from RedHat) > XSL Stylesheets 1.57.0 (docbook-style-xsl-1.57.0-2 from RedHat) > > > I don't know if: > a) I'm doing something wrong > b) The stylesheets have a problem > c) XSLTPROC has a problem You aren't doing anything wrong. But you can work around it by setting the stylesheet parameter inherit.keywords to zero. I think it is a bug in xsltproc. The problem is that in the template named "head.keywords.content", there is a recursive call to the same template. <xsl:if test="$inherit.keywords != 0 and parent::*"> <xsl:apply-templates select="parent::*" mode="head.keywords.content"/> </xsl:if> In profile-docbook.xsl, this recursive template goes into an infinite loop. The same template is in docbook.xsl, and it does not go into an infinite loop. Nor does Saxon go into an infinite loop when processing with profile-docbook.xsl. The loop should stop when it reaches the root node. xsltproc keeps going with <article>, somehow thinking the parent of article is article. Since this doesn't occur with the same template in docbook.xsl, it would appear that the difference is that profile-docbook.xsl is operating on a exslt nodeset. But I can't explain it any further than that. Bob Stayton 400 Encinal Street Publications Architect Santa Cruz, CA 95060 Technical Publications voice: (831) 427-7796 The SCO Group fax: (831) 429-1887 email: bobs@sco.com
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Powered by eList eXpress LLC