[x3d-public] X3D XML DOCTYPE and Schema adjustments ScreenGroup and Mantis/spec issue for Layout

John Carlson yottzumm at gmail.com
Tue Jul 29 10:19:23 PDT 2025


I can see where you might not want an X3DParentNode to be an X3DChildNode
(or vica versa).

John
On Tue, Jul 29, 2025 at 11:47 AM Don Brutzman <don.brutzman at gmail.com>
wrote:

> Please understand that we are representing what is in the X3D
> Architecture, not proposing new interfaces or a new interface.
>
>    - X3D Architecture version 4.1 draft, clause 4 Concepts, 4.4.2.3
>    Interface Hierarchy
>    -
>    https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/concepts.html#InterfaceHierarchy
>
> Interface implementations go downwards in this hierarchy.  So no
> X3DParentNode is appropriate.  Take a look at X3DChildNode interface (among
> others) and you will see that the parent-child relationships are clearly
> and unambiguously defined throughout.  This is reflected (and well tested)
> in X3DUOM which builds corresponding APIs in Java and Python.  So, whenever
> we find a bug in code, it is either incorrect source or else (rarely but
> possible) a previously unnoticed error in the X3D XML Schema and X3DUOM.
>
> all the best, Don
>
> On Mon, Jul 28, 2025 at 11:54 PM John Carlson <yottzumm at gmail.com> wrote:
>
>> Interesting and important.  I already proposed an X3DParentNode that all
>> nodes with children, addChildren and removeChildren fields could inherit
>> from.  And of course, X3DGroupingNode would inherit from X3DParentNode.
>> X3DParentNode would inherit from X3DNode.
>>
>> I’m not sure such a tight hierarchy is needed.
>>
>> But I, too, would like to hear comments.
>>
>> John
>> On Mon, Jul 28, 2025 at 11:41 PM Don Brutzman via x3d-public <
>> x3d-public at web3d.org> wrote:
>>
>>> Found some small changes for XML Schema, DTD and specification during
>>> X3DJSAIL model debugging.
>>>
>>> X3D DTD update activity:
>>>> https://www.web3d.org/specifications/x3d-dtd-changelog.txt
>>>> 28 JUL 2025, brutzman
>>>> - (v3.2-4.0) add ScreenGroup to list of allowed GroupingNodes
>>>
>>>
>>> X3D XML Schema update activity:
>>>> https://www.web3d.org/specifications/x3d-schema-changelog.txt
>>>> 28 JUL 2025, brutzman
>>>> - (v3.2-4.0) add ScreenGroup to ChildContentModelFull group list of
>>>> allowed GroupingNodes
>>>> - (v3.2-4.0) note Mantis 1501 specification issue: LayoutGroup is
>>>> X3DNode, not an X3DGroupingNode
>>>
>>>
>>> Checking on corresponding changes revealed a mistaken node type in X3D
>>> Architecture.
>>>
>>>    - Mantis 1501: LayoutGroup needs to be X3DNode, not X3DGroupingNode
>>>    - https://mantis.web3d.org/view.php?id=1501
>>>
>>>  LayoutGroup needs to be X3DNode, not X3DGroupingNode
>>>
>>>
>>> * X3D Architecture, clause 36 Layout component, 36.4.2 LayoutGroup
>>>> *
>>>> https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/components/layout.html#LayoutGroup
>>>>
>>>
>>>     LayoutGroup : X3DGroupingNode {
>>>
>>>
>>> However the spec prose also says
>>>> * "The LayoutGroup is a grouping node whose children are related by a
>>>> common layout within a parent layout. Thus, a LayoutGroup can only be a
>>>> child of a LayoutLayer node or another LayoutGroup node."
>>>
>>>
>>> Some fields of X3DGroupingNode are provided, but others are not.
>>>
>>>
>>> A satisfactory replacement for X3DGroupingNode is X3DNode, which is less
>>>> restrictive and not contradictory.
>>>
>>>
>>> Change applied to draft spec for review purposes.
>>>
>>> 36.4.2 LayoutGroup
>>>
>>> LayoutGroup : X3DNode X3DGroupingNode {
>>>
>>>
>>> Further review and comment welcome prior to eventual editors' review.
>>>
>>> all the best, Don
>>> _______________________________________________
>>> 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/20250729/c3b8495f/attachment-0001.html>


More information about the x3d-public mailing list