I think exposing the DFDLCatalogResolver to the Java API makes perfect
sense.

I wonder if this class should be renamed to DFDLClasspathResolver, since
the key thing it does that is different from a standard resolver is to
search the classpath for the schemaLocation entries.

On Wed, Sep 28, 2022 at 10:21 AM Adams, Joshua <jad...@owlcyberdefense.com>
wrote:

> Hello all,
>
> I've implemented a basic "Hello World" style example program using Agile
> Delta's EXI implementaion with Daffodil:
>
> https://github.com/OpenDFDL/examples/pull/27
>
> There is one issue in particular that I wanted to bring up.  Right now it
> cannot do schema aware EXI as it can't always resolve schemas correctly by
> default.  The Agile Delta SDK does have a SchemaResolver interface that
> would be pretty straightforward to impelment using Daffodil's
> DFDLCatalogResolver.  However, the DFDLCatalogResolver is not exposed to
> the Java API (which is what this example is using).  It seems to me that
> the right thing to do would be to expose the DFDLCatalogResolver to the
> Java API but figured it should be brought up for general discussion.
>
> DFDLCatalogResolver is implementing a Java interface under the hood
> (org.xml.sax.EntityResolver) and we expose most of the other SAX interfaces
> that Daffodil implements anyways.  DFDLCatalogResolver was also needed when
> implementing the Exificient support in the Daffodil Main program, but since
> that is written in Scala and is part of Daffodil itself, it wasn't a big
> deal to just import the DFDLCatalogResolver class.
>
> Please let me know what you think the correct path forward is.  I'll take
> feedback either in this thread or in the pull request linked above.
>
> Josh Adams
>

Reply via email to