[oXygen-user] Using Catalogs with Saxon8B XQuery Processor

Sorin Ristache
Tue Aug 21 09:39:11 CDT 2007


Hello,

If the collection query does not specify an XML catalog enabled XML 
parser as the "parser" parameter then Saxon 8 uses the default JAXP 
XMLReader implementation for parsing the collection files which is 
usually not catalog enabled. In order to use the XML catalog set in the 
oXygen preferences you have to specify the class name 
ro.sync.xml.parser.CatalogEnabledXMLReader in your query:

   let $docs := 
collection(iri-to-uri("mydocsdir?recurse=yes;select=*.xml;parser=ro.sync.xml.parser.CatalogEnabledXMLReader"))


Regards,
Sorin


Eliot Kimber wrote:
> I'm trying to use Saxon through Oxygen to query documents that require a catalog for DTD resolution (the DTD system ID is an absolute URI that isn't a real location).
> 
> I've configured Oxygen's catalog setup to use my catalogs and that works fine.
> 
> When I try to doc a query like this:
> 
> Let $docs := collection(iri-to-uri("mydocsdir&recurse=yes;select=*.xml"))
> 
> I get a "404 Not Found for: {URI of DTD}
> 
> I didn't see any obvious option for specifying the catalog. Since I'm using Saxon's built-in catalog resolver I'm not sure what to do to make it work with my catalogs.
> 
> Thanks,
> 
> Eliot




More information about the oXygen-user mailing list