Hi Lars,
This is strange.  While I always use the Xerces-J parser with Saxon 6, I did 
not mean to introduce a new dependency on it.  I just ran it again with Xerces 
turned off and its jar file excluded from the classpath, and the 
xhtml5/docbook.xsl and chunk.xsl work fine without it.  I'm running java 
version "1.6.0_05" on Windows XP under Cygwin.  So I'm not able to reproduce 
your error yet.  My command looks like this:

java -cp saxon.jar com.icl.saxon.StyleSheet -o mybook.html mybook.xml 
../docbook-xsl-1.76.1/xhtml5/docbook.xsl

You say the html and xhtml stylesheets work without xerces-j, but I don't think 
the xhtml5 stylesheets are doing anything fundamentally different from those 
stylesheets.   They all pull in stylesheet files from other directories using 
relative paths.  For example, the html/autoidx.xsl file has the same relative 
path entity declaration:

<!ENTITY % common.entities SYSTEM "../common/entities.ent">
%common.entities;

Also, the html/docbook.xsl file imports templates using relative pathnames:

<xsl:include href="../common/common.xsl"/>


I wonder why it works in those instances but not in the xhtml5 instance? I 
wonder if that error message is being helpful in identifying the source of the 
problem.

Bob Stayton
Sagehill Enterprises
[email protected]


  ----- Original Message ----- 
  From: Lars Vogel 
  To: Bob Stayton 
  Cc: DocBook Apps 
  Sent: Sunday, September 18, 2011 2:42 PM
  Subject: Re: [docbook-apps] beta EPUB3 stylesheet available


  Hi Bob,

  thanks for the reply. I believe I found the issue. I wasn't using xerces-j 
but the standard Java libraries. 

  I tried with html, xhtml and xhtml1-1 and they seem to be working fine 
without xerces-j . With xerces-j the convertion works fine with and without Ant.

  Is the usage of xerces-j intended? I'm not familiar with the differences of 
xerces-j and the standard Java ones but it seems that the existing libraries 
work fine without xerces-j.

  Best regards, Lars




  2011/9/18 Bob Stayton <[email protected]>

    Hi Lars,
    I have not tried it with Saxon 9, but since saxon 9 lacks the 
exsl:node-set() function, then the stylesheet will need to be changed to work 
with Saxon 9.  

    The error with Saxon 6 is odd, because that is what I used when testing it. 
 The error message:

    java.net.MalformedURLException: no protocol: ../common/entities.ent

    seems to be saying that relative URLs starting with "../" are malformed 
because they lack a protocol part, but that is always true for relative URLs.  
And the other stylesheets use that syntax in several modules.  I don't 
understand why you are getting that error.  Can you run Saxon outside of Ant 
and reproduce the same error?

    That entity declaration for ../common/entities.ent at the top of the 
docbook.xsl file is no longer needed.  I moved the templates that used those 
entities (indexing templates) to the html5-element-mods.xsl file, so the entity 
declaration is needed there.  If you remove it from the docbook.xsl file, does 
it still fail when it is encountered in html5-element-mods.xsl?

    Bob Stayton
    Sagehill Enterprises
    [email protected]


      ----- Original Message ----- 
      From: Lars Vogel 
      To: Bob Stayton 
      Cc: DocBook Apps 
      Sent: Saturday, September 17, 2011 2:12 PM
      Subject: Re: [docbook-apps] beta EPUB3 stylesheet available


      Hi Bob,

      these are great news, thank you. I tried using the xhtml5 stylesheets.

      Unfortunately I receive an error message. I tried with Saxon9 and 
Saxon6.5.5

      Here is the error message for Saxon9:

           [xslt] 
/home/vogella/workspace/docu/de.vogella.docbook/docbook-xsl-1.76.1/xhtml5/html5-element-mods.xsl:456:
 Fatal Error! Cannot find a matching 1-argument function named 
{http://exslt.org/common}node-set(). There is no Saxon extension function with 
the local name node-set


      Here is the error message for Saxon6.5.5

         [xslt] Loading stylesheet 
/home/vogella/workspace/docu/de.vogella.docbook/docbook-xsl-1.76.1/xhtml5/docbook.xsl
           [xslt] Failed to process null

      BUILD FAILED
      /home/vogella/workspace/docu/de.vogella.docs/buildhtml5.xml:535: 
javax.xml.transform.TransformerConfigurationException: 
java.net.MalformedURLException: no protocol: ../common/entities.ent

      Here is the Apache Ant file which I'm using for the transformation:

          <target name="build-html5" depends="xinclude" description="Generates 
HTML5 files from DocBook XML">
              <xslt style="${myhtml.stylesheet}" extension=".html" 
basedir="${output.tmp}" destdir="${article.dir}">
                  <include name="**/*article.xml" />
                  <param name="html.stylesheet" expression="${stylesheet}" />
                  <param name="section.autolabel" expression="1" />
                  <param name="make.valid.html" expression="1" />
                  <param name="html.cleanup" expression="1" />
                  <param name="chunker.output.encoding" expression="UTF-8" />
                  <outputproperty name="indent" value="yes" />
                  <classpath refid="saxon.class.path" />
              </xslt>

              <!-- Copy the stylesheet to the top level directory-->
              <copy todir="${article.dir}/..">
                  <fileset dir="lib">
                      <include name="styles.css" />
                  </fileset>
              </copy>
          </target>

      The same conversion works fine using the existing html or xhtml 
stylesheets. 

      Best regards, Lars



      2011/9/17 Bob Stayton <[email protected]>

        I've got the DocBook XSL stylesheet for generating HTML5 output and 
EPUB3 books working, at least to beta level.  If you are interested in trying 
it out, you can download the files from the DocBook SourceForge Files area, 
under the EPUB3 folder

        https://sourceforge.net/projects/docbook/files/epub3/

        It currently consists of two directories that are added to an existing 
docbook-xsl-1.76.1 installation, adding "xhtml5" and "epub3" directories.  They 
are actually customizations of the xhtml stylesheets, and contain relative path 
references to those files, so they should be installed in parallel with the 
xhtml directory.  At some point I will incorporate them into the normal build 
so they can appear in a regular docbook-xsl-snapshot.

        Each directory includes a README file to give you more information 
about how to use the stylesheets and test your output.  Feedback is welcome.

        The stylesheets include support for some of the new EPUB features, such 
as video, audio, and MathML.  However, not all EPUB browsers are up to handling 
them.  See the README for details.

        Bob Stayton
        Sagehill Enterprises
        [email protected]



        ---------------------------------------------------------------------
        To unsubscribe, e-mail: [email protected]
        For additional commands, e-mail: [email protected]





      -- 
      Lars
      http://www.vogella.de - Eclipse, Android and Java Tutorials
      http://www.twitter.com/vogella - Lars on Twitter




  -- 
  Lars
  http://www.vogella.de - Eclipse, Android and Java Tutorials
  http://www.twitter.com/vogella - Lars on Twitter

Reply via email to