daisy / daisy/pipeline

dtbook-to-epub3 fails with internal DTD declarations

Open
#441 15 comments 0 reactions 1 assignee View on GitHub

Nobody has claimed this yet.

bug htnr pipeline-scripts-utils
Dominant language
Java
Stars
26
Forks
22
PR merge metrics
No merged PRs in 30d

Description

Reported by @danielweck

I tried executing a dtbook-to-epub3 conversion from Tobi (which
connects to the Pipeline2 via the web service / HTTP REST API),
whilst the Pipeline2 WebUI was running (page showing in Internet
Explorer + command line window displaying log messages). It worked
fine with one DTBOOK XML, but another one failed
(The_Inner_Planets.xml):

com.xmlcalabash.core.XProcException: Only whitespace text nodes can
appear at the top level in a document

(note that this message does not appear in the WebUI command line
window, but in Tobi's own logging capture mechanism ... normally Tobi
would invoke pipeline2.bat in order to kick-start the Pipeline2
background task, so I would be able to visualize the whole log in a
separate command line window)

Here is the top of the XML file:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dtbook PUBLIC "-//NISO//DTD dtbook v1.1.0//EN"
"http://www.loc.gov/nls/z3986/v100/dtbook110.dtd" [
  <!ATTLIST w
      gh:voiceR   CDATA        #IMPLIED

  <!ATTLIST w
      gh:pronR   CDATA        #IMPLIED

  <!ATTLIST w
      gh:voiceS   CDATA        #IMPLIED

  <!ATTLIST w
      gh:pronS   CDATA        #IMPLIED

  <!ATTLIST dtbook
      xmlns:gh   CDATA        #IMPLIED

  <!ATTLIST list
      style   CDATA        #IMPLIED

]>
<dtbook>

For comparison, here is the one that succeeded:

<?xml version='1.0' encoding='utf-8'?><!DOCTYPE dtbook PUBLIC
"-//NISO//DTD dtbook 2005-2//EN"
"http://www.daisy.org/z3986/2005/dtbook-2005-2.dtd"><?xml-stylesheet
href='dtbook.2005.basic.css' type='text/css'?><dtbook

Conclusion: the culprit is the DTD:

<!DOCTYPE dtbook PUBLIC "-//NISO//DTD dtbook v1.1.0//EN"
"http://www.loc.gov/nls/z3986/v100/dtbook110.dtd">
(I checked by tweaking the XML)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.