OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: saxon, xerces, xinclude, and DB5 (was Re: [docbook-apps] troubleusing FOP to process FO file generated by Xalan or Saxon)


Hi all,

funny I'm struggling with similar issue.

I did set up saxon to use Xerces 2.9.0 and while full inclusions like

  <xi:include href="Inserted.xml"/>

works, referencing an id with

  <xi:include href="Inserted.xml" xpointer="para"/>

doesn't work:

---------------------------------------------------------------------
Recoverable error
org.xml.sax.SAXParseException: Include operation failed, reverting to
fallback. Resource error reading file as XML (href='Inserted.xml').
Reason: XPointer resolution unsuccessful.
Error on line 8 column 52 of file:////home/camille/test/master.xml:
  Error reported by XML parser: An 'include' failed, and no 'fallback'
element was found.
Transformation failed: Failed to parse stylesheet
---------------------------------------------------------------------

This is with docbook 5 RNG. With Docbook 4 DTD it works.

I suspect this is because the parser has no way to know the "xml:id"
attribute is actually of ID type, while with DocBOok 4 it has the DTD to
learn thatthe "id" attribute is an ID.

Anyone succeeded using xinclude with xpointer="id" with DB5 RNG?

Camille.



Jeff Powanda a écrit :
> One follow-up comment about using Xerces XML parser
> (http://xerces.apache.org/xerces2-j/) with Saxon or Xalan. The latest
> version of Xerces (2.9.0) fully supports XML inclusions (XInclude),
> including XPointer syntax.

> Regards,
> 
> Jeff Powanda
> 
>  
> 
> ------------------------------------------------------------------------
> 
> *From:* Jeff Powanda
> *Sent:* Sunday, June 10, 2007 11:14 PM
> *To:* 'fop-users@xmlgraphics.apache.org'; docbook-apps@lists.oasis-open.org
> *Subject:* RE: [docbook-apps] trouble using FOP to process FO file
> generated by Xalan or Saxon
> 
>  
> 
> Thanks, Bob! I followed your instructions and can now process my
> documents with xsltproc, Saxon, or Xalan. I appreciate your help.
> 
>  
> 
> Regards,
> 
> Jeff Powanda
> 
>  
> 
> ------------------------------------------------------------------------
> 
> *From:* Bob Stayton [mailto:bobs@sagehill.net]
> *Sent:* Saturday, June 09, 2007 7:36 PM
> *To:* Jeff Powanda; docbook-apps@lists.oasis-open.org;
> fop-users@xmlgraphics.apache.org
> *Subject:* Re: [docbook-apps] trouble using FOP to process FO file
> generated by Xalan or Saxon
> 
>  
> 
> Hi Jeff,
> 
> The XIncludes in your XML file are not resolving.  That leaves your book
> improperly stuctured, leading to improperly structured FO output.  You
> should have seen an error message from the stylesheet about not having a
> template that matches "xi:include".
> 
>  
> 
> You need to set up either Saxon or Xalan with a recent version of Xerces
> parser and with the XInclude option turned on.  See this section in my book:
> 
>  
> 
> http://www.sagehill.net/docbookxsl/Xinclude.html#JavaXIncludes
> 
>  
> 
> Bob Stayton
> Sagehill Enterprises
> DocBook Consulting
> bobs@sagehill.net <mailto:bobs@sagehill.net>
> 
>  
> 
>  
> 
>     ----- Original Message -----
> 
>     *From:* Jeff Powanda <mailto:jpowanda@vocera.com>
> 
>     *To:* docbook-apps@lists.oasis-open.org
>     <mailto:docbook-apps@lists.oasis-open.org> ;
>     fop-users@xmlgraphics.apache.org
>     <mailto:fop-users@xmlgraphics.apache.org>
> 
>     *Sent:* Saturday, June 09, 2007 5:34 PM
> 
>     *Subject:* [docbook-apps] trouble using FOP to process FO file
>     generated by Xalan or Saxon
> 
>      
> 
>     I was using xsltproc as my XSLT processor, but it ran out of memory
>     on a large book, so I decided to try Xalan and Saxon to convert a
>     test book. I set up Xalan and Saxon according to the instructions in
>     Bob Stayton’s book, DocBook XSL: The Definitive Guide
>     (http://www.sagehill.net/docbookxsl/index.html). However, when I try
>     to use FOP 0.93 to convert either of the attached FO files, it
>     reports the following exception:
> 
>      
> 
>     org.xml.sax.SAXParseException: Content is not allowed in prolog.
> 
>      
> 
>     I pasted full output of the exception below.
> 
>      
> 
>     Has anyone else experienced this problem? Please take a look at the
>     attached FO files and tell me what’s wrong.
> 
>      
> 
>     Regards,
> 
>     Jeff Powanda
> 
>      
> 
>      
> 
>     [Fatal Error] :1:1: Content is not allowed in prolog.
> 
>     Jun 9, 2007 5:21:38 PM org.apache.fop.image.analyser.XMLReader
>     createDocument
> 
>     WARNING: Error while constructing image from XML
> 
>     org.xml.sax.SAXParseException: Content is not allowed in prolog.
> 
>           at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
> 
>           at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown
>     Source)
> 
>           at
>     javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:98)
> 
>           at
>     org.apache.fop.image.analyser.XMLReader.createDocument(XMLReader.java:115)
> 
>           at
>     org.apache.fop.image.analyser.XMLReader.loadImage(XMLReader.java:95)
> 
>           at
>     org.apache.fop.image.analyser.XMLReader.verifySignature(XMLReader.java:65)
> 
>           at
>     org.apache.fop.image.analyser.ImageReaderFactory.make(ImageReaderFactory.java:85)
> 
>           at
>     org.apache.fop.image.ImageFactory.loadImage(ImageFactory.java:220)
> 
>           at org.apache.fop.image.ImageLoader.loadImage(ImageLoader.java:56)
> 
>           at
>     org.apache.fop.image.ContextImageCache.getImage(ImageFactory.java:432)
> 
>           at
>     org.apache.fop.image.ImageFactory.getImage(ImageFactory.java:157)
> 
>           at
>     org.apache.fop.fo.flow.ExternalGraphic.bind(ExternalGraphic.java:68)
> 
>           at org.apache.fop.fo.FObj.processNode(FObj.java:118)
> 
>           at
>     org.apache.fop.fo.FOTreeBuilder$MainFOHandler.startElement(FOTreeBuilder.java:321)
> 
>           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.parsers.AbstractXMLDocumentParser.emptyElement(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:160)
> 
>           at org.apache.fop.cli.Main.main(Main.java:191)
> 
>     Jun 9, 2007 5:21:38 PM org.apache.fop.image.ImageFactory loadImage
> 
>     SEVERE: Error while recovering image information () : null
> 
>     java.lang.NullPointerException
> 
>           at
>     org.apache.fop.image.analyser.XMLReader.verifySignature(XMLReader.java:66)
> 
>           at
>     org.apache.fop.image.analyser.ImageReaderFactory.make(ImageReaderFactory.java:85)
> 
>           at
>     org.apache.fop.image.ImageFactory.loadImage(ImageFactory.java:220)
> 
>           at org.apache.fop.image.ImageLoader.loadImage(ImageLoader.java:56)
> 
>           at
>     org.apache.fop.image.ContextImageCache.getImage(ImageFactory.java:432)
> 
>           at
>     org.apache.fop.image.ImageFactory.getImage(ImageFactory.java:157)
> 
>           at
>     org.apache.fop.fo.flow.ExternalGraphic.bind(ExternalGraphic.java:68)
> 
>           at org.apache.fop.fo.FObj.processNode(FObj.java:118)
> 
>           at
>     org.apache.fop.fo.FOTreeBuilder$MainFOHandler.startElement(FOTreeBuilder.java:321)
> 
>           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.parsers.AbstractXMLDocumentParser.emptyElement(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:160)
> 
>           at org.apache.fop.cli.Main.main(Main.java:191)
> 
>     Jun 9, 2007 5:21:38 PM org.apache.fop.fo.flow.ExternalGraphic bind
> 
>     SEVERE: Image not available: url()
> 
>     Jun 9, 2007 5:21:39 PM org.apache.fop.cli.Main startFOP
> 
>     SEVERE: Exception
> 
>     javax.xml.transform.TransformerException:
>     org.apache.fop.fo.ValidationException:
>     file:///c:/docs/40SP/xml/other/indextest/IndexTest.fo:13:11234:
>     Error(13/11234): fo:block is not a valid child element of fo:root.
> 
>           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:160)
> 
>           at org.apache.fop.cli.Main.main(Main.java:191)
> 
>      
> 
>     ---------
> 
>      
> 
>     javax.xml.transform.TransformerException:
>     org.apache.fop.fo.ValidationException:
>     file:///c:/docs/40SP/xml/other/indextest/IndexTest.fo:13:11234:
>     Error(13/11234): fo:block is not a valid child element of fo:root.
> 
>           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:160)
> 
>           at org.apache.fop.cli.Main.main(Main.java:191)
> 
>     Caused by: org.apache.fop.fo.ValidationException:
>     file:///c:/docs/40SP/xml/other/indextest/IndexTest.fo:13:11234:
>     Error(13/11234): fo:block is not a valid child element of fo:root.
> 
>           at org.apache.fop.fo.FONode.invalidChildError(FONode.java:393)
> 
>           at org.apache.fop.fo.FONode.invalidChildError(FONode.java:378)
> 
>           at
>     org.apache.fop.fo.pagination.Root.validateChildNode(Root.java:127)
> 
>           at
>     org.apache.fop.fo.FOTreeBuilder$MainFOHandler.startElement(FOTreeBuilder.java:303)
> 
>           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:///c:/docs/40SP/xml/other/indextest/IndexTest.fo:13:11234:
>     Error(13/11234): fo:block is not a valid child element of fo:root.
> 
>           at org.apache.fop.fo.FONode.invalidChildError(FONode.java:393)
> 
>           at org.apache.fop.fo.FONode.invalidChildError(FONode.java:378)
> 
>           at
>     org.apache.fop.fo.pagination.Root.validateChildNode(Root.java:127)
> 
>           at
>     org.apache.fop.fo.FOTreeBuilder$MainFOHandler.startElement(FOTreeBuilder.java:303)
> 
>           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:160)
> 
>           at org.apache.fop.cli.Main.main(Main.java:191)
> 
>      
> 
>      
> 
>     ------------------------------------------------------------------------
> 
>     ---------------------------------------------------------------------
>     To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org
>     For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org
> 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]