Thanks for the swift feedback, Amanda.
It is interesting to hear that catalog must not be repeated (at least in some way, whatever that may be). It seems to be a peculiarity of the JDK-specific handling of catalog files, so I think I will keep it that way.
By the way, I am also in contact with Norm. We are working on a solution to enable Calabash to use catalogs within BaseX steps.
All the best,
Christian
Von: Amanda Galtman <galtmana@proton.me>
Gesendet: Montag, 6. Oktober 2025 13:31
An: Christian Grün <cg@basex.org>
Cc: basex-talk@mailman.uni-konstanz.de <basex-talk@mailman.uni-konstanz.de>
Betreff: Re: AW: [basex-talk] BaseX standalone with multiple catalog files
Hi, Christian.
Thanks a lot. The fix works in my small test case, as well as in a real case that prompted my message.
While trying out the latest BaseX, I noticed that if I repeat a catalog path, sometimes that causes an error. Not that I would knowingly repeat a catalog path in real life. You can decide if this
is something to support or a user error.
###
No repetition -- no error
p:declare-step
###
Repeated catalog2.xml -- error
Stopped at C:/.../, 1/4:
[FODC0002] 404: Not Found
### Repeated catalogs -- no error
%BASEX1211006%\bin\basex -OCATALOG="catalog1.xml;catalog2.xml;catalog2.xml;catalog1.xml;catalog2.xml" -q"doc('mycat1:/document.xml')"
<hello/>
Best regards,
Amanda
On Monday, October 6th, 2025 at 2:41 AM, Christian Grün <cg@basex.org> wrote:
Hi Amanda,
Thanks for the observation. It seems that we have accidentally dropped support for semicolon-separated catalog lists in a recent release (possibly with the alignments to the changed catalog resolver of a new JDK).
I have just uploaded a fix [1, 2]; I hope it does what I hope it does.
Best,
Christian
Von: Amanda Galtman via BaseX-Talk <basex-talk@mailman.uni-konstanz.de>
Gesendet: Freitag, 3. Oktober 2025 01:13
An: basex-talk@mailman.uni-konstanz.de <basex-talk@mailman.uni-konstanz.de>
Betreff: [basex-talk] BaseX standalone with multiple catalog files
Hi, all.
Does someone have a syntax example for using multiple catalogs with BaseX v12.0 standalone on Windows? The Options page in the BaseX documentation says CATALOG can be a semicolon-separated list of
files, so I tried the following, where both catalog files are in my working directory:
%BASEX120%\bin\basex -OCATALOG="catalog1.xml;catalog2.xml" -q"doc('mycat1:/document.xml')"
java -cp "%BASEX120%\BaseX.jar" -Dorg.basex.CATALOG="catalog1.xml;catalog2.xml" org.basex.BaseX -q"doc('mycat1:/document.xml')"
The error messages suggest that the catalogs are not being used. I also tried several syntax variations without success. Both syntaxes above work fine if I specify only one catalog instead of a semicolon-separated
list.
For the record, the catalog1.xml file in my example commands is as below, and my document.xml file is in a subdirectory named "docs".
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
<rewriteURI rewritePrefix="./docs/" uriStartString="mycat1:/" />
</catalog>
Thanks,
Amanda