2009-10-16 4 views
0

XSLT를 통해 DocBook XML - File을 HTML로 변환하려고합니다. -는 XML이 파일은 다음과 같은 에러가 발생하는 이유 인 이미지가 포함Docbook, Images, ANT

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 

닥북-파일 :

<?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

hmmm ... DocBook 파일의 절반이 인식되지 않았습니다 – Patrick

+0

hmmm .... DocBook XML 파일의 유효성을 검사 했습니까? 어쩌면 거기에 오류가 있습니까? 두 번째 생각 : 간단한 파일을 처리 할 때 인코딩이 어떻게 관련되어 있습니까? 그냥 몇 가지 생각 ... – bastianneu

+0

XML 파일은 불만없이 유효성을 검사합니다. 모든 것이 괜찮습니다 ... 미디어 객체를 추가 할 때까지 – Patrick

답변

1

오류 메시지를주의 깊게 살펴보면 실제로 JPEG 파일을 처리하려고 시도하는 것을 알 수 있습니다. 물론이 오류는 실패합니다. 이 방법으로 호출 될 때 기본적으로 xslt 작업은 지정된 디렉토리에서 찾은 모든 파일을 변환하려고 시도합니다. includes="*.xml"과 같은 속성을 추가하여 * .xml 파일 만 처리하도록 지시 할 수 있습니다.