Just a short note from abroad:

BaseX 10 will be based on Java 11, which provides better and native support
for XML catalogs. We're always interested in feedback on the latest 10.0
snapshot:

https://files.basex.org/maven/org/basex/basex/10.0-SNAPSHOT/

Some challenges with Saxon will remain with version 10; maybe they'll
eventually need to be tackled by Saxonica.(see [1] for more details).

Most probably, we won't spend additional time in improving catalog support
with BaseX 9.

[1] https://github.com/BaseXdb/basex/issues/1903





Imsieke, Gerrit, le-tex <gerrit.imsi...@le-tex.de> schrieb am Do., 2. Juni
2022, 16:24:

> Hi Daniel,
>
> I think the catalog in xslt:transform() is only used for XSLT
> imports/includes and maybe for reading documents with doc(), and only
> for Saxon. The catalog is probably *not* used for mapping system
> identifiers in the documents accessed this way. We should document this
> better once we find out what is/isn’t supported.
>
> The background is that we desperately needed to use catalogs for mapping
> import/include URIs, and we paid Liam to implement this. He succeeded
> with a little help from Christian, but it was not an easy feat because
> include/import URI resolution is different from doc() URI resolution in
> Saxon which in turn is different from system identifier resolution (that
> is probably done by the XML parser, not by Saxon).
>
> So I think we need to pay Liam and Christian again so that they work out
> how to pass the catalog to the XML parser that is invoked by Saxon. This
> definitely isn’t a fun task.
>
> Gerrit
>
> On 02.06.2022 14:44, Zimmel, Daniel wrote:
> > Hi,
> >
> > after reading https://docs.basex.org/wiki/Catalog_Resolver and digging
> in the list archives (
> https://mailman.uni-konstanz.de/pipermail/basex-talk/2019-March/014199.html
> ) I still have trouble understanding catalog files.
> >
> > Is this supposed to work with xslt:transform() and BaseX GUI 9.7.2?
> > The default option (DTD = false) is ignored by xslt:transform() because
> the function is definitely requesting the external DTD.
> > This prevents transforming XML with DTD declarations that are not
> available (if I understand correctly, a problem that the DTD option is
> trying to solve in general).
> >
> > When I try to solve this via catalog files (actually I do not need the
> DTD), I do not have success.
> > Here are my mini examples:
> >
> > Saxon HE 10.3 resides in the lib folder
> >
> > .basex setting:
> > # Local Options
> > SERIALIZER = indent=no
> > DTD = true
> >
> > XML in local folder "C:/temp/catalog":
> > <!DOCTYPE dokument
> >    SYSTEM "http://www.blahblahblah.info/dtd/dokument.dtd";>
> > <dokument>
> >    <doknr>01</doknr>
> > </dokument>
> >
> > catalog.xml in local folder "C:/temp/catalog":
> > <catalog prefer="system"
> xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
> >    <rewriteSystem systemIdStartString="http://www.blahblahblah.info/dtd/";
> rewritePrefix="file:///C:/temp/catalog/dtd/"/>
> > </catalog>
> >
> > dokument.dtd in local folder "C:/temp/catalog/dtd":
> > <!ELEMENT dokument (doknr)>
> > <!ELEMENT  doknr (#PCDATA)>
> >
> > XQuery query.xq in local folder "C:/temp/catalog":
> > (# db:catfile catalog.xml #) {
> >    xslt:transform('dokument.xml', 'transform.xsl')
> > }
> >
> >
> > With or without pragma, this always results in a
> java.net.UnknownHostException (because the system ID is not available,
> that's true), but I would be expecting this would resolve to
> "file:///C:/temp/catalog/dtd/dokument.dtd"
> >
> > Not working in GUI nor via CCL.
> >
> > What am I getting wrong?
> >
> > Thanks, Daniel
> >
>
> --
> Gerrit Imsieke
> Geschäftsführer / Managing Director
> le-tex publishing services GmbH
> Weissenfelser Str. 84, 04229 Leipzig, Germany
> Phone +49 341 355356 110, Fax +49 341 355356 510
> gerrit.imsi...@le-tex.de, http://www.le-tex.de
>
> Registergericht / Commercial Register: Amtsgericht Leipzig
> Registernummer / Registration Number: HRB 24930
>
> Geschäftsführer / Managing Directors:
> Gerrit Imsieke, Svea Jelonek, Thomas Schmidt
>

Reply via email to