We are trying to use XML Catalogs with Saxon Apache . Saxon is
initially resolving the catalog file, when it loads the XML
file it doesn't resolve the DTD. It keeps looking in the source
directory for the DTD.
We have tried public identifiers, system identifiers and URIs
in the XML file and get the same results.
Any help would be appreciated. The appropriate information is
below:
<!-- Batch File -->
set LIB_DIR=c:\TestCatalog\lib
set CLASSPATH=%LIB_DIR%\saxon.jar;%LIB_DIR%\resolver-latest.jar;%LIB_DIR%
java -classpath "%CLASSPATH%" com.icl.saxon.StyleSheet -w0 -x
org.apache.xml.resolver.tools.ResolvingXMLReader -y
org.apache.xml.resolver.tools.ResolvingXMLReader -r
org.apache.xml.resolver.tools.CatalogResolver raven.xml lib/poem.xsl
<-- Catalog File -->
<?xml version="1.0"?>
<!DOCTYPE catalog
PUBLIC "-//OASIS/DTD Entity Resolution XML Catalog V1.0//EN"
"http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
<group xml:base="'/TestCatalog/" >
<public publicID="-//Test//DTD //EN"
uri="file:///c:/TestCatalog/DTD/poem.dtd"/>
<rewriteURI
uriStartString="foo.dtd"
rewritePrefix="DTD/poem.dtd" />
</group>
</catalog>
<!-- Result -->
C:\TestCatalog>set LIB_DIR=c:\TestCatalog\lib
C:\TestCatalog>set
CLASSPATH=c:\TestCatalog\lib\saxon.jar;c:\TestCatalog\lib\resolver-latest.jar;c:\TestCatalog\lib
C:\TestCatalog>java -classpath
"c:\TestCatalog\lib\saxon.jar;c:\TestCatalog\lib\resolver-latest.jar;c:\TestCatalog\lib"
com.icl.saxon.StyleSheet -w0 -x
org.apache.xml.resolver.tools.ResolvingXMLReader -y
org.apache.xml.resolver.tools.ResolvingXMLReader -r
org.apache.xml.resolver.tools.CatalogResolver raven.xml lib/poem.xsl
Parse catalog: file:/TestCatalog/catalog/poem.soc
Loading catalog: file:/TestCatalog/catalog/poem.soc
Default BASE: file:/TestCatalog/catalog/poem.soc
xml:base: '/TestCatalog/
BASE STR: '/TestCatalog/
Error: required attribute publicId missing.
rewriteURI: foo.dtd
DTD/poem.dtd
REWRITE_URI: foo.dtd
file:/TestCatalog/catalog/'/TestCatalog/DTD/poem.dtd (reset)
xml:base: file:/TestCatalog/catalog/poem.soc BASE STR:
file:/TestCatalog/catalog/poem.soc
resolveSystem(file:/C:/TestCatalog/lib/poem.xsl)
resolveSystem(file:/C:/TestCatalog/raven.xml)
resolveSystem(file:/C:/TestCatalog/foo.dtd) Error on line 2 column 36 of
file:/C:/TestCatalog/raven.xml:
Error reported by XML parser: Cannot read from
file:/C:/TestCatalog/foo.dtd (C:\TestCatalog\foo.dtd (The system cannot
find the file specified))
Transformation failed: Run-time errors were reported
Thanks for any help!
Betty
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Betty Harvey | Phone: 410-787-9200 FAX: 9830
Electronic Commerce Connection, Inc. |
harvey(_at_)eccnet(_dot_)com | Washington,DC XML Users Grp
URL: http://www.eccnet.com | http://www.eccnet.com/xmlug
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\\/\/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list