[X3D-Public] announce: X3D Schematron rules for node misspellings, updated X3D Validator, X3D-Edit

Don Brutzman brutzman at nps.edu
Thu Mar 21 19:39:57 PDT 2013


New feature in X3D Schematron rules:  detection of common 
miscapitalization and spelling errors in node names.

Example warnings:
- Nodes such as Arc2D should be spelled 2D (rather than 2d)
- Similarly for nodes mistakenly containing 3d or 4d
- Node name prefix capitalization must start with CAD, DIS, Geo, HAnim, 
NURBS
- Mixed case errors like Arcclose, MetaData, PolyLine, PolyPoint, Lod, 
Connect, Export, Import, Is, Navigationinfo, ViewPoint

These are helpful because other XML validation reports can be confusing 
for these simple error cases.

Also updated:
- X3D Validator is at https://savage.nps.edu/X3dValidator
- X3D-Edit online  at https://savage.nps.edu/X3D-Edit

Reference for more information:
- X3D Resources - Quality Assurance
- 
http://www.web3d.org/x3d/content/examples/X3dResources.html#QualityAssurance

Comments welcome.  Have fun with X3D!

Example validator output follows, the last entry is easiest to interpret:
========================================================================
Performing X3D DTD validation check (documentation) ...
Error type: Error SAXParseException: Element type "ViewPoint" must be 
declared. Error type: Error SAXParseException: The content of element 
type "Group" must match 
"(IS?,(MetadataBoolean|MetadataDouble|MetadataFloat|MetadataInteger|MetadataSet|MetadataString)?,(GeoPositionInterpolator|GeoTouchSensor|GeoProximitySensor|HAnimDisplacer|NurbsPositionInterpolator|NurbsOrientationInterpolator|NurbsSurfaceInterpolator|BooleanFilter|BooleanSequencer|BooleanToggle|BooleanTrigger|IntegerSequencer|IntegerTrigger|TimeTrigger|ColorInterpolator|CoordinateInterpolator|CoordinateInterpolator2D|CylinderSensor|KeySensor|LoadSensor|LocalFog|NormalInterpolator|OrientationInterpolator|PlaneSensor|PositionInterpolator|PositionInterpolator2D|ProximitySensor|ScalarInterpolator|Script|SphereSensor|StringSensor|TimeSensor|TouchSensor|VisibilitySensor|GeoViewpoint|Background|Fog|NavigationInfo|TextureBackground|Viewpoint|OrthoViewpoint|EspduTransform|SignalPdu|ReceiverPdu|TransmitterPdu|DISEntityManager|GeoLocation|GeoLOD|GeoTransform|HAnimJoint|HAnimSegment|HAnimSite|HAnimHumanoid|CADAssembly|CADLayer|CollidableShape|CollisionSensor|RigidBodyCollection|Anchor|Bi
 llboard
|Collision|Group|Inline|LOD|StaticGroup|Switch|Transform|DirectionalLight|SpotLight|PointLight|IsoSurfaceVolumeData|SegmentedVolumeData|VolumeData|Shape|Sound|GeoMetadata|WorldInfo|ColorChaser|ColorDamper|CoordinateChaser|CoordinateDamper|OrientationChaser|OrientationDamper|PositionChaser|PositionChaser2D|PositionDamper|PositionDamper2D|ScalarChaser|ScalarDamper|TexCoordChaser2D|TexCoordDamper2D|ClipPlane|LayerSet|TransformSensor|ViewpointGroup|LinePickSensor|PointPickSensor|PrimitivePickSensor|VolumePickSensor|EaseInEaseOut|SplinePositionInterpolator|SplinePositionInterpolator2D|SplineScalarInterpolator|SquadOrientationInterpolator|ProtoDeclare|ExternProtoDeclare|ROUTE|EXPORT|IMPORT|ProtoInstance)*)". 
Error(s) detected during this validation test.  X3D DTD validation 
check: fail.

Performing X3D schema validation check (documentation) ...
Error type: Error SAXParseException: cvc-complex-type.2.4.a: Invalid 
content was found starting with element 'ViewPoint'.
One of '{IS, MetadataBoolean, MetadataDouble, MetadataFloat, 
MetadataInteger, MetadataSet, MetadataString, Background, 
ColorInterpolator, CoordinateInterpolator, DirectionalLight, Group, 
NavigationInfo, NormalInterpolator, OrientationInterpolator, 
PositionInterpolator, ScalarInterpolator, Shape, TimeSensor, Transform, 
Viewpoint, WorldInfo, Anchor, BooleanFilter, BooleanSequencer, 
BooleanToggle, BooleanTrigger, CylinderSensor, Inline, IntegerSequencer, 
IntegerTrigger, KeySensor, PlaneSensor, PointLight, ProximitySensor, 
SphereSensor, SpotLight, StringSensor, Switch, TimeTrigger, TouchSensor, 
AudioClip, Billboard, Collision, Fog, LoadSensor, LocalFog, LOD, Script, 
Sound, VisibilitySensor, CoordinateInterpolator2D, 
PositionInterpolator2D, ClipPlane, EaseInEaseOut, LinePickSensor, 
PickableGroup, PointPickSensor, PrimitivePickSensor, VolumePickSensor, 
SplinePositionInterpolator, SplinePositionInterpolator2D, 
SplineScalarInterpolator, SquadOrientationInterpolator, StaticGroup, 
CADAssembly, CADLayer, OrthoViewpoint, ViewpointGroup, ColorChaser, 
ColorDamper, CoordinateChaser, CoordinateDamper, OrientationChaser, 
OrientationDamper, PositionChaser, PositionChaser2D, PositionDamper, 
PositionDamper2D, ScalarChaser, ScalarDamper, TexCoordChaser2D, 
TexCoordDamper2D, TextureBackground, CollidableShape, CollisionSensor, 
RigidBodyCollection, LayerSet, ParticleSystem, TransformSensor, 
IsoSurfaceVolumeData, SegmentedVolumeData, VolumeData, EspduTransform, 
ReceiverPdu, SignalPdu, TransmitterPdu, DISEntityManager, GeoLocation, 
GeoLOD, GeoMetadata, GeoOrigin, GeoPositionInterpolator, 
GeoProximitySensor, GeoTouchSensor, GeoViewpoint, GeoTransform, 
HAnimHumanoid, HAnimJoint, HAnimSegment, HAnimSite, 
NurbsOrientationInterpolator, NurbsPositionInterpolator, 
NurbsSurfaceInterpolator, NurbsSet, ProtoInstance, ROUTE, 
ExternProtoDeclare, ProtoDeclare, IMPORT, EXPORT}' is expected.
Error(s) detected during this validation test. X3D schema validation 
check: fail.

Performing X3dToClassicVrml.xslt conversion check... 
X3dToClassicVrml.xslt conversion check: pass.

Performing X3D Schematron check...
<ViewPoint DEF=''/> node name capitalization is incorrect, should be 
Viewpoint (rather than ViewPoint) [/X3D/Scene/Group/ViewPoint, error] 
Error(s) detected during this validation test. X3D Schematron check: fail.
========================================================================

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