[ https://issues.apache.org/jira/browse/DAFFODIL-1959?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16954158#comment-16954158 ]
Mike Beckerle commented on DAFFODIL-1959: ----------------------------------------- Notes: We should always supply a schema and do schema-aware EXI processing. Schemas can be big though, so one would like, if possible, to be able to pre-initialize an Exificient instance with a schema, then use it repeatedly to avoid the repeated overhead of digesting the schema. For example, if parsing messages one by one using the message-streaming API, but using an EXI outputter, one certainly does NOT want to create a new EXI outputter, nor have it reinitialize the EXI system with the DFDL schema again for each message. We need a way to do that once, then on each parse call it is just reused. Daffodil will never output XML comments nor processing instructions nor use DTDs, etc. those aren't part of the DFDL Infoset. So those options can be off, which the Exificient doc says they are by default. We don't need any of the "fidelity" options. E.g., preserve namespace prefixes, nor preserve character entity references, etc. The only debate/option is probably bit-packed representation (for small XML infosets), vs. compression (for large XML infosets). Since we wouldn't want the consumer to have to know what the choices are by the producer, Exificient has an INCLUDE_OPTIONS setting which includes the options into the EXI stream (hopefully portably). and INCLUDE_SCHEMA_ID so that the identity of the schema is also carried along. > EXIficient Inputter and outputter for XML EXI representation > ------------------------------------------------------------ > > Key: DAFFODIL-1959 > URL: https://issues.apache.org/jira/browse/DAFFODIL-1959 > Project: Daffodil > Issue Type: New Feature > Components: Back End > Affects Versions: 2.1.0 > Reporter: Mike Beckerle > Priority: Major > Labels: beginner > > Create EXI (dense binary XML) representation using an EXI-specific > InfosetInputter and InfosetOutputter. > These would be very similar to the XML InfosetInputter and Outputter - as EXI > libraries such as EXIfficient https://github.com/EXIficient/exificient > already have SAX/StAX, APIs, etc. -- This message was sent by Atlassian Jira (v8.3.4#803005)