[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