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 <[email protected]> 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
> [email protected]
>
> 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 <[email protected]> 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
> >> [email protected]
> >>
> >> 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 <[email protected]>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]