On Thu, 2020-07-09 at 04:32 +0000, Lizzi, Vincent wrote:
Hi Liam,
Thanks for the reply and suggestions. Based on your suggestion I tried pragmas and strace, and had another go at CatalogManager.properties, but they've not had any effect.
use, strace -f java.... >& hugelogfile.txt and after, grep -i catalogmanager.properties hugelogfile.txt and you should see where it's looking. If it doesn't look for that file, check to see if it opened the jar file containing the resolver.
If you're running BaseX from Oxygen, Oxygen needs to have it in its classpath too i think.
Also, of course, see if the catalog file is actually being opened!
I actually wrote some of the code in BaseX that makes XML catalogs work with transform(), or provided a rough draft that Christian improved :), and debugging it was... interesting.
I'd also try an absolute path for the catalog file - if you are using the BaseX server, relative paths will be relative to the directory (folder) where the server itself is running. (and of course the server needs the resolver in its classpath).
Messages from the catalog manager seem to go (oddly) to standard output interleaved with any XML output.
The command-line i used for testing this (well, one of the tests) was,
R=$HOME/lib/xmlcatalog/xml-commons-resolver-1.2/resolver.jar MAIN=$HOME/packages/basex/basex
java -Dxml.catalog.files=saxlog.xml -D' http://saxon.sf.net/feature/uriResolverClass=org.apache.xml.resolver.tools.C...' -cp $R/resolver.jar:/home/lee/packages/basex/basex/BaseX.jar:$MAIN/lib/cust om/*:$MAIN/lib/*: org.basex.BaseX try.xq
(Saxon was in $MAIN)