xsl-list
[Top] [All Lists]

Re: [xsl] Catalog support in Saxon-B (Linux)?

2010-08-27 14:33:54
Thanks for the quick answer.

On 26 August 2010 18:56, Michael Kay <mike(_at_)saxonica(_dot_)com> wrote:

You can find information on using Saxon with catalogs here:

https://sourceforge.net/apps/mediawiki/saxon/index.php?title=XML_Catalogs

Regrettably, if your source document contains a reference to a DTD, there is 
no way to prevent the XML parser from attempting to retrieve the DTD. You can 
suppress DTD-based validation, but you can't suppress other things that are 
DTD-dependent, like entity definitions and default attribute expansion.

(There's nothing about this problem that's specific to Java, incidentally, or 
for that matter to XSLT. It's a pure XML parsing issue.)

I only thought it was a Java issue since I seem to be able to invoke
xsltproc without its downloading the DTD.

In any case, I followed the instructions (I think).

I'm now getting a slew of Java errors when I try to invoke it.

----------
here is the shell file containing `saxonb`

exec java -cp 
/usr/share/java/xml-commons-resolver-1.1.jar:/usr/share/java/saxonb.jar
\
        -Dxml.catalog.files=/etc/xml/catalog \
        -Dxml.catalog.verbosity=1 \
        net.sf.saxon.Transform \
        -novw \
        -r org.apache.xml.resolver.tools.CatalogResolver \
        -x org.apache.xml.resolver.tools.ResolvingXMLReader \
        -y org.apache.xml.resolver.tools.ResolvingXMLReader "$@"
----------
Here is the contents of /etc/catalog

<?xml version="1.0"?>
<!DOCTYPE catalog PUBLIC "-//OASIS//DTD XML Catalogs V1.0//EN"
  "file:///usr/share/xml/schema/xml-core/catalog.dtd">
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
<delegateURI 
uriStartString="http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/";
catalog="file:///etc/xml/rarian-compat.xml"/>
<delegatePublic publicIdStartString="ISO 8879:1986//ENTITIES"
catalog="file:///etc/xml/sgml-data.xml"/>
<delegateSystem systemIdStartString="/usr/share/sgml/dtd/svg"
catalog="file:///etc/xml/sgml-data.xml"/>
<delegateSystem systemIdStartString="http://docbook.org/xml/";
catalog="file:///etc/xml/docbook-xml.xml"/>
<delegatePublic publicIdStartString="-//OASIS//ELEMENTS DocBook"
catalog="file:///etc/xml/docbook-xml.xml"/>
<delegatePublic publicIdStartString="+//IDN faq.org//DTD Frequently
Asked Questions" catalog="file:///etc/xml/sgml-data.xml"/>
<delegatePublic publicIdStartString="-//OASIS//DTD DocBook XML"
catalog="file:///etc/xml/docbook-xml.xml"/>
<delegateSystem
systemIdStartString="http://www.w3.org/Graphics/SVG/1.1/";
catalog="file:///etc/xml/sgml-data.xml"/>
<delegateSystem systemIdStartString="/usr/share/sgml/dtd/qaml-xml.dtd"
catalog="file:///etc/xml/sgml-data.xml"/>
<delegatePublic publicIdStartString="-//GlobalTransCorp//DTD XML
Catalogs V1.0-Based Extension V1.0//EN"
catalog="file:///etc/xml/xml-core.xml"/>
<delegatePublic publicIdStartString="-//Norman Walsh//DTD CALS Table
Model XML" catalog="file:///etc/xml/docbook-xml.xml"/>
<delegatePublic publicIdStartString="-//OASIS//DTD XML Exchange Table
Model 19990315" catalog="file:///etc/xml/docbook-xml.xml"/>
<delegatePublic publicIdStartString="-//Norman Walsh//ELEMENTS DocBk
XML" catalog="file:///etc/xml/docbook-xml.xml"/>
<delegatePublic publicIdStartString="-//OASIS//DTD XML Catalogs
V1.0//EN" catalog="file:///etc/xml/xml-core.xml"/>
<delegateSystem
systemIdStartString="http://globaltranscorp.org/oasis/catalog/xml/tr9401.dtd";
catalog="file:///etc/xml/xml-core.xml"/>
<delegatePublic publicIdStartString="-//W3C//DTD SVG"
catalog="file:///etc/xml/sgml-data.xml"/>
<delegatePublic publicIdStartString="-//Norman Walsh//DTD DocBook XML"
catalog="file:///etc/xml/docbook-xml.xml"/>
<delegateSystem
systemIdStartString="http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd";
catalog="file:///etc/xml/xml-core.xml"/>
<delegateSystem
systemIdStartString="http://xml.ascc.net/xml/resource/qaml-xml";
catalog="file:///etc/xml/sgml-data.xml"/>
<delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook"
catalog="file:///etc/xml/docbook-xml.xml"/>
<delegateSystem
systemIdStartString="http://www.w3.org/TR/2001/REC-SVG-20010904/";
catalog="file:///etc/xml/sgml-data.xml"/>
<delegatePublic publicIdStartString="-//Norman Walsh//ENTITIES DocBk
XML" catalog="file:///etc/xml/docbook-xml.xml"/>
<delegatePublic publicIdStartString="-//Norman Walsh//DTD DocBk XML"
catalog="file:///etc/xml/docbook-xml.xml"/>
<delegatePublic publicIdStartString="-//Normal Walsh//Exchange Table
Model 19960430" catalog="file:///etc/xml/docbook-xml.xml"/>
<delegatePublic publicIdStartString="+//ISBN 82-7640-023//DTD
Frequently Asked Questions//EN"
catalog="file:///etc/xml/sgml-data.xml"/>
<delegateSystem
systemIdStartString="http://www.oasis-open.org/docbook/xml/";
catalog="file:///etc/xml/docbook-xml.xml"/>
<delegatePublic publicIdStartString="-//OASIS//DTD DocBook CALS Table
Model" catalog="file:///etc/xml/docbook-xml.xml"/>
<delegateSystem
systemIdStartString="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";
catalog="file:///etc/xml/xhtml1-strict.dtd"/>
<delegatePublic publicIdStartString="-//W3C//DTD XHTML 1.0 Strict//EN"
catalog="file:///etc/xml/xhtml1-strict.dtd"/>
</catalog>

----------
Here is the invokation of the command and the error messages:

$ saxonb -ext:on -o foo.out -s foo.html -xsl:foo.xsl
java.lang.ArrayIndexOutOfBoundsException: 3
        at 
org.apache.xml.resolver.readers.TextCatalogReader.nextToken(TextCatalogReader.java:249)
        at 
org.apache.xml.resolver.readers.TR9401CatalogReader.readCatalog(TR9401CatalogReader.java:81)
        at org.apache.xml.resolver.Catalog.parseCatalogFile(Catalog.java:861)
        at 
org.apache.xml.resolver.Catalog.parsePendingCatalogs(Catalog.java:757)
        at org.apache.xml.resolver.Catalog.parseCatalog(Catalog.java:605)
        at org.apache.xml.resolver.Catalog.resolveLocalSystem(Catalog.java:1829)
        at org.apache.xml.resolver.Catalog.resolveSystem(Catalog.java:1704)
        at 
org.apache.xml.resolver.tools.CatalogResolver.getResolvedEntity(CatalogResolver.java:131)
        at 
org.apache.xml.resolver.tools.ResolvingXMLFilter.resolveEntity(ResolvingXMLFilter.java:173)
        at 
com.sun.org.apache.xerces.internal.util.EntityResolverWrapper.resolveEntity(EntityResolverWrapper.java:110)
        at 
com.sun.org.apache.xerces.internal.impl.XMLEntityManager.resolveEntityAsPerStax(XMLEntityManager.java:995)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1167)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1065)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:978)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625)
        at 
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:812)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:741)
        at 
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1208)
        at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:525)
        at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:357)
        at 
org.apache.xml.resolver.tools.ResolvingXMLFilter.parse(ResolvingXMLFilter.java:141)
        at net.sf.saxon.event.Sender.sendSAXSource(Unknown Source)
        at net.sf.saxon.event.Sender.send(Unknown Source)
        at net.sf.saxon.event.Sender.send(Unknown Source)
        at net.sf.saxon.Controller.transform(Unknown Source)
        at net.sf.saxon.Transform.processFile(Unknown Source)
        at net.sf.saxon.Transform.doTransform(Unknown Source)
        at net.sf.saxon.Transform.main(Unknown Source)
Fatal error during transformation: java.lang.ArrayIndexOutOfBoundsException: 3

The same file, run through xsltproc, generates no errors.

Any suggestions?

- Evan

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>