Bug 162121

Summary: Fix Valgrind documentation such that it can be translated from DocBook to PDF via Apache FOP
Product: [Developer tools] valgrind Reporter: Bart Van Assche <bart.vanassche+kde>
Component: generalAssignee: Julian Seward <jseward>
Status: CONFIRMED ---    
Severity: wishlist    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:

Description Bart Van Assche 2008-05-15 12:08:49 UTC
Version:           3.4.0.SVN (using KDE 3.5.8)
Installed from:    Compiled From Sources
Compiler:          gcc version 4.3.1 gcc version 4.3.1 20080507 (prerelease) [gcc-4_3-branch revision 135036] (SUSE Linux)
OS:                Linux

Apparently it's not possible to translate the Valgrind documentation with Apache's FOP from DocBook to PDF. I'm not completely sure whether this is a docbook or a Valgrind issue. But we should sort this out such that we can swicth from the obsolete pdfxmltex to FOP.

See also: http://www.nabble.com/fop-throws-a-javax.xml.transform.TransformerException-td16840978.html

How to reproduce (make sure docbook 4, fop and Sun's JRE are installed -- output below is from an OpenSUSE 11 beta system):

rpm -q docbook_4    # docbook_4-4.5-81
rpm -q jre-1.6.0_05 # jre-1.6.0_05-fcs
rpm -q fop          # fop-0.94-40
svn co svn://svn.valgrind.org/valgrind/trunk valgrind
cd valgrind
make dist
cd docs/print
export JAVA_HOME=/usr/java/jre1.6.0_05
FOP_OPTS="-Xmx400M" fop index.fo index.pdf

Error message printed by fop:

SEVERE: Exception
javax.xml.transform.TransformerException: org.apache.fop.fo.ValidationException: file:/home/bart/software/valgrind/docs/print/index.fo:4417:4879: Error(4417/4879): fo:inline is not a valid child element of fo:flow.
        at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:168)
        at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:115)
        at org.apache.fop.cli.Main.startFOP(Main.java:166)
        at org.apache.fop.cli.Main.main(Main.java:197)

---------

javax.xml.transform.TransformerException: org.apache.fop.fo.ValidationException: file:/home/bart/software/valgrind/docs/print/index.fo:4417:4879: Error(4417/4879): fo:inline is not a valid child element of fo:flow.
        at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:501)
        at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:165)
        at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:115)
        at org.apache.fop.cli.Main.startFOP(Main.java:166)
        at org.apache.fop.cli.Main.main(Main.java:197)
Caused by: org.apache.fop.fo.ValidationException: file:/home/bart/software/valgrind/docs/print/index.fo:4417:4879: Error(4417/4879): fo:inline is not a valid child element of fo:flow.
        at org.apache.fop.fo.FONode.invalidChildError(FONode.java:411)
        at org.apache.fop.fo.FONode.invalidChildError(FONode.java:396)
        at org.apache.fop.fo.pagination.Flow.validateChildNode(Flow.java:106)
        at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.startElement(FOTreeBuilder.java:302)
        at org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:185)
        at org.apache.xalan.transformer.TransformerIdentityImpl.startElement(TransformerIdentityImpl.java:1072)
        at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
        at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:484)
        ... 4 more
---------
org.apache.fop.fo.ValidationException: file:/home/bart/software/valgrind/docs/print/index.fo:4417:4879: Error(4417/4879): fo:inline is not a valid child element of fo:flow.
        at org.apache.fop.fo.FONode.invalidChildError(FONode.java:411)
        at org.apache.fop.fo.FONode.invalidChildError(FONode.java:396)
        at org.apache.fop.fo.pagination.Flow.validateChildNode(Flow.java:106)
        at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.startElement(FOTreeBuilder.java:302)
        at org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:185)
        at org.apache.xalan.transformer.TransformerIdentityImpl.startElement(TransformerIdentityImpl.java:1072)
        at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
        at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:484)
        at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:165)
        at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:115)
        at org.apache.fop.cli.Main.startFOP(Main.java:166)
        at org.apache.fop.cli.Main.main(Main.java:197)