[x3d-public] [x3d] Ideas for discussion during V4.0 Concepts: Name scopes and node name conflicts

Don Brutzman brutzman at nps.edu
Wed Nov 18 09:28:26 PST 2015


[cc: x3d-public]

Thanks for the excellent leading questions and deep exploration in today's X3D working group teleconference.

Questions and my first-cut responses follow.

On 11/18/2015 2:40 AM, Roy Walmsley wrote:
> Some things to consider and/or discuss re X3D V4.0 during X3D WG meeting.
>
> ·What is DOM?

DOM is the simplest possible API for accessing and traversing an HTML/XML tree structure, with accessors typically getting/setting nodes and attributes using string values.

DOM also includes several event models that are associated with navigating a tree, and passing values from one node to another.

DOM bindings have been formally specified for JavaScript and Java.  No doubt a number of libraries exist in other languages as well.

The essential stability of the data structures, and the potential flexibility of the event-passing mechanisms, are the key to DOM's long-running stability, popularity and effectiveness.

> ·What specification(s) should we be normatively considering? (http://www.w3.org/TR)

DOM level 3 has been a stable W3C Recommendation for 10 years
http://www.w3.org/TR/DOM-Level-3-Core

DOM behavior is central to HTML5 design.

3 Semantics, structure, and APIs of HTML documents
http://www.w3.org/TR/html5/dom.html#dom

DOM level 4 is where DOM refinements are heading.  The editors include critical individuals in this long evolution.  Based on current status, it is pretty far down the W3C Process towards final approval.

W3C DOM4, W3C Proposed Recommendation 6 October 2015
http://www.w3.org/TR/dom/

An important working document, but not normative, is the "DOM Living Standard" by the whatwg
https://dom.spec.whatwg.org

Of course "living" standard/document is a euphemism that actually means "unstable" or "nonstandard."

I believe our strategy should be:

a. Let HTML5 be HTML5 and let X3D be X3D.  Each is well defined.
b. Let X3D v4 add minimal general capabilities that provide a clean elegant stable alignment with HTML5 and DOM level 4.
c. The essence of this alignment is event passing between HTML5 DOM and X3D event graph.
d. Do not add any functionality to X3D that breaks the current event model, or might have to change in the future when further DOM embellishments occur.

Suggest that the next question to explore is:

- What is SAI?  What are differences between "internal" and "external" SAI?

In short, SAI reconciled internal event passing and external event passing with the series of X3D API specifications.

No longer needed:  External Authoring Interface (EAI).  Nevertheless interesting (and possibly helpful) approaches were specified there.

> ·How does DOM compare to SAI? (http://www.w3.org/TR/DOM-Level-3-Core/introduction.html and http://www.web3d.org/documents/specifications/19775-2/V3.3/Part02/concepts.html#General). Are they conceptually different?

Comparing/contrasting each of these approaches with DOM APIs for tree manipulations and event passing will be fruitful.

X3DOM (and presumably Cobweb) provide existence proofs that event passing between each is possible and can be pretty simple.

Key X3D constructs:  ROUTEs, Inline IMPORT/EXPORT.

Also important parts of event-model review (identified by Joe) are Script directOut functionality, the notion of a render frame (time step) and event cascades, loop-breaking rule, etc.

Since many events between X3D and DOM will be related to user interaction, closely aligned topics are javascript callbacks, browser render loops, etc. etc.

Our eventual X3D v4 specification solution will define DOM constructs with equivalent 2-way functionality.

>  Should SAI be renamed / substituted by DOM?

No.  Such a change would likely break X3D event semantics, either now or in the future.  That outcome is not acceptable.

Comparisons between SAI, EAI and DOM will let us assess what needs to be specified to align X3D and DOM.

> ·What does the DOM say about namespaces? How have MathML and SVG been incorporated?
>
> ·Can we point to examples that illustrate difficulties?
>
> ·What practical steps should we take to progress?

Worthy questions deserving further elaboration.  We need to include CSS and Javascript in that review as well.

If/when we do this correctly, X3D rises to the level of being an effective addition that integrates well within the Open Web Platform (OWP).
http://www.w3.org/wiki/Open_Web_Platform

Precise terminology and descriptions are critical ingredients for effective design.  Thanks for all due diligence on these central topics.

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 http://faculty.nps.edu/brutzman



More information about the x3d-public mailing list