Using Catalogs with Saxon8B XQuery Processor

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 ---- W. Eliot Kimber Senior Solutions Architect Really Strategies, Inc. 512 554 9368

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

Cool--that works great. Thanks, E. ---- W. Eliot Kimber Senior Solutions Architect Really Strategies, Inc. 512 554 9368
-----Original Message----- From: oxygen-user-bounces@oxygenxml.com [mailto:oxygen-user- bounces@oxygenxml.com] On Behalf Of Sorin Ristache Sent: Tuesday, August 21, 2007 10:39 AM To: Oxygen User Subject: Re: [oXygen-user] Using Catalogs with Saxon8B XQuery Processor
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.Catal ogEnabledXMLReader"))
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
_______________________________________________ oXygen-user mailing list oXygen-user@oxygenxml.com http://www.oxygenxml.com/mailman/listinfo/oxygen-user
participants (2)
-
Eliot Kimber
-
Sorin Ristache