[x3d-public] Future of X3DJSONLD—SAI, not DOM

John Carlson yottzumm at gmail.com
Sat Mar 25 18:10:51 PDT 2023

X3DJSONLD will move towards being implemented not in DOM, but with an SAI
Factory—instead of calling DOM document and element methods, SAI methods
will be called.   SAI will replace JSON schema in all current uses of JSON
schema for validating JSON, which may reduce schema download time.   I
believe Factory will consume less download time.   Plus, if files are
validated prior to being placed in production, maybe no validation is
required (good for optimized sites).

If anyone thinks this is horrible, let me know.   One problem is that
validation code paths will be different between DOM and SAI?  Or is DOM
implemented with SAI currently?   Thanks!

X3DJSONLD was intended to handle SVG JSON and HTML JSON, so unless someone
creates those in SAI, I will split away from the DOM product towards
something native to X3D.   I’ll call it X3DSAILD, as an umbrella term.
For X3DOM and X_ITE, this means migrating from JSONParser.js to
JSONConverter.js.   If someone want to provide hooks into X3D SAI for those
projects, that would be cool.

One can suggest which binding should be used first.   I suggest a non-HTML
browser.   The first step will be creating an SAI factory, if createNode is
not supported.  Primarily, i will look for SAI implementations.  Anyone?

I think that JSON schema will probably not be standardized by anyone.
Hence the move to a standardized interface like SAI.   If anyone has some
insight into standardization, let me know.

Current pathI am following are:  1) creating an  “X3Dautoclass” factory
module similar to bindings on top of X3DJSAIL, for implementation of
createNode, if not present.

Discussion of why we need JSON schema in addition to SAI are welcome.   I
can already run validation on the archive.  JSON schema is not going away.
  Indeed, more support for JSON schema in native environments is welcome.
If that environment doesn’t support SAI, but supports DOM, X3DJSONLD may be

I know that Doug suggested that JSON->XML suggested a separate process for
conversion.  Also, Michalis has suggested that view3dscene converts to
XML.  Is something more like JSON to XML preferred for those environments?
  What kinds of validation is required for XML in those environments?
An attempt will be made to support Navigation.info as a string.
Currently,  some of the string is trimmed.  One can see this during
validation, I believe.  No decision has been made between array or string
at this point.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230325/6b060126/attachment.html>

More information about the x3d-public mailing list