[x3d-public] Validation suggestion on animation events

Don Brutzman brutzman at nps.edu
Mon Aug 31 16:56:30 PDT 2015


Cool animations!   8)

For your use: the X3D Validator applies a large number of tests.  Embedded in X3D-Edit and online at

	https://savage.nps.edu/X3dValidator

Quality Assurance (QA) checks are described at

	http://www.web3d.org/x3d/content/examples/X3dResources.html#QualityAssurance

Reports are always welcome regarding erroneous ("false positive") results or scene errors that are not detected by any of the tests.

Good luck with your efforts.

p.s. as an example, here are results from X3D01_ok.x3d posted this morning (no doubt you have further improvements already).

===================================================================================
Local file X3D scene file name: X3D01_ok.x3d  (length: 39475 bytes)

--------- Commence validation checks for X3D01_ok.x3d ---------

Performing XML well-formed check...
XML well-formed check: pass.

Performing DOCTYPE reference check...
[X3dDoctypeChecker] success: valid XML declaration found;
success: final X3D 3.2 DOCTYPE found.
no action taken, functionality not implemented...
DOCTYPE reference check: pass.

Performing X3D DTD validation check (X3D DTD documentation) ...
Error type: Error
SAXParseException:
An element with the identifier "CLOCKy" must appear in the document.
Error(s) detected during this validation test.
X3D DTD validation check: fail.

Performing X3D schema validation check (X3D schema documentation) ...
Error type: Error
SAXParseException:
cvc-id.1: There is no ID/IDREF binding for IDREF 'CLOCKy'.
Error(s) detected during this validation test.
X3D schema validation check: fail.

Performing X3dToClassicVrml.xslt conversion check (Quality Assurance (QA) overview) ...
X3dToClassicVrml.xslt conversion check: pass.

Performing integer/float regular expression (regex) check...
integer/float regular expression (regex) check: pass.

Performing X3D Schematron check...
<X3D profile='Immersive'> is defined, but nodes in scene have actual profile='Interchange' [/X3D, info]
<X3D profile='Immersive'> is defined, but nodes in scene have actual profile='Interactive', ensure <X3D><head><component> statements are sufficient to provide coverage [/X3D, info]
Update all meta tag(s) with content='*enter new value...'[/X3D/head, warning]
<meta name='image' content='*enter image filename/url here*'/> capitalization mismatch, use keyword name='Image' [/X3D/head/meta[14], warning]
<meta name='warning' content='*insert any known warnings, bugs or errors here*'/>[/X3D/head/meta[19], diagnostic]
<Scene DEF=''/> Root nodes of Scene can only be Grouping nodes or LayerSet [/X3D/Scene, error]
<WorldInfo DEF='' info=''/> info string array needs to begin and end with "quote marks".  Corrected example: <WorldInfo DEF='' info='""'/> [/X3D/Scene/WorldInfo, error]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[1]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[1]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[2]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[2]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[3]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[3]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[4]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[4]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[5]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[5]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[6]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[6]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[7]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[7]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[8]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[8]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[9]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[9]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[10]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[10]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[11]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[11]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[12]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[12]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[13]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[13]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[14]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[14]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[15]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[15]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[16]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[16]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[17]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[17]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[18]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[18]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[19]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[19]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[20]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[20]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[21]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[21]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[22]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[22]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[23]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[23]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[24]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[24]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[25]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[25]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[26]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[26]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[27]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[27]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[28]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[28]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[29]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[29]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[30]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[30]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[31]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[31]/Shape[2], warning]
<Shape DEF=''/> element has no child node [/X3D/Scene/Transform/Transform[32]/Shape[2], warning]
<Shape DEF=''/> found without child Appearance or Color [/X3D/Scene/Transform/Transform[32]/Shape[2], warning]
<ROUTE fromNode='CYL16' fromField='value_changed' toNode='CY2630' toField='set_translation'/> has a total of 2 duplicate(s), remove copies while keeping the remaining ROUTE after fromNode and toNode targets [/X3D/Scene/Transform/ROUTE[14], error]
<PositionInterpolator DEF='CYL14'/> is missing ROUTE to send output events [/X3D/Scene/Transform/PositionInterpolator[8], warning]
<ROUTE fromNode='CLOCKy' fromField='fraction_changed' toNode='CYL26' toField='set_fraction'/> has no corresponding fromNode with DEF='CLOCKy' [/X3D/Scene/Transform/ROUTE[25], error]
<ROUTE fromNode='CLOCKy' fromField='fraction_changed' toNode='CYL32' toField='set_fraction'/> has no corresponding fromNode with DEF='CLOCKy' [/X3D/Scene/Transform/ROUTE[31], error]
<ROUTE fromNode='CLOCKy' fromField='fraction_changed' toNode='CYL34' toField='set_fraction'/> has no corresponding fromNode with DEF='CLOCKy' [/X3D/Scene/Transform/ROUTE[33], error]
Error(s) detected during this validation test.
X3D Schematron check: fail.

Performing X3D to XHTML pretty-print listing check (Quality Assurance (QA) overview) ...
Conversion complete, documentation appears below.
Authoring hints:  Select url links to check the availability of online addresses.  Comments are inserted with local links to document ROUTE connections.  Node tooltips are also provided.
===================================================================================

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