[x3d-public] [x3d] X3DUOM and validation of dangling references?

Brutzman, Donald (Don) (CIV) brutzman at nps.edu
Fri Sep 28 05:58:13 PDT 2018


OK, looks like a specification/schema question... let's explore.  A good jumping-off point that provides summary deatils and links additional references is X3D Tooltips for each node.

	X3D Tooltips: FogCoordinate
	http://www.web3d.org/x3d/content/X3dTooltips.html#FogCoordinate
	"FogCoordinate

	X3D v3.3 specification: Version Content, FogCoordinate
	http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/versionContent.html#FogCoordinate

FogCoordinate was first used in v3.1.  If that is accurately reflected in the various X3D Schemas and DTDs, then we are in good shape.

Inspection of the schema, DTD and X3DUOM .xml indeed shows that.  For example, the following links do not have corresponding 3.0 entries:

	http://www.web3d.org/specifications/X3dSchemaDocumentation3.3/x3d-3.3_FogCoordinate.html
	http://www.web3d.org/specifications/X3dDoctypeDocumentation3.3.html#FogCoordinate

Even more specifically, the X3DUOM (which gets autogenerated from XML Schema) contains the following for FogCoordinate in versions 3.1 thru 4.0:

       <ConcreteNode name="FogCoordinate">
          <InterfaceDefinition specificationUrl="http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/enveffects.html#FogCoordinate">
             <componentInfo name="EnvironmentalEffects" level="4"/>
             <Inheritance baseType="X3DGeometricPropertyNode"/>
             <field type="MFFloat"
                    accessType="inputOutput"
                    name="depth"
                    minInclusive="0"
                    maxInclusive="1"/>
             <field type="SFNode"
                    accessType="inputOutput"
                    name="metadata"
                    default="NULL"
                    acceptableNodeTypes="X3DMetadataObject"
                    inheritedFrom="X3DNode"/>
             <field type="SFString"
                    accessType="inputOutput"
                    name="DEF"
                    inheritedFrom="DEF_USE"/>
             <field type="SFString"
                    accessType="inputOutput"
                    name="USE"
                    inheritedFrom="DEF_USE"/>
             <field type="SFString"
                    accessType="inputOutput"
                    name="class"
                    inheritedFrom="globalAttributes"/>
             <containerField default="fogCoord" type="xs:NMTOKEN"/>
             <ContentModel>
                <GroupContentModel name="ChildContentModelCore" minOccurs="0"/>
             </ContentModel>
          </InterfaceDefinition>
       </ConcreteNode>

So, looking at your question again, it would seem that the X3DUOM .xml files are individually correct, but do now have information regarding what version of X3D specification first includes a node (or attribute).

So maybe we should add an attribute for initialX3dVersion under each <InterfaceDefinition> definition (and when appropriate, <field> definition) above.  This would require further decoration of the XML schema annotations - time-consuming but do-able task.  That information could then be carried through into the X3DUOM models, and further utilized by tools (e.g. X3DJSAIL classes for each node object might include things like FogCoordinateObject.INITIAL_X3D_VERSION = 3.1; and further check such version values during scene validation).

Hopefully this is responsive to your comment.  As it turns out, I've been wondering about including version information recently too - so this is a very useful exploration.  Nevertheless if this is off target and you are looking at something else, please clarify further.

Have fun with X3D validation design! 8)


On 9/28/2018 4:52 AM, John Carlson wrote:
> X3DVertexAttributeNode and
> 
> FogCoordinate are used, but not defined in V3.0.
> 
> These are referred to by acceptableNodeTypes in many areas, but do not appear in the model as
> 
> Types.
> 
> I believe the fix may be to remove the acceptableNodeTypes, but not sure.
> 
> John
> 
> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10
> 
> *From: *Brutzman, Donald (Don) (CIV) <mailto:brutzman at nps.edu>
> *Sent: *Friday, September 28, 2018 7:47 AM
> *To: *John Carlson <mailto:yottzumm at gmail.com>
> *Cc: *X3D Graphics Working Group <mailto:x3d at web3d.org>; X3D Graphics public mailing list <mailto:x3d-public at web3d.org>
> *Subject: *Re: [x3d] X3DUOM and validation of dangling references?
> 
> On 9/27/2018 10:45 AM, John Carlson wrote:
> 
>  > Don, my suggested changes to v3.0 unified object model haven’t bee accepted yet?  We need validation on the object model where there are dangling references.
> 
> Sorry John but am not familiar with this issue.  Was there a prior email, or can you advise further?  Good topic for today's X3D Working Group teleconference if you can attend.
> 
>                  X3D Unified Object Model (X3DUOM)
> 
>                  http://www.web3d.org/specifications/X3DUOM.html
> 
>                  http://www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml


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