[x3d-public] Possible issues with XML Encoding (XML Schema, X3DUOM) specifications.

John Carlson yottzumm at gmail.com
Sun Feb 25 05:39:59 PST 2024


Holger, please verify that:

X3DVertexAttributeNode
FloatVertexAttribute
Matrix3VertexAttribute
Matrix4VertexAttribute

name field types are correct across XML Schema, specifications and X3DUOM.

I'm possibly seeing 2 below issues in XML Schema (bold with red background,
search for xs:NMTOKEN), with the former being most crucial. I have not
validated the against the X3D4 architecture.  This issue creates problems
in X3DUOM with children inheritors, which creates problems in x3d.py.

 <xs:complexType name="X3DVertexAttributeNode" abstract="true">
                <xs:annotation>
                        <xs:appinfo><xs:attribute name="name" type="
*xs:NMTOKEN*" fixed="initializeOnlyField">
                                        <xs:annotation>
                                                <xs:appinfo>name attribute
is ordinarily required, unless this is a USE node</xs:appinfo>
                                                <!-- Design note: cannot
REQUIRE @name field or else USE nodes incorrectly fail to validate -->
                                                <xs:documentation source="
https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#NameTyping
"/>
                                        </xs:annotation>
                                </xs:attribute><xs:attribute
name="componentName" type="componentNameChoices"
fixed="Shaders"/><xs:attribute name="componentLevel"
type="xs:positiveInteger" fixed="1"/>
                Base type for all nodes that specify per-vertex attribute
information to the shader.
            </xs:appinfo>
                        <xs:documentation source="
https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/shaders.html#X3DVertexAttributeNode
"/>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="X3DGeometricPropertyNode">
                                <xs:attribute name="name" type="*xs:NMTOKEN*
">
                                        <xs:annotation>
                                                <xs:appinfo>name attribute
is ordinarily required, unless this is a USE node</xs:appinfo>
                                                <!-- Design note: cannot
REQUIRE @name field or else USE nodes incorrectly fail to validate -->
                                                <xs:documentation source="
https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#NameTyping
"/>
                                        </xs:annotation>
                                </xs:attribute>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>

Thanks!

Let's get this nailed down before proceeding.  If this is right, then we
need to patch X3DPSAIL builds (currently broken).
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20240225/6d791210/attachment.html>


More information about the x3d-public mailing list