[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