[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [docbook-apps] changing from xsltproc to saxon
Hi again Bob I changed the makefile to: sax: rm -rf site mkdir site cp css/* site cp js/* site xmllint --noent --xinclude \ module.xml > /tmp/docbresolved.xml \ 2>./errloglint java com.icl.saxon.StyleSheet \ -x org.apache.xml.resolver.tools.ResolvingXMLReader \ -y org.apache.xml.resolver.tools.ResolvingXMLReader \ -r org.apache.xml.resolver.tools.CatalogResolver \ -u \ -o site/index.html \ /tmp/docbresolved.xml \ docbook.xsl \ base.dir="site" \ use.extensions=1 \ 2>./errlogxslt tar czf site.tgz site/* echo "site.tgz ready for deployment" The catalog should then translate 'docbook.xsl' to <uri name="docbook.xsl" uri=".docbook/docbook.custom.xsl" /> The output from verbosity 4 is: Parse catalog: file:/home/nml/.docbook/catalog.xml Loading catalog: file:/home/nml/.docbook/catalog.xml Default BASE: file:/home/nml/.docbook/catalog.xml xml:base: file:///home/nml/ BASE STR: file:///home/nml/ rewriteSystem: http://www.oasis-open.org/docbook/xml/4.5/ .docbook/ REWRITE_SYSTEM: http://www.oasis-open.org/docbook/xml/4.5/ file:/home/nml/.docbook/ rewriteURI: http://docbook.sourceforge.net/release/xsl/current/ xsl-stylesheets-1.79.2/ REWRITE_URI: http://docbook.sourceforge.net/release/xsl/current/ file:/home/nml/xsl-stylesheets-1.79.2/ rewriteURI: file:///basics/ .docbook/ REWRITE_URI: file:///basics/ file:/home/nml/.docbook/ system: uvmat_entities.ent .docbook/uvmat_entities.ent SYSTEM: uvmat_entities.ent file:/home/nml/.docbook/uvmat_entities.ent uri: docbook.xsl .docbook/docbook.custom.xsl URI: docbook.xsl file:/home/nml/.docbook/docbook.custom.xsl uri: docbook.fo.xsl .docbook/docbook.custom.fo.xsl URI: docbook.fo.xsl file:/home/nml/.docbook/docbook.custom.fo.xsl uri: docbook.slides.xsl .docbook/docbook.custom.slides.xsl URI: docbook.slides.xsl file:/home/nml/.docbook/docbook.custom.slides.xsl uri: file:///foo/biblio.xml .docbook/biblio.xml URI: file:///foo/biblio.xml file:/home/nml/.docbook/biblio.xml (reset) xml:base: file:/home/nml/.docbook/catalog.xml BASE STR: file:/home/nml/.docbook/catalog.xml resolveURI(/tmp/docbresolved.xml) resolveURI(/tmp/docbresolved.xml) Resolved URI: /tmp/docbresolved.xml file:/tmp/docbresolved.xml resolveURI(docbook.xsl) Resolved URI: docbook.xsl file:/home/nml/.docbook/docbook.custom.xsl resolveSystem(file:/home/nml/.docbook/docbook.custom.xsl) resolveSystem(file:/home/nml/docbook/uvmat_entities.ent) resolveSystem(file:/home/nml/docbook/xhtml-lat1.ent) resolveSystem(file:/home/nml/docbook/xhtml-symbol.ent) resolveSystem(file:/home/nml/docbook/xhtml-special.ent) resolveSystem(file:/home/nml/docbook/hsizes.ent) resolveURI(/usr/share/xml/docbook/xsl-stylesheets-1.79.2/xhtml5/chunk.xsl) Resolved URI: /usr/share/xml/docbook/xsl-stylesheets-1.79.2/xhtml5/chunk.xsl file:/usr/share/xml/docbook/xsl-stylesheets-1.79.2/xhtml5/chunk.xsl resolveSystem(file:/usr/share/xml/docbook/xsl-stylesheets-1.79.2/xhtml5/chunk.xsl) resolveURI(docbook.xsl) Resolved URI: docbook.xsl file:/home/nml/.docbook/docbook.custom.xsl resolveURI(/home/nml/docbook/docbook.common.custom.xsl) Resolved URI: /home/nml/docbook/docbook.common.custom.xsl file:/home/nml/docbook/docbook.common.custom.xsl resolveSystem(file:/home/nml/docbook/docbook.common.custom.xsl) resolveSystem(file:/home/nml/docbook/uvmat_entities.ent) resolveSystem(file:/home/nml/docbook/xhtml-lat1.ent) resolveSystem(file:/home/nml/docbook/xhtml-symbol.ent) resolveSystem(file:/home/nml/docbook/xhtml-special.ent) resolveSystem(file:/home/nml/docbook/hsizes.ent) make: *** [Makefile:23: sax] Error 2 which as far as I can see is correct the error message is now: Error at xsl:import on line 15 of file:/usr/share/xml/docbook/xsl-stylesheets-1.79.2/xhtml5/chunk.xsl: A stylesheet cannot import itself Transformation failed: Failed to compile stylesheet. 1 error detected. This puzzles me because I use the same stylesheet when I run with xsltproc without problems. The installation has: nmlX240 TheModelChapter $ ls /usr/share/xml/docbook docbook-xsl-1.79.2 xml-dtd-4.2 xml-dtd-4.4 xsl-stylesheets-1.79.2 xml-dtd-4.1.2 xml-dtd-4.3 xml-dtd-4.5 xsl-stylesheets-1.79.2-nons Cheers /Niels On Sat, 28 Mar 2020 14:37:22 -0700 Bob Stayton <bobs@sagehill.net> wrote: > I think what is happening is your XSL URL is directly calling the > chunk.xsl file, which import docbook.xsl, which is getting mapped by the > catalog file to use: > > <uri >  name="docbook.xsl" >  uri=".docbook/docbook.custom.xsl" /> > > which then reimports the DocBook stylesheet file. Try setting > verbosity=4 in your CatalogManager.properties file and watch how the > catalog is being used. > > Bob Stayton > bobs@sagehill.net > > On 3/28/2020 11:40 AM, Niels MÃller Larsen wrote: > > Thanks for speedy reply. > > > > My catalog looks as follows: > > > > > > <?xml version="1.0"?> > > <!DOCTYPE catalog > > PUBLIC "-//OASIS/DTD Entity Resolution XML Catalog V1.0//EN" > > "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd"> > > > > <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"> > > > > <!-- DTD and stylesheet files installed under /usr/share/xml --> > > <group xml:base="file:///home/nml/"> > > > > <!-- Resolve DTD URL system ID to local file --> > > <rewriteSystem > > systemIdStartString="http://www.oasis-open.org/docbook/xml/4.5/" > > rewritePrefix=".docbook/" /> > > <!-- Resolve stylesheet URL to local file --> > > <rewriteURI > > uriStartString="http://docbook.sourceforge.net/release/xsl/current/" > > rewritePrefix='xsl-stylesheets-1.79.2/' /> > > <rewriteURI > > uriStartString="file:///basics/" > > rewritePrefix=".docbook/" /> > > > > <!-- To resolve simple DTD SYSTEM identifiers. --> > > <!-- Note: this does not work with Java resolver --> > > <!-- classes in Saxon or Xalan --> > > > > <system > > systemId="uvmat_entities.ent" > > uri=".docbook/uvmat_entities.ent" /> > > <!-- To resolve short stylesheet references --> > > <uri > > name="docbook.xsl" > > uri=".docbook/docbook.custom.xsl" /> > > <uri > > name="docbook.fo.xsl" > > uri=".docbook/docbook.custom.fo.xsl" /> > > <uri > > name="docbook.slides.xsl" > > uri=".docbook/docbook.custom.slides.xsl" /> > > <uri > > name="file:///foo/biblio.xml" > > uri=".docbook/biblio.xml"/> > > </group> > > > > </catalog> > > > > > > And my docbook.custom.xsl: > > > > <?xml version="1.0" encoding="UTF-8"?> > > <!DOCTYPE stylesheet [ > > <!ENTITY % uvmatent SYSTEM "/home/nml/docbook/uvmat_entities.ent"> > > %uvmatent; > > ]> > > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > > xmlns="http://www.w3.org/1999/xhtml" > > version="1.0"> > > <!-- > > Customization xsl stylesheet for docbook to chunked html transform > > --> > > > > <!-- import base stylesheet --> > > <!-- <xsl:import href="/usr/share/xml/docbook/docbook-xsl-ns-1.79.1/xhtml5/chunk.xsl"/> --> > > <!-- <xsl:import href="/usr/share/xml/docbook/docbook-xsl-1.79.2/xhtml5/chunk.xsl"/> --> > > <xsl:import href="/usr/share/xml/docbook/xsl-stylesheets-1.79.2/xhtml5/chunk.xsl"/> > > > > <!-- customization vars --> > > <xsl:import href="/home/nml/docbook/docbook.common.custom.xsl"/> > > </xsl:stylesheet> > > > > The docbook.common.custom.xsl just holds a series of parameters > > > > /Niels > > > > > > > > On Sat, 28 Mar 2020 11:29:22 -0700 > > Bob Stayton <bobs@sagehill.net> wrote: > > > >> I think the first error message is the most informative. This file: > >> > >> /home/nml/.docbook/docbook.custom.xsl > >> > >> is not part of the DocBook XSL distribution, and it does not seem to be > >> mentioned in your Makefile. Have you examined that file to see what it is? > >> > >> I suspect the catalog resolver is mapping the stylesheet URL to that file. > >> > >> Bob Stayton > >> bobs@sagehill.net > >> > >> On 3/28/2020 11:14 AM, Niels MÃller Larsen wrote: > >>> When producing html output from my docbook I use the following fragment of a Makefile: > >>> > >>> html: > >>> rm -rf site > >>> mkdir site > >>> cp css/* site > >>> cp js/* site > >>> xmllint --noent --xinclude \ > >>> module.xml > /tmp/docbresolved.xml \ > >>> 2>./errloglint > >>> xsltproc \ > >>> --output site/ \ > >>> docbook.xsl \ > >>> /tmp/docbresolved.xml \ > >>> 2>./errlogxslt && \ > >>> tar czf site.tgz site/* > >>> echo "site.tgz ready for deployment" > >>> > >>> This works, and it has worked for a long time. I write about coding, so I have some need to change to using saxon for added functionality with respect to linenumbering and code highlighting. The first step would be a 1:1 change, and I have tried: > >>> > >>> html: > >>> rm -rf site > >>> mkdir site > >>> cp css/* site > >>> cp js/* site > >>> xmllint --noent --xinclude \ > >>> module.xml > /tmp/docbresolved.xml \ > >>> 2>./errloglint > >>> java com.icl.saxon.StyleSheet \ > >>> -x org.apache.xml.resolver.tools.ResolvingXMLReader \ > >>> -y org.apache.xml.resolver.tools.ResolvingXMLReader \ > >>> -r org.apache.xml.resolver.tools.CatalogResolver \ > >>> -u \ > >>> -o site/index.xhtml \ > >>> /tmp/docbresolved.xml \ > >>> /usr/share/xml/docbook/xsl-stylesheets-1.79.2/xhtml5/chunk.xsl \ > >>> base.dir="site" \ > >>> use.extensions=1 \ > >>> 2>./errlogxslt > >>> tar czf site.tgz site/* > >>> echo "site.tgz ready for deployment" > >>> > >>> This gives me errors: > >>> > >>> Error at xsl:import on line 16 of file:/home/nml/.docbook/docbook.custom.xsl: > >>> A stylesheet cannot import itself > >>> Error at xsl:when on line 25 of file:/usr/share/xml/docbook/xsl-stylesheets-1.79.2/xhtml/chunk-common.xsl: > >>> Variable exsl.node.set.available has not been declared > >>> Error at xsl:if on line 26 of file:/usr/share/xml/docbook/xsl-stylesheets-1.79.2/xhtml/chunk-common.xsl: > >>> Variable chunk.quietly has not been declared > >>> Error at xsl:apply-templates on line 29 of file:/usr/share/xml/docbook/xsl-stylesheets-1.79.2/xhtml/chunk-common.xsl: > >>> Variable with.namespace has not been declared > >>> Error at xsl:when on line 31 of file:/usr/share/xml/docbook/xsl-stylesheets-1.79.2/xhtml/chunk-common.xsl: > >>> Variable exsl.node.set.available has not been declared > >>> Error at xsl:if on line 32 of file:/usr/share/xml/docbook/xsl-stylesheets-1.79.2/xhtml/chunk-common. > >>> ...... > >>> > >>> I have tried many variations and several stylesheets, this just changes the error messages I get. > >>> > >>> Does anyone have an example of a workflow that works? Chunked output is a must. > >>> > >>> > > -- Niels MÃller Larsen <nml@x15.dk>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]