suggestion: support EXI validation

Suggestion:  it would be good to have a "validation" mode for Exificient, OpenEXI and perhaps other EXI tools.

Use case: making sure that an EXI document is correct, then further conducted as part of unit testing in example suites.

Functionality: validation mode reports whether an .exi document is legal, is schema informed, is canonical, has options, etc.

Background: we are currently working to add EXI capabilities to a pair of X3D application libraries, then add model conversion into EXI as part of the X3D Example Archives.

Currently we can check that things are working by round-trip conversions.  This is a bit tedious and might be more effective if such checking was streamlined.

Even if round tripping is set up OK, more effort is soon needed.  It is also hard to check that multiple tools are working compatibly, since the combinatorics of different versions to/fro quickly expands, creates too many files, and is rather confusing & error prone.

We are hoping to first create a bunch of .exi models and then validate those .exi documents separately with each library - quite a bit easier.  Might also recreate such an .exi library with a different EXI tool, thus testing all combinations of tool encoding/decoding.

The EXI working group might consider whether "generator" metadata [1] might be optionally included in a document's EXI Options [2] to facilitate diagnosis, debugging and improvement.

This action might also be regularized with Ant [3] and other build tools.  Perhaps even integrated into XmlUnit [4] or other unit-testing tools at some point.

On today's teleconference we discussed "corner cases" of special situations that one tool might work on while another tool does not.  In such cases, it is conceivable that a flaw might not be in the code implementation per se, but rather was an ambiguous or ill-defined circumstance in the corresponding EXI Recommendations.  So having similar validation modes in leading EXI tools will help implementations and the specification process as well.  Thus discovering and reconciling undetected flaws holds special appeal.

Looking beyond, once we have one or more tools with a validation mode, we might create an EXI Validator server to encourage both adoption and verification of EXI document conformance.

These are all helpful steps in the direction of encouraging EXI as a basic capability in the Web infrastructure.  Thanks for considering the possibilities.

[1] HTML5 4.2.5.1 Standard metadata names
     https://www.w3.org/TR/html5/document-metadata.html#standard-metadata-names

[2] EXI Recommendation, 5.4 EXI Options
     https://www.w3.org/TR/exi/#options

[3] Apache Ant
     https://ant.apache.org

[4] XMLUnit - Unit Testing XML for Java and .NET
     http://www.xmlunit.org

all the best, Don
-- 
Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman@nps.edu
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149
X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman

Received on Tuesday, 2 May 2017 18:44:52 UTC