[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [docbook-apps] Cannot process a DocBook 5/XML document using a custom stylesheet
Bob Stayton Sagehill Enterprises bobs@sagehill.net -------------------------------------------------- From: "Shlomi Fish" <shlomif@shlomifish.org> Sent: Wednesday, January 16, 2013 12:12 PM To: "Bob Stayton" <bobs@sagehill.net> Cc: "DocBook Apps" <docbook-apps@lists.oasis-open.org>Subject: Re: [docbook-apps] Cannot process a DocBook 5/XML document using a custom stylesheet
Hi Bob, On Wed, 16 Jan 2013 11:44:32 -0800 "Bob Stayton" <bobs@sagehill.net> wrote:I cannot tell if any of your stylesheet modules is importing xhtml-1_1/docbook.xsl. Does shlomif-essays-5-xhtml-common.xsl?no, it does not: shlomif[perl-begin]:$trunk$ ack -a 'docbook\.xsl' lib/sgml/shlomif-docbook/xsl-5-stylesheets/ lib/sgml/shlomif-docbook/xsl-5-stylesheets/shlomif-essays-5-fo.xsl 6: <xsl:importhref="http://docbook.sourceforge.net/release/xsl-ns/current/fo/docbook.xsl" />lib/sgml/shlomif-docbook/xsl-5-stylesheets/mychunk.xsl 22: as mydocbook.xsl that imports the original docbook.xsl and 24: customization should import mydocbook.xsl instead of 25: docbook.xsl. --> 26:<xsl:import href="shlomif-db5-xhtml-mydocbook.xsl"/> shlomif[perl-begin]:$trunk$ Regards, Shlomi FishBob Stayton Sagehill Enterprises bobs@sagehill.net -------------------------------------------------- From: "Shlomi Fish" <shlomif@shlomifish.org> Sent: Wednesday, January 16, 2013 12:22 AM To: "Bob Stayton" <bobs@sagehill.net> Cc: "DocBook Apps" <docbook-apps@lists.oasis-open.org>Subject: Re: [docbook-apps] Cannot process a DocBook 5/XML document using acustom stylesheet > Hi Bob, > > On Tue, 15 Jan 2013 15:17:42 -0800 > "Bob Stayton" <bobs@sagehill.net> wrote: > >> The problem here is that in chunking, even with onechunk, every >> chunk-level>> element is processed twice, once to generate its chunk file and once >> to >> generate its content. The two steps are separated by import >> precedence>> only, so maintaining the two levels of import precedence is necessary >> when>> dealing with chunked elements. That is done by having two >> customization>> files, as described here: >> >> http://www.sagehill.net/docbookxsl/ChunkingCustomization.html >> >> Your custom template for article content would go into the first file, >> which >> is named 'mydocbook.xsl' in the example. > > Thanks, this is working better. Now I have a different problem. With: > > [Q] > xsltproc --stringparam root.filename > lib/docbook/5/essays/bad-elements/all-in-one.xhtml.temp.xml > --path /usr/share/sgml/docbook/xsl-ns-stylesheets/xhtml-1_1 > lib/sgml/shlomif-docbook/xsl-5-stylesheets/mychunk.xsl > lib/docbook/5/xml/bad-elements.xml > [/Q] > > I get: > > [Q] > runtime error:> file > /usr/share/sgml/docbook/xsl-ns-stylesheets/xhtml-1_1/chunk-code.xsl> line > 432 element call-template The called template 'get.doc.title' was not > found. > runtime error:> file > /usr/share/sgml/docbook/xsl-ns-stylesheets/xhtml-1_1/chunk-code.xsl> line > 470 element choose > Variable 'rootid' has not been declared. > [/Q] > > mychunk.xsl is: > > [Q] > <?xml version="1.0" encoding="ASCII"?> > <!--This file was created automatically by html2xhtml--> > <!--from the HTML stylesheets.--> > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns:d="http://docbook.org/ns/docbook" > xmlns:exsl="http://exslt.org/common" > xmlns="http://www.w3.org/1999/xhtml" version="1.0" > exclude-result-prefixes="exsl d"> >> <!-- > ********************************************************************> $Id: chunk.xsl 6910 2007-06-28 23:23:30Z xmldoc $> > ********************************************************************> > This file is part of the XSL DocBook Stylesheet distribution. > See ../README or http://docbook.sf.net/release/xsl/current/ for > copyright and other information. >> > ******************************************************************** -->> > <!-- > ==================================================================== --> > > <!-- First import the non-chunking templates that format elements > within each chunk file. In a customization, you should > create a separate non-chunking customization layer such > as mydocbook.xsl that imports the original docbook.xsl and > customizes any presentation templates. Then your chunking > customization should import mydocbook.xsl instead of > docbook.xsl. --> > <xsl:import href="shlomif-db5-xhtml-mydocbook.xsl"/> > > <!-- chunk-common.xsl contains all the named templates for chunking. > In a customization file, you import chunk-common.xsl, then > add any customized chunking templates of the same name. > They will have import precedence over the original > chunking templates in chunk-common.xsl. --> > <xsl:import href="chunk-common.xsl"/> > > <!-- The manifest.xsl module is no longer imported because its > templates were moved into chunk-common and chunk-code --> > > <!-- chunk-code.xsl contains all the chunking templates that use > a match attribute. In a customization it should be referenced > using <xsl:include> instead of <xsl:import>, and then add> any customized chunking templates with match attributes. But be > sure> to add a priority="1" to such customized templates to resolve > its conflict with the original, since they have the > same import precedence. > > Using xsl:include prevents adding another layer > of import precedence, which would cause any > customizations that use xsl:apply-imports to wrongly > apply the chunking version instead of the original > non-chunking version to format an element. --> > <xsl:include href="chunk-code.xsl"/> > > </xsl:stylesheet> > > [/Q] > > And shlomif-db5-xhtml-mydocbook.xsl is: > > [Q] > <?xml version='1.0' encoding='UTF-8'?> > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > version="1.0" > xmlns:db="http://docbook.org/ns/docbook" > xmlns:d="http://docbook.org/ns/docbook" > xmlns:vrd="http://www.shlomifish.org/open-source/projects/XML-Grammar/Vered/" > xmlns="http://docbook.org/ns/docbook" > xmlns:xlink="http://www.w3.org/1999/xlink" > xmlns:xhtml="http://www.w3.org/1999/xhtml"> > > <xsl:import href="shlomif-essays-5-xhtml-common.xsl" /> > > > <!-- Ok, using the onechunk parameter makes this all work again. --> > <!-- It does have the disadvantage that it only works for documents > that> have --> <!-- a root element that is considered a chunk by the > chunk.xsl > stylesheet. --> <!-- Ideally, onechunk would let anything be a chunk. > But> not > today. --> > > <xsl:param name="onechunk" select="1"/> > <xsl:param name="suppress.navigation">1</xsl:param> > > <xsl:template name="href.target.uri"> > <xsl:param name="object" select="."/> > <xsl:text>#</xsl:text> > <xsl:call-template name="object.id"> > <xsl:with-param name="object" select="$object"/> > </xsl:call-template> > </xsl:template> > > <!-- Avoid Generating a Table-of-Contents--> > <xsl:param name="generate.toc"> > article toc > </xsl:param> > > <!-- Disable the title="" attribute in sections. --> > <xsl:template name="generate.html.title"> > </xsl:template> > > <!-- > <xsl:template match="d:article" priority="1"> > <xsl:call-template name="id.warning"/> > > <xsl:element name="{$div.element}" > namespace="http://www.w3.org/1999/xhtml"> > <xsl:call-template name="common.html.attributes"> > <xsl:with-param name="inherit" select="1"/> > </xsl:call-template> > <xsl:call-template name="id.attribute"> > <xsl:with-param name="conditional" select="0"/> > </xsl:call-template> > > <xsl:call-template name="article.titlepage"/> > > <xsl:variable name="toc.params"> > <xsl:call-template name="find.path.params"> > <xsl:with-param name="table" > select="normalize-space($generate.toc)"/> </xsl:call-template> > </xsl:variable> > > <xsl:call-template name="make.lots"> > <xsl:with-param name="toc.params" select="$toc.params"/> > <xsl:with-param name="toc"> > <xsl:call-template name="component.toc"> > <xsl:with-param name="toc.title.p" > select="contains($toc.params, 'title')"/> </xsl:call-template> > </xsl:with-param> > </xsl:call-template> > > <xsl:apply-templates/> > <xsl:call-template name="process.footnotes"/> > </xsl:element> > </xsl:template> > --> > > </xsl:stylesheet> > > > [/Q] > > Previously I had a problem that while everything was in one chunk, the > page was > empty. > > Regards, > > Shlomi Fish >> -- > -----------------------------------------------------------------> Shlomi Fish http://www.shlomifish.org/ > My Public Domain Photos - http://www.flickr.com/photos/shlomif/ > > Ran Eilam To Shlomi Fish: so what are you working on? Working on a new > wiki > about unit testing fortunes in freecell? >> Please reply to list if it's a mailing list post - > http://shlom.in/reply .>-- ----------------------------------------------------------------- Shlomi Fish http://www.shlomifish.org/ My Favourite FOSS - http://www.shlomifish.org/open-source/favourite/ We agree. But do we agree to agree? Please reply to list if it's a mailing list post - http://shlom.in/reply . --------------------------------------------------------------------- To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]