我正在尝试将DocBook XML - 文件通过XSLT转换为HTML。 XML-File包含一个图像,这就是我收到以下错误的原因:
build-html:
[xslt] Transforming into C:\dev\DocBook\DocBookmitXML\output
[xslt] Processing C:\dev\DocBook\DocBookmitXML\src\BurndownChart.jpg to C:\dev\DocBook\DocBookmitXML\output\BurndownChart.html
[xslt] Loading stylesheet C:\dev\DocBook\DocBookmitXML\docbook-xsl-1.75.1\xhtml\docbook.xsl
[xslt] : Fatal Error! org.apache.xerces.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence. Cause: org.apache.xerces.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence.
[xslt] Failed to process null
DocBook-File:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article SYSTEM "../docbook-xml-4/docbookx.dtd" >
<article>
<articleinfo>
<title>Freitags um 11.30 Uhr</title>
<author>
<firstname>me, myself </firstname>
<surname>and I</surname>
</author>
</articleinfo>
<sect1 label="1.0">
<title>An introduction to DocBook</title>
<para>this is text</para>
</sect1>
<sect1 label="2.0">
<title>Core Docbook</title>
<para>
<table frame='all'>
<title>Testtabelle</title>
<tgroup cols="3">
<thead>
<row>
<entry>Monat</entry>
<entry>Woche</entry>
<entry>Besucher</entry>
</row>
</thead>
<tbody>
<row>
<entry>Mai</entry>
<entry>1</entry>
<entry>4711</entry>
</row>
<row>
<entry>Mai</entry>
<entry>2</entry>
<entry>4712</entry>
</row>
<row>
<entry>Mai</entry>
<entry>3</entry>
<entry>4713</entry>
</row>
<row>
<entry>Gesamt</entry>
<entry></entry>
<entry>47110</entry>
</row>
</tbody>
</tgroup>
</table>
now to the difficult stuff...
</para>
</sect1>
<sect1 label="2.0">
<title>A Picture</title>
<mediaobject>
<imageobject>
<imagedata format="JPEG" fileref="BurndownChart.jpeg" />
</imageobject>
</mediaobject>
</sect1>
</article>
构建文件:
<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="docbook-src" default="build-html">
<property name="docbook.xsl.dir" value="./docbook-xsl-1.75.1/xhtml" />
<property name="doc.dir" value="output" />
<property name="src" value="src" />
<property name="html.stylesheet" value="${docbook.xsl.dir}/docbook.xsl" />
<property name="xalan.lib.dir" value="./xalan-j_2_7_1"/>
<path id="xalan.classpath">
<fileset dir="${xalan.lib.dir}" id="xalan.fileset">
<include name="xalan.jar" />
<include name="xercesImpl.jar" />
</fileset>
</path>
<target name="clean" description="Cleans up the generated files">
<delete dir="${doc.dir}" />
</target>
<target name="depends">
<mkdir dir="${doc.dir}" />
</target>
<target name="build-html" depends="clean,depends" description="Generates HTML files from DocBook">
<xslt basedir="src" destdir="${doc.dir}" style="${html.stylesheet}" extension=".html">
<classpath refid="xalan.classpath" />
</xslt>
</target>
</project>
我应该在哪里查找错误?
答案 0 :(得分:1)
如果仔细查看错误消息,您会发现它实际上正在尝试处理JPEG文件,这当然会失败。默认情况下,以这种方式调用时,xslt
任务将尝试转换它在指定目录中找到的所有文件。您可以添加添加includes="*.xml"
之类的属性,告诉它只处理* .xml文件。