Hi Christian --
Adding the path to Saxon to a shell environment variable CLASSPATH didn't work. There was no pre-existing CLASSPATH, so I suspect the current Fedora Java setup is doing something clever somewhere, and I'd have to go comprehend it. Since I expect to be deploying this particular bit of BXS and XQuery on various platforms, I would like to keep the solution as much "inside" BaseX as possible.
It will probably be the case that I'm going to want to run the transform with either Saxon-EE or Saxon-PE when both are available. So having some way to select a transformer would be welcome. Some way to specify extensions that should be added to the class path would also be welcome. (We have, for example, a little bit of java that is used to return image properties being used in the XSLT, and that has to go on the classpath somehow.)
Related to this, setting the catalog for use by xslt:transform() is defeating me.
(# db:catfile xmlcatalog/catalog.xml #) {
xslt:transform(db:open('acme_content')[1], '../acmecustom/acmehtml.xsl')
}
https://docs.basex.org/wiki/Options#CATFILE suggests I might want the full path. (But no.) Relative path relative to the xquery file? no. document-uri of the catalog as loaded into the context db? Also no. No matter which of these options I try, I get the same "File not found" exception about the system component of the doctype. The exact catalog I am attempting to reference is in production on multiple systems, so I am disinclined to think it's got an error.
What am I doing wrong with the catalog? Is there a better means of saying "use this one with this transform"? Some way to pass the catalog parameter through to Saxon?