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
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
[1] https://files.basex.org/releases/latest/ [2] https://github.com/BaseXdb/basex/commit/e1e6f51859db807773a55e206232fb574627...
________________________________ 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
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
%BASEX1211006%\bin\basex -OCATALOG="catalog1.xml;catalog2.xml;../../../github/xspec/src/catalog.xml" -q"doc('http://www.jenitennison.com/xslt/xspec/xproc/steps/run-xslt%27)/*/name()"
p:declare-step
###Repeated catalog2.xml -- error
%BASEX1211006%\bin\basex -OCATALOG="catalog1.xml;catalog2.xml;catalog2.xml;../../../github/xspec/src/catalog.xml" -q"doc('http://www.jenitennison.com/xslt/xspec/xproc/steps/run-xslt%27)/*/name()"
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
[1] https://files.basex.org/releases/latest/ [2] https://github.com/BaseXdb/basex/commit/e1e6f51859db807773a55e206232fb574627...
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
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
%BASEX1211006%\bin\basex -OCATALOG="catalog1.xml;catalog2.xml;../../../github/xspec/src/catalog.xml" -q"doc('http://www.jenitennison.com/xslt/xspec/xproc/steps/run-xslt%27)/*/name()"
p:declare-step
### Repeated catalog2.xml -- error
%BASEX1211006%\bin\basex -OCATALOG="catalog1.xml;catalog2.xml;catalog2.xml;../../../github/xspec/src/catalog.xml" -q"doc('http://www.jenitennison.com/xslt/xspec/xproc/steps/run-xslt%27)/*/name()"
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
[1] https://files.basex.org/releases/latest/ [2] https://github.com/BaseXdb/basex/commit/e1e6f51859db807773a55e206232fb574627...
________________________________ 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
Leaving the peculiarity as is sounds fine to me.
Glad to hear you and Norm are talking about catalogs in BaseX steps in XML Calabash 3. My question there is in good hands.
Best regards, Amanda On Monday, October 6th, 2025 at 7:43 AM, Christian Grün cg@basex.org wrote:
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
%BASEX1211006%\bin\basex -OCATALOG="catalog1.xml;catalog2.xml;../../../github/xspec/src/catalog.xml" -q"doc('http://www.jenitennison.com/xslt/xspec/xproc/steps/run-xslt%27)/*/name()"
p:declare-step
### Repeated catalog2.xml -- error
%BASEX1211006%\bin\basex -OCATALOG="catalog1.xml;catalog2.xml;catalog2.xml;../../../github/xspec/src/catalog.xml" -q"doc('http://www.jenitennison.com/xslt/xspec/xproc/steps/run-xslt%27)/*/name()"
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
[1] https://files.basex.org/releases/latest/ [2] https://github.com/BaseXdb/basex/commit/e1e6f51859db807773a55e206232fb574627...
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
basex-talk@mailman.uni-konstanz.de