[x3d-public] JSON to DOM inquiry (for XML schema)

John Carlson yottzumm at gmail.com
Thu Dec 14 07:56:45 PST 2023


I got DOM validation working!  That which must not be named provided some
assistance.

Changes to DocumentBuilderFactory were:

+               dbf.setNamespaceAware(true);
+               dbf.setValidating(true);

Changes to X3DJSONLD.java included:

-               str = str.replace("?>", "?>\n<!DOCTYPE X3D PUBLIC
\"ISO//Web3D//DTD X3D "+version+"//EN\" \"
http://www.web3d.org/specifications/x3d-"+version+".dtd\">");
+               str = str.replace("?>", "?>\n<!DOCTYPE X3D PUBLIC
\"ISO//Web3D//DTD X3D "+version+"//EN\" \"
https://www.web3d.org/specifications/x3d-"+version+".dtd\">");

I've also re-enabled the errorHandler.

Next, validating DOM generated from JSON working.  XML from JSON
already has started validating, so I'm a bit puzzled, since I create the
XML from the DOM!

I do see many validation errors from XML generated from JSON, so another
treasure trove to explore as well!

John


On Thu, Dec 14, 2023 at 9:19 AM John Carlson <yottzumm at gmail.com> wrote:

> Don, many thanks for work you’ve already done.  At this point, I’d just
> like help with DOM validation with XML Schema, no JSON required.
> Specifically, I am looking for help with Java-based validation.
>
> I do not have a lot of time either, use of my hands on a keyboard is
> counter-indicated.  I am starting to work on strengthening.
>
> Obviously, this looks non-X3D specific, so I will probably post to Stack
> Overflow or that which must not be named.
>
> John
>
> On Thu, Dec 14, 2023 at 2:30 AM Brutzman, Donald (Don) (CIV) <
> brutzman at nps.edu> wrote:
>
>> John, I’m not working on any of these things you are discussing. Sorry
>> but I don’t have time to shift attention in directions other than our
>> current tasks.
>>
>>
>>
>> Repeating the unchanging rationale for working group efforts:
>>
>>
>>
>>    - When an approved JSON Schema exists, we can update X3D JSON Schema
>>    and include that in a future specification.
>>    - When tools for an approved JSON Schema exists, we can use them to
>>    make sure everything works.
>>
>>
>>
>> Until those fine milestones occur, all use of X3D JSON is voluntary,
>> welcome, informal, and unspecified.  Hope this helps clarify things for you.
>>
>>
>>
>> all the best, Don
>>
>> --
>>
>> Don Brutzman  Naval Postgraduate School, Code USW/Br
>> brutzman at nps.edu
>>
>> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA
>> +1.831.656.2149
>>
>> X3D graphics, virtual worlds, navy robotics
>> https://faculty.nps.edu/brutzman
>>
>>
>>
>> *From:* John Carlson <yottzumm at gmail.com>
>> *Sent:* Wednesday, December 13, 2023 7:11 PM
>> *To:* Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>; X3D Graphics
>> public mailing list <x3d-public at web3d.org>
>> *Subject:* JSON to DOM inquiry (for XML schema)
>>
>>
>>
>> Don, I am developing these ideas. I have to talk to a teddy bear to
>> develop them.   There are new thoughts being introduced.  The previous
>> email was to get the engine going.
>>
>>
>>
>> Don, JSON has a specification and a standard.  There is no Classic VRML
>> schema, just a grammar.  Similarly, there is JSON grammar that is
>> standardized.  If you point at the XML Schema for classic VRML, why can’t
>> we do the same for JSON?  It’s been shown that we can create DOM documents
>> from JSON documents, why not validate the DOM documents against XML
>> Schema?  If someone could point me at a way to validate DOM documents in
>> Java with XML Schema, it would probably take me 1-4 days to start
>> validating X3D JSON with XML schema.  I think that having a single schema,
>> and 2 object models is OK!  I’ll just have to figure out how to validate
>> DOM documents on the web.   The biggest win of putting JSON into DOM
>> documents is that potentially, all the goodness of X3D-Edit could be
>> applied to the JSON documents (I just realized this.  I now feel like a
>> genius!).  I’ve basically been a DOM proponent for quite a while now, all
>> my X3DJSONLD.* programs use it except for x3djsonld.py (poorly named).  I’m
>> not aware that DOM is popular in Python.
>>
>>
>>
>> Since the last JSON schema draft proposal was 2020-12, I have not seen
>> any progress on core JSON schema validation standardization.  If you want
>> me to try some newer implementations, which ones?  Your requirements are
>> probably stricter than mine.  If we wait for a JSON schema standard, we’ll
>> be waiting for implementations again.  Probably by the time the JSON schema
>> standard comes out, JSON will be deprecated (note that Microsoft is
>> highlighted on the JSON schema page, not a company strong on open
>> standards).
>>
>>
>>
>> Perhaps DOM document validation with X3DJSAIL (by way of scenegraph)
>> still needs some effort?  Maybe we can skip that with a DOM XML schema
>> validator?  I realize we need teamwork to finish off the X3DJSAIL/X3DJSONLD
>> pair.  For me, to get access to X3DJSAIL outputs and validation without
>> resorting to XML or Java source code, and for you, to get X3D JSON
>> converted to whatever you target.
>>
>>
>>
>> Pretending that JSON schema did not exist, what would your approach be
>> for JSON?
>>
>>
>>
>> Just point in the direction you want me to go.  I have a feeling that
>> JSON isn’t going anywhere soon.  My alternative to JSON is VRML.  Should I
>> create a VRML loader for X3DOM?  Joe?
>>
>>
>>
>> John
>>
>>
>>
>> On Wed, Dec 13, 2023 at 4:28 PM Brutzman, Donald (Don) (CIV) <
>> brutzman at nps.edu> wrote:
>>
>> John you’ve asked questions like this for years and the responses remain
>> the same.
>>
>>
>>
>>    1. We cannot specify a formal validation of JSON until there is a
>>    formal JSON schema.  After many years they are still at Internet-Draft
>>    stage.
>>
>>
>>    - https://json-schema.org/specification
>>    - https://json-schema.org/draft/2020-12/json-schema-core
>>
>>
>>
>>    1. X3DJSAIL is not a specification, it is a programming library.
>>
>>
>>    - X3D Java Scene Access Interface Library (X3DJSAIL)
>>    - https://www.web3d.org/specifications/java/X3DJSAIL.html
>>
>>
>>
>>    1. For use in other tools, we would need to validate X3D JSON using
>>    an authoritative schema and a reliable library.  Looks like there has been
>>    progress:
>>
>>
>>    - https://json-schema.org/implementations
>>
>>
>>
>> Once we have a stable path forward for JSON schema validation, adapting
>> X3DUOM conversion to create a version of your X3D JSON Schema seems like a
>> reasonable step.
>>
>>
>> I again recommend that you track the JSON Schema site to be aware of
>> formal status and implementation progress.
>>
>>
>>
>> Web3D Recommended Practices are likely to be limited to only list
>> potential nodes for X3D4 and HAnim2, as future specification candidates,
>> not for anything we might like under the bright sun.
>>
>>
>>
>> Hope this helps.  Wishing you best progress.
>>
>>
>>
>> all the best, Don
>>
>> --
>>
>> Don Brutzman  Naval Postgraduate School, Code USW/Br
>> brutzman at nps.edu
>>
>> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA
>> +1.831.656.2149
>>
>> X3D graphics, virtual worlds, navy robotics
>> https://faculty.nps.edu/brutzman
>>
>>
>>
>> *From:* John Carlson <yottzumm at gmail.com>
>> *Sent:* Wednesday, December 13, 2023 2:12 PM
>> *To:* Extensible 3D (X3D) Graphics public discussion <
>> x3d-public at web3d.org>
>> *Cc:* Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>; GPU Group <
>> gpugroup at gmail.com>; consortium at web3d.org; x3d at web3d.org
>> *Subject:* Re: [x3d-public] X3D Working Group meeting 8 DEC 2023:
>> proposed charter improvements
>>
>>
>>
>> Can we make an effort for X3DJSAIL validation of JSON as a Web3D
>> Consortium Recommended Practice, and extend the CommandLine Java program
>> for JSON validation?  I know there’s x3dvalidate and online X3DJSONLD
>> validation.  I’m looking for a multiple goal approach.  I’m not saying that
>> there’s only one way to skin a cat.  I know I probably overhyped JSON
>> schema in the past.
>>
>>
>>
>> Since we probably won’t see Java in a browser soon, and Oracle is pushing
>> JavaScript forward through support of GraalVM, it seems like combining
>> JavaScript and Java, yet again, a good thing.  It makes me wonder if we can
>> fit a JavaScript interpreter into a Java native image.  Has anyone explored
>> WASM binaries for Java?
>>
>>
>>
>> John
>>
>>
>>
>> On Wed, Dec 13, 2023 at 11:29 AM Brutzman, Donald (Don) (CIV) via
>> x3d-public <x3d-public at web3d.org> wrote:
>>
>> Doug, thanks for feedback.  This is close to what you said a week ago.
>> Not sure if we are connecting correctly.
>>
>>
>>
>> We are currently working on a working group charter, which sets out
>> shared goals and requirements.  So far these seem pretty clear and well
>> defined.  “Good” goals means that success can be measured by demonstrated
>> results, draft specification prose, and eventual consensus.
>>
>>
>>
>> If I am following your line of thinking, then topics like CALL FOR NEW
>> FEATURES, PRE-DRAFT, etc. etc. sound like procedures for the group to
>> follow.  That might be valuable, if doable.  However we are not looking at
>> coordination of working-group activities right now as part of a charter.
>>
>>
>>
>> Once we have a renewed charter, if someone wants to lead such
>> coordination steps as a working process for meeting policy requirements,
>> then OK by me.  Seems premature to lay all that out, a group should be free
>> to flexibly execute as they work on achieving goals and requirements.
>> Future leadership activity will no doubt be welcome by everyone.
>>
>>
>>
>> Following our first exemplar (probably Image Atlas) as a Web3D
>> Recommended Practice, also must note that it won’t be me who is
>> choreographing such new-node activities.  I will be focused primarily on
>> Specification Synchronization with Dick Puk.  ISO participants recently
>> approved my relieving Dick as SC24 WG6 convener, so I can confirm that a
>> lot of updates to existing specifications (SAI programming language
>> bindings and file encodings) are needed before any X3D 4.1
>> new-specification efforts are possible.
>>
>>
>>
>> Please advise if this makes sense to you.  Good discussion topic for next
>> week’s X3D Working Group meeting 22 DEC 2023 (no meeting this Friday due to
>> NPS graduation).  Alternatively am always happy to discuss with you
>> directly if that helps us.
>>
>>
>>
>> p.s. For thoroughness, your prior note and my prior response follow.
>> Please permit me to recap my earlier responses here since the points remain
>> relevant.
>>
>>
>>
>>    - [x3d-public] [x3d] X3D working group meeting: charter review for
>>    2024
>>    -
>>    https://web3d.org/pipermail/x3d-public_web3d.org/2023-December/020100.html
>>    -
>>    https://web3d.org/pipermail/x3d-public_web3d.org/2023-December/020103.html
>>
>>
>>
>> First was the past/present/future synopsis, describing what works.
>> Wording has been further refined as we’ve continued.
>>
>>
>>
>> Next was that the doors remain open.  The x3d-public at web3d.org
>> <mailto:x3d-public at web3d.org>  mailing list will remain our primary
>> path for sharing new ideas.  The x3d at web3d.org <mailto:x3d at
>> web3d.org>  mailing list is always available as well for Web3D
>> Consortium members who want to share and discuss ideas privately and
>> confidentially.
>>
>>
>>
>> Next was the list of existing approved policy requirements that must be
>> met.  These are all controlled by Web3D Consortium Board of Directors.
>> Membership has value!
>>
>>
>>
>>    - Web3D Standards Adoption Process
>>    - https://www.web3d.org/standards/adoption-process
>>
>>
>>
>>    - Web3D Contribution Submission Guidelines
>>    - https://www.web3d.org/standards/contribution-guidelines
>>
>>
>>    - Join Web3D Consortium
>>    - https://www.web3d.org/join
>>    - “Web3D Consortium members agree to follow the rules, policies, and
>>    restrictions as specified in the following documents:”
>>
>>
>>
>>    - By-Laws
>>    - Intellectual Property Rights (IPR) Policy
>>    - (part of Member Agreement)
>>    -
>>    https://www.web3d.org/sites/default/files/page/Join%20the%20Web3D%20Consortium/Web3D_IPR.pdf
>>
>>
>>
>> So, happy days: we have a proven process that works.  We have good goals
>> emerging for steady (indeed compelling) progress in the coming year.
>> Perhaps best, we have X3D 4.0 !!  8)
>>
>>
>>
>> I hope that all this works for you too.  Again thanks for your careful
>> consideration.
>>
>>
>>
>> all the best, Don
>>
>> --
>>
>> Don Brutzman  Naval Postgraduate School, Code USW/Br
>> brutzman at nps.edu
>>
>> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA
>> +1.831.656.2149
>>
>> X3D graphics, virtual worlds, navy robotics
>> https://faculty.nps.edu/brutzman
>>
>>
>>
>> *From:* GPU Group <gpugroup at gmail.com>
>> *Sent:* Monday, December 11, 2023 9:15 AM
>> *To:* Extensible 3D (X3D) Graphics public discussion <
>> x3d-public at web3d.org>
>> *Cc:* Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>;
>> consortium at web3d.org; x3d at web3d.org
>> *Subject:* Re: [x3d-public] X3D Working Group meeting 8 DEC 2023:
>> proposed charter improvements
>>
>>
>>
>> > What else do *you* need?
>>
>> Process improvements. Your asking 'what else do you need?' is a process
>> step I haven't explicitly seen before, I think that's a good step.
>>
>> There could be 'CALL FOR's that notify sleepy browser / tool makers to
>> wake up on a topic and contribute before some regrettable decision is baked
>> into specifications. CALL FOR NEW FEATURES 2 years before next draft would
>> allow browser / tool developers to compare notes in a PRE-DRAFT and list
>> new features and nodes, and give 2 years for other browser / tool
>> developers to implement. Then each implementation is noted on PRE-DRAFT to
>> see which ones have traction. (versus last-minute scramble to find a second
>> implementation or ignoring that PROCESS REQUIREMENT while writing draft
>> specification).
>>
>>
>>
>> > Extensibility mechanisms for X3D can implement new capabilities
>>
>> I find PROTOs awkward and find it easier to implement new builtins. A
>> CALL FOR PROTO DESIGN PATTERNS, EXAMPLES AND ANALYSIS OF PROTO SYSTEM
>> SHORTCOMINGS, AND EXTENSIONS TO EXTENSIBILITY could expand web3d power and
>> attractiveness
>>
>> Design patterns - I'm thinking of how to design builtin nodes so as to
>> make extensibility easier. A CALL could bring forth examples of builtin
>> nodes that don't map to a PROTO implementation, and analysis of those
>> shortcomings may produce design patterns to improve current PROTO mechanism
>> and suggest new extensibility mechanisms / extensions to extensions.
>>
>> -Doug Sanden
>>
>>
>>
>> On Mon, Dec 11, 2023 at 9:43 AM Brutzman, Donald (Don) (CIV) via
>> x3d-public <x3d-public at web3d.org> wrote:
>>
>> Attendees Anita Havele, Vince Marchetti, Dick Puk, Don Brutzman.
>>
>>
>>
>> The X3D Working Group meets each Friday 09-1000 pacific (12-1300 eastern).
>>
>>
>>
>>    -
>>    https://us02web.zoom.us/j/81634670698?pwd=a1VPeU5tN01rc21Oa3hScUlHK0Rxdz09
>>    - https://zoom.us/j/148206572  Password 483805
>>    - https://www.web3d.org/member/teleconference-information
>>
>>
>>
>> We again looked at updating the X3D Working Group Charter for 2024.
>> Current charter is online at
>>
>>
>>
>>    - https://www.web3d.org/working-groups/x3d
>>
>>
>>
>> First section with suggested edits follows.  None of the current charter
>> words are incorrect, am looking to simplify and make clearer:
>>
>>
>>
>>
>>
>> Overview:
>>
>>
>>
>> *The Extensible 3D (X3D) Graphics Working Group forms the core of the
>> provides the core technical foundation for all working groups within the
>> Web3D Consortium. It is responsible for the development of specification of
>> core technologies for the X3D suite of Specifications, and the integration
>> of the maximum interoperability with related specifications for non-core
>> technologies, and coordinating the technical aspects of all Web3D working
>> group efforts broad deployment of interactive X3D models. The **X3D
>> Graphics Standards: Specification Relationships
>> <https://www.web3d.org/specifications/X3dGraphicsStandardsRelationships.png>**
>> graphic nicely diagram illustrates these capabilities the interaction and
>> relationships between the various X3D specifications.*
>>
>>
>>
>> *Interest in metaverse and augmented reality, improvements in
>> high-quality audio and visual fidelity on any computer platform, and new
>> support for multiple file encodings and programming languages including
>> JSON and streaming binary are driving the broad deployment of interactive
>> X3D4 models across the Web into new domains of real-time 3D human
>> interaction development of the next revision of the standard. The Working
>> Group is looking for people to help with these and other technical fields
>> in creating the X3D V4.0 standard.*
>>
>>
>>
>> *The wide-spread adoption of WebGL in all browsers is driving X3D into
>> the future. The next generation of X3D (V4.0) will be embedded in the
>> browser and support full interaction with the web page. It will include all
>> of the features of X3D that are currently available plus new rendering,
>> interaction, and device support all running in your browser, whether it is
>> on your desktop or your phone. In addition to X3D continuing to work in
>> non-browser environments.*
>>
>>
>>
>> Condensed:
>>
>>
>>
>> *The Extensible 3D (X3D) Graphics Working Group provides the core
>> technical foundation for all working groups within the Web3D Consortium. It
>> is responsible for development of the X3D suite of specifications, maximum
>> interoperability with related technologies, and coordinating the broad
>> deployment of interactive X3D models. The X3D Graphics Standards:
>> Specification Relationships
>> <https://www.web3d.org/specifications/X3dGraphicsStandardsRelationships.png>
>> diagram illustrates these capabilities.*
>>
>>
>>
>> *Interest in metaverse and augmented reality, improvements in
>> high-quality audio and visual fidelity on any computer platform, and new
>> support for multiple file encodings and programming languages including
>> JSON and streaming binary are driving the broad deployment of interactive
>> X3D4 models across the Web into new domains of real-time 3D human
>> interaction.*
>>
>>
>>
>>
>>
>> [The next proposed sections are updates from last week’s meeting and
>> email discussion.]
>>
>>
>>
>> X3D Working Group priorities for 2024 follow.
>>
>>
>>
>>    1. *Specifications Synchronization*.  Update, review, implement and
>>    advance all corresponding X3D specifications for file encodings and
>>    language encodings, continuing rigorous attention to detail through Web3D
>>    Consortium, W3C, US INCITS H3, and ISO/IEC standards development
>>    organizations (SDOs).
>>    2. *Implementations*.  Provide a technical forum that encourages the
>>    greatest possible development for functionally complete X3D4 applications,
>>    authoring tools, and model converters such as Blender and MeshLab.  Pay
>>    special attention to implementations using Humanoid Animation (HAnim), glTF
>>    model import, Web Audio API and MIDI 2.0 capabilities for integrated
>>    spatial auralization, projective texture mapping, HTML5 integration, XML,
>>    JSON/JavaScript, Java, Python, C/C++/C#, compressed binary formats, and
>>    additional new X3D 4.0 features.
>>    3. *Publications*.  Demonstrate how X3D can make 3D Graphics part of
>>    the modern Web by integrating with key infrastructure such as Web3D
>>    Conference series, Wikipedia, and other major publication resources.
>>    4. *Innovation Foundation*.  Show how Extensibility mechanisms for
>>    X3D can implement new capabilities in a standards-compatible way.  Much is
>>    possible, model correctness is validatable, and few barriers to exploration
>>    exist.
>>    5. *Metaverse*.  Support 3D Web Interoperability and Metaverse
>>    Standards Register groups in the Metaverse Standards Forum (MSF),
>>    implementing shared use cases to provide helpful feedback on successes and
>>    next-step goals.
>>
>>
>>
>> These renewed priorities fit well as next steps in a quarter century of
>> stable evolution using Virtual Reality Modeling Language (VRML) and X3D.
>>
>>
>>
>>    - *Past as Prologue*.  The X3D Working Group carefully follows Web3D
>>    policies and procedures, integrating much public/private comment that is
>>    well documented in X3D email archives and Mantis issue tracker.  Both
>>    backwards compatibility and forwards extensibility have been carefully
>>    preserved throughout, enabling effective reuse of every VRML97 and X3D
>>    model for the past quarter century. Seventh in a specification series
>>    starting with VRML97, successful completion of the X3D 4.0 Architecture
>>    once again proves that this collaborative process is effective.
>>
>>
>>
>>    - *Present, 2024*.  There is much capability in X3D 4.0 already that
>>    deserves broader implementation and exposure in high-capability models.
>>    Consequently we are deliberately *not* pursuing X3D 4.1 specification
>>    improvements with ISO/IEC in 2024.  Meanwhile we do encourage
>>    *Innovation* by emphasizing X3D extensibility mechanisms:  Inline,
>>    Script, Prototype, software libraries supporting source-code
>>    implementations that generate X3D, etc. etc.  New candidate nodes (such as *Image
>>    Atlas*) that rise to the level of broad usefulness can be formally
>>    considered as contributions to Web3D Recommended Practice.
>>
>>
>>
>>    - *Future, 2025+*.  Once all of the corresponding X3D specifications
>>    have been updated to match X3D 4.0 architecture, development of a future
>>    X3D 4.1 specification revision will be possible.
>>
>>
>>
>>
>>
>> What’s missing?  What’s unclear and might be better expressed?  What else
>> do *you* need?
>>
>>
>>
>> All improvements are welcome, a big year awaits us…
>>
>>
>>
>> Thanks for considering the possibilities.  Have fun with X3D!  8)
>>
>>
>>
>>
>>
>> all the best, Don
>>
>> --
>>
>> Don Brutzman  Naval Postgraduate School, Code USW/Br
>> brutzman at nps.edu
>>
>> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA
>> +1.831.656.2149
>>
>> X3D graphics, virtual worlds, navy robotics
>> https://faculty.nps.edu/brutzman
>>
>>
>>
>> _______________________________________________
>> x3d-public mailing list
>> x3d-public at web3d.org
>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>
>> _______________________________________________
>> x3d-public mailing list
>> x3d-public at web3d.org
>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20231214/71fdd022/attachment-0001.html>


More information about the x3d-public mailing list