Code Monkey home page Code Monkey logo

Comments (3)

danielpeintner avatar danielpeintner commented on June 19, 2024

I see your argument and their were some ideas to specify how a pre-processed EXI grammars exchange format might look like. Having said that, it never made it to be standardized.
What you are asking is a way to store EXI grammars with Serializable in Java. In other projects I did not make good experience with it since new Java Version might break the way a thing is serialized. Moreover, one can process the XSD once it is required and re-use it for any subsequent call the EXI encoding / decoding process requires it. This might be an alternative.

Note1: I believe this issue belongs to https://github.com/EXIficient/exificient-grammars
Note2: https://github.com/EXIficient/exificient-grammars#exchange-of-exi-grammars has some information how exchange can be done otherwise .. but I assume loading the XSD directly (once) in most of the cases is not really slower..

from exificient-core.

mbeckerle avatar mbeckerle commented on June 19, 2024

Thank you for this information.

Should I re-create this ticket on the exificient-grammars repo?

Serializing the grammar to XML, or to JSON would likely solve my problem. I will investigate per the links you provided.

A standard and portable form for these grammars would be nice, but is not required, nor do we need the serialization of the grammar to be reusable across versions of Exificient nor versions of Java.

There are actually two reasons why a serialized grammar is needed.

(1) performance - the penalty of converting a large XSD into a grammar at startup

(2) resolver - eliminate the need to have multiple things to use the schema-aware EXI file: (a) entire schema and (b) software linked to our URI resolver (Apache Daffodil has a specific resolver that uses XML Catalogs, relative paths, and classpath search of directories/jars - which enables packaging XSD schemas into jar files like any reusable software module.)

from exificient-core.

danielpeintner avatar danielpeintner commented on June 19, 2024

Moved to EXIficient/exificient-grammars#17

from exificient-core.

Related Issues (3)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.