# - Removed unnecessary AllVRML97Nodes, AllGeoSpatialTags, AllHAnimTags definitions:
#
# 27 December 2005 brutzman
# - (v3.1 only) added Texturing3D component: X3DTexture3DNode, Composed3DTexture,
# Image3DTexture, Pixel3DTexture, TextureCoordinate3D, TextureCoordinate4D,
# TextureMatrixTransform, TextureTransform3D
# - renamed TextureNodes to Texture2DNodes
# - EspduTransform removed geoCoords_changed
#
# 26 December 2005 brutzman
# - (v3.1 only) removed CADFace, CADPart from CadGroupingNodes since CAD content model is more restrictive
# (hierarchy CADLayer/CADAssembly/CADPart/CADFace)
# - (v3.1 only) componentNames: added CubeMapTexturing, Texturing3D, Shaders
# - (v3.1 only) added Shaders component: X3DProgrammableShaderObject,
# X3DShaderNode, X3DVertexAttributeNode, ComposedShader,
# FloatVertexAttribute, Matrix3VertexAttribute, Matrix4VertexAttribute,
# PackagedShader, ProgramShader, ShaderPart, ShaderProgram
# - (v3.1 only) Added CubeMapTexturing component: X3DEnvironmentTextureNode,
# ComposedCubeMapTexture, GeneratedCubeMapTexture, ImageCubeMapTexture
#
# 22 December 2005 hudson, brutzman
# - NurbsGeometryNodes modified to include Contour2D vice ContourPolyline2D
# - GeoTouchSensor: added inputOutput field description
# - (v3.1 only) LOD: added initializeOnly field forceTransitions
# - (v3.1 only) added X3dFieldTypes SFMatrix3d MFMatrix3d SFMatrix3f MFMatrix3f SFMatrix4d MFMatrix4d SFMatrix4f MFMatrix4f SFVec4d MFVec4d SFVec4f MFVec4f
#
# 21 December 2005 puk, brutzman
# - removed solid field from Circle2D since it is line-based, not polygonal
# - added enabled field to EspduTranform, ReceiverPdu, SignalPdu, TransmitterPdu
# - (v3.1 only) DirectionalLight default value for global remains true,
# PointLight and Spotlight default value for global changed to false
#
# 19 December 2005 brutzman
# - FogCoordinate default containerField value set to fogCoord
# - FogCoordinate removed from CoordinateNodes, added to GeometricPropertyNodes,
# ColorCoordinateNormalTextureCoordinateContentModel and ElevationGrid content model.
# FogCoordinate only allowed to follow Coordinate/Color/Normal/TextureCoordinate
# since any-order content model is too complex otherwise.
# - (v3.1 only) Text node: added outputOnly fields lineBounds and textBounds
# - (v3.1 only) DirectionalLight, PointLight, Spotlight: added inputOutput field global
# - (v3.1 only) LOD node: added outputOnly field level_changed
# - (v3.1 only) NavigationInfo node: added inputOutput field transitionTime, outputOnly field transitionComplete
#
# 18 December 2005 victor, brutzman
# - IndexedTriangleStripSet stripCount field removed
# - Polypoint2D points field renamed to point
# - TransmitterPdu cryptoKeyId field renamed to cryptoKeyID
# - EspduTransform articulationParameterIdPartAttachedArray field renamed to
# articulationParameterIdPartAttachedToArray
# - added NavigationInfo transitionType MFString, default "ANIMATE"
# - NurbsTextureCoordinate controlPoint type changed to MFVec2f
# - added solid field to Text, ArcClose2D, Circle2D, Disk2D, Rectangle2D, TriangleSet2D
#
# 16 December 2005 ecer, brutzman
# - BooleanSequencer keyValue type changed to MFBool
# - KeySensor keyPress, keyRelease type changed to SFString
# - GeoElevationGrid set_height type changed to MFDouble
# - GeoLOD range type changed to SFFloat
# - NurbsGroupingNodes child content model changed to
# NurbsOrientationInterpolator | NurbsPositionInterpolator | NurbsSurfaceInterpolator | NurbsSet
#
# 4 December 2005 hudson, brutzman
# - make X3D version required rather than optional
# - added EspduTransform fields collisionType, detonationLocation, detonationRelativeLocation, detonationResult,
# eventApplicationID, eventEntityID, eventNumber, eventSiteID
#
# 20 November 2005 victor, brutzman
# - EspduTransform firingRange type changed from SFInt32 to SFFloat
# - IntegerSequencer keyValue type changed from MFFloat to MFInt32
# - NurbsCurve2D knot, weight type changed from MFFloat to MFDouble
# - NurbsTrimmedSurface weight type changed from MFFloat to MFDouble
# - NurbsCurve2D controlPoint type changed from MFVec2f to MFVec2d
# - NurbsTextureCoordinate added field controlPoint MFVec2d
# - NurbsTextureCoordinate weight type changed from MFDouble to MFFloat
#
# 14 November 2005 brutzman
# - changed CAD component name to CADGeometry, matching 3.1 specification
# - added enumeration value for CADInterchange Profile, matching 3.1 specification
#
# 6 November 2005 brutzman
# - added (%MetadataNodes;)? as allowed first child under Scene
# - zero field definitions allowed for ProtoInterface
# - fixed textual differences between x3d-3.0.dtd, x3d-3.1.dtd using Altova DiffDog
#
# 21 October 2005 brutzman
# - added CAD profile: X3DProductStructureChildNode, CADAssembly, CADFace, CADLayer, CADPart,
# IndexedQuadSet, QuadSet
# - Node signature for 32.4.2 CADFace missing bbox fields and X3DBoundedObject interface, bug posted
#
# brutzman 2 October 2005
# Began work on schema corrections to better validate under XMLSpy and other tools
# Replaced GeoSpatial default-value "quote marks" with " character entities, e.g.
# geoSystem %MFString; '"GD" "WE"'
# geoSystem %MFString; '"GD" "WE"'
#
# navType %MFString; '"EXAMINE" "ANY"'
# navType %MFString; '"EXAMINE" "ANY"'
#
# brutzman 16 September 2004
# Removed comments around extension DTD invocation, and verified correct
# x3d-3.0-Web3dExtensionsPublic.dtd and
# x3d-3.0-Web3dExtensionsPrivate.dtd
# dabrowski, brutzman 16 July 2004
# Renamed Lineset field 'lineCount' to 'vertexCount'
# Added 'set_index' inputOnly field to x3d-3.0-InputOutputFields.dtd for
# nodes IndexedTriangleFanSet IndexedTriangleSet IndexedTriangleStripSet
# brutzman 7 July 2004
# Corrected content model for GeoMetadata to include MFNode 'data' field,
# which can only refer to other GeoSpatial nodes. Specifically changed
#
# to
#
# brutzman 6 June 2004
# allow ProtoInstance in content model for MultiTexture, MultiTextureCoordinate
# brutzman 31 May 2004
# allow Sound to have zero children (as in USE nodes)
# brutzman 29 May 2004
# added SFVec2d, MFVec2d to allowed types
# brutzman 17 May 2004
# added ProtoInstance to Immersive content model for allowed Metadata nodes
# added Metadata nodes to content model for allowed ProtoNodes
# brutzman 6 March 2004
# Changed default directory path to /www.web3d.org/specifications throughout
# brutzman 29 February 2004
# Removed 'TaskGroups/' from default paths (mostly just documentation urls)
#
# ===================================================================================
#
# version 3.0.11, Final Committee Draft (FCD)
#
# brutzman 26 December 2003
# HAnimDisplacer added as legal child of HAnimJoint
# Added SFFloat weight field to HAnimDisplacer
# Changed LoadSensor field timeout to timeOut
# brutzman 12 December 2003
# Renamed appInfo fields to appinfo, matching XML Schema spelling.
# Affects ExternProtoDeclare, ProtoDeclare and field elements.
# brutzman 8 December 2003
# Removed creaseAngle from *Triangle* nodes, uses defined normal behavior instead
# brutzman 18 November 2003
# Added IndexedTriangleFanSet, IndexedTriangleSet, IndexedTriangleStripSet
# brutzman 16 November 2003
# Added constraints on componentNames, componentLevels to match X3D specification.
# Future extensibility of future component names and levels remains feasible but
# (appropriately) will require an accompanying override/update of DTD and Schema
# in the extended content to match anything new.
# brutzman 15 November 2003
# Added LineSet
# brutzman 13 October 2003
# Changed
# fillStyle (NONE|HATCHED) "NONE"
# to
# filled %SFBool; "true"
# hatched %SFBool; "true"
# brutzman 12 October 2003
# Moved LatticeXVL and created Web3dExtensionComponent for future Web3D extensions.
# Cleaned out various DTD comments, as follows:
#
# Rejected: consider building multiple DTDs corresponding to each profile,
# by creating small encapsulating DTDs that each set proper profile flags
# prior to loading the main DTD. Hazard: avoid duplication/versionitis.
#
#
#
#
# brutzman 8 October 2003
# HAnimHumanoid version: changed to SFString from enumeration (1.1|2.0)
# Removed from HAnimHumanoid:
# humanoidVersion %SFString; #IMPLIED
# authorName %SFString; #IMPLIED
# authorEmail %SFString; #IMPLIED
# copyright %SFString; #IMPLIED
# creationDate %SFString; #IMPLIED
# usageRestrictions %SFString; #IMPLIED
# age %SFString; #IMPLIED
# gender %SFString; #IMPLIED
# height %SFString; #IMPLIED
# weight %SFString; #IMPLIED
# Removed from GeoMetadata:
#
# title %SFString; #IMPLIED
# description %SFString; #IMPLIED
# coordinateSystem %SFString; #IMPLIED
# horizontalDatum %SFString; #IMPLIED
# verticalDatum %SFString; #IMPLIED
# ellipsoid %SFString; #IMPLIED
# extent %SFString; #IMPLIED
# resolution %SFString; #IMPLIED
# originator %SFString; #IMPLIED
# copyright %SFString; #IMPLIED
# date %SFString; #IMPLIED
# metadataFormat %SFString; #IMPLIED
# dataUrl %SFString; #IMPLIED
# dataFormat %SFString; #IMPLIED
# Changed geoSystem from CDATA to %MFString;
# Renamed GeoTouchSensor hitGeoCoordinate_changed to hitGeoCoord_changed
# Moved GeoTouchSensor [in] and [out] events to x3d-3.0-InputOutputFields.dtd:
# isActive, isOver, touchTime
# Removed GeoElevationGrid set_yScale since yScale is now [in out]
# Didn't add NurbsCurve solid, default value true
# NurbsPatchSurface: removed ccw, weight, closedSurface
# Added NurbsSurfaceInterpolator. Note SFVec2f type for set_fraction value.
# Added NurbsTextureCoordinate.
# Verified NURBS nodes
# brutzman davis 1 October 2003
# DIS EspduTransform/ReceiverPdu/SignalPdu/TransmitterPdu nodes - consistency changes:
# attribute typos: receiverPower -> receivedPower, cryptoSytem -> cryptoSystem
# transmitFrequencyBandwidth is SFFloat
# EspduTransform munitionSiteID, munitionApplicationID, munitionEntityID and
# fireMissionIndex changed to [in out]
# brutzman 28 September 2003
# DIS EspduTransform/ReceiverPdu/SignalPdu/TransmitterPdu nodes - consistency changes:
# rtpHeaderHeard renamed to isRtpHeaderHeard
# no outputOnly event values allowed: #FIXED "" vice #IMPLIED
# DIS EspduTransform node consistency changes:
# address default set to "localhost"
# port, multicastRelayPort default set to "0"
# siteID, applicationID, entityID, forceID defaults set to "0", "1", "0", "0"
# respectively
# entityKind, entityDomain, entityCountry, entityCategory, entitySubCategory,
# entitySpecific and entityExtra defaults set to "0"
# linearVelocity, linearAcceleration, munitionStartPoint, munitionEndPoint
# defaults set to "0 0 0"
# munitionSiteID, munitionApplicationID, munitionEntityID, fireMissionIndex
# changed to outputOnly events
# whichGeometry default set to "1"
# corrected various PDU-specific defaults, mostly #IMPLIED to "0"
# brutzman 22 September 2003
# X3DTimeDependentNode consistency changes:
# Added SFTime [out] elapsedTime to AudioClip, MovieTexture, and TimeSensor
# SFBool [out] isPaused to AudioClip, MovieTexture
# SFTime [in,out] pauseTime 0 to AudioClip, MovieTexture
# SFTime [in,out] resumeTime 0 to AudioClip, MovieTexture
# brutzman 14 September 2003
# Changed Background, TextureBackground groundColor default from "0 0 0" to IMPLIED
# (although this is questionable and has led to different browser defaults in the past)
# Changed CylinderSensor diskAngle default PI/2 from 0.262 to 0.26179167 to match Schema
# Removed excess attributes from 'component' declaration, made 'level' SFInt32 and required.
# originator CDATA #IMPLIED
# url CDATA #IMPLIED
# version CDATA #IMPLIED
# Removed unneeded comments prior content model for Collision proxy:
#
#
# KeySensor outputOnly fields keyPress, keyRelease changed from SFInt32 to SFString in x3d-3.0-InputOutputFields.dtd
# LineProperties: added 'applied', restored irregular capitalization/spelling of linetype, linewidthScaleFactor
# MultiTexture: removed obsolete fields
# materialColor %SFBool; "false"
# materialAlpha %SFBool; "false"
# transparent %SFBool; "false"
# noMipMap %SFBool; "false"
# NavigationInfo type: changed default from ["WALK" "ANY"] to ["EXAMINE" "ANY"]
# brutzman 11 August 2003
# Added outputOnly field geoCoords_changed %SFVec3d; #IMPLIED
# to x3d-3.0-InputOutputFields.dtd to support interoperability
# with GeoSpatial Profile nodes. Tooltip: "Double precision output for
# 64-bit Espdu translation, usable by georeferenced nodes."
# brutzman 10 August 2003
# ISO editors' meeting: type MFString enumeration values must all be quoted
# changed FontStyle justify field to default value (quoted) "BEGIN"
# changed FontStyle family field to default value (quoted) "SERIF"
# grahn victor williams brutzman 1 August 2003
# changed MultiTexture field values for mode, source and function to MFString.
# each internal array value corresponds to one texture in the MultiTexture.
# Thus no validation of these fields as fixed enumeration values is possible.
# brutzman 21 July 2003
# DIS EspduTransform deadReckoning signature changed to inputOutput SFInt32 "0"
# and networkMode default value changed to "standAlone".
# brutzman 3 July 2003
# Fixed content model of NURBS nodes Contour2D, NurbsCurve.
# Renamed NurbsGroup as NurbsSet.
# !! Need to unscramble NurbsTextureSurface and NurbsTrimmedSurface.
# brutzman 26 June 2003
# Added NurbsOrientationInterpolator. Corrected NurbsPositionInterpolator interface.
# Added CoordinateDouble. Removed CoordinateDeformer.
#
#
# Cleaned out old comments:
#
#
#
#
# brutzman 21 June 2003
# Made X3D profile attribute REQUIRED. Changed profile name MPEG4 to MPEG4Interactive.
# brutzman 8 June 2003
# Moved Inline from content model GroupingNodes to SceneLeafNodes
# brutzman 26 May 2003
# Added XML schema information as X3D tag attributes:
# xmlns:xsd CDATA "http://www.w3.org/2001/XMLSchema-instance"
# xsd:noNamespaceSchemaLocation CDATA "http://www.web3d.org/specifications/x3d-3.0.xsd"
# brutzman 25 May 2003
# Added MetadataDouble, MetadataFloat, MetadataInteger, MetadataSet, MetadataString.
# brutzman 6 May 2003
# Added AudioClip, LineProperties, FillProperties as valid ProtoNodes.
# adams, couch, hudson, weekley, brutzman 3 March 2003
# Removed NurbsPositionInterpolator 'dimension' field, nonsensical for curve.
# Confirmed NurbsPositionInterpolator 'keyValue' array contains control points.
# Added NurbsPositionInterpolator 'key' field, necessary for X3DInterpolator.
# Size corresponds as usual to 'keyValue' array, which contains control points.
# Renamed NurbsPositionInterpolator 'keyWeight' field as 'weight' field,
# for consistency with other NURBS. Might get renamed back, or perhaps
# renamed keyValueWeight. Further implementation/evaluation needed.
# Upcoming:
# Will likely propose NurbsPositionInterpolator tangent_changed, or else
# perhaps propose NurbsOrientationInterpolator, so that orientation works.
# Will likely propose removal of CoordinateDeformer as redundant.
# Added NurbsSurface initializeOnly SFBool closedSurface 'false' attribute,
# indicating that opposite sides of NurbsSurface are connected.
# Proposed attribute, see examples such as AnimatedNurbsSurfaceHead.x3d
# which allows full export capability from Maya and other tools.
# Again subject to further implementation/evaluation, maybe too ambiguous.
# hudson, williams, brutzman 2 March 2003
# Added file:// to transitional DTD system identifier, as follows:
#
# Changed + to ISO for final external identifier, though have not yet
# found conclusively authoritative reference, as follows:
#
# hudson, couch, brutzman 17 February 2003
# Enforcing strict quoting rules for individual tokens in enumeration-like
# MFString fields. Example:
# Other affected field defaults are geoSystem and GeoViewpoint navType.
# brutzman 25-26 January 2003
# Updated and verified DIS, GeoSpatial, H-Anim and NURBS nodes.
# Simplified content model for GeoLOD to eliminate rootNode wrapper tag.
# Added GeoElevationGrid set_yScale, set_height to x3d-3.0-InputOutputFields.dtd.
# Changed GeoElevationGrid height to MFDouble.
# Added GeoLocation, GeoLOD fields bboxCenter, bboxSize.
# Changed GeoLocation, GeoOrigin field geoCoords to SFVec3d.
# Changed GeoOrigin geoCoords to SFVec3d.
# Removed GeoTouchSensor geovalue, retained geovalue_changed.
# Added GeoViewpoint set_orientation, renamed speed as speedFactor, removed examine.
# Simplified content model for HAnimHumanoid to eliminate wrapper tags, humanoidBody.
# Utilize HAnimHumanoid containerField for joints/skeleton, segments, sites, skin,
# skinCoord, skinNormal, and viewpoints.
# Removed HAnimHumanoid containerField for humanoidBody (redundant from H-Anim 1.0)
# and replaced in H-Anim 2.0 by skeleton/skin.
# Revised several NURBS containerField values:
# Contour2D "trimmingContour" (parent TrimmedSurface),
# ContourPolyline2D "children" (parent Contour2D)
# NurbsCurve "geometry"
# NurbsCurve2D "children" (parent Contour2D - spec erratum submitted)
# NurbsSurface "surface" (parent TrimmedSurface, NurbsGroup)
# (note "surface" inconsistency with "children" for parent NurbsGroup)
# Simplified content model for NURBS CoordinateDeformer to eliminate wrapper tags
# and utilize containerField for inputCoord, outputCoord and inputTransform.
# Renamed IMPORT label exportedDEF as importedDEF for semantic consistency.
#
# Prior content models appear in x3d-dtd-changelog.txt for archive purposes.
#
# (GeoOrigin, ((children, rootNode?) | (rootNode, children?))? ) |
# (children, ((GeoOrigin, rootNode?) | (rootNode, GeoOrigin?))? ) |
# (rootNode, ((children, GeoOrigin?) | (GeoOrigin, children?))? )?
#
#
#
#
#
#
#
#
#
#
#
# williams 20 January 2003
# Removed GeoInline.
# brutzman 14 January 2003
# Added MultiTextureTransform.
# brutzman 13 January 2003
# Updated NURBS component. knot fields for CoordinateDeformer, NurbsCurve,
# NurbsCurve2D, NurbsSurface etc. are now MFDouble vice MFFloat.
# brutzman 12 January 2003
# Integrated significant changes from abstract specification into DIS component.
# brutzman 9 January 2003
# Corrected case capitalization of Polyline2D, Polypoint2D
# NURBS Polyline2D name corrected to ContourPolyline2D
# brutzman 2 January 2003
# Rename H-Anim nodes to have HAnim prefix: HAnimDisplacer, HAnimHumanoid,
# HAnimJoint, HAnimSegment, HAnimSite.
# Moved inputOnly/outputOnly (eventIn/eventOut) fields to optional file
# x3d-3.0-InputOutputFields.dtd.
# Turned off/on via parameter entity AllEventFields for use by some tools.
# Retained fields have #FIXED empty-string values, so no values allowed.
# Still a problem changing default AllEventFields to IGNORE vice INCLUDE.
# Did not change DTD default from Full profile to Immersive profile, rather kept
# all new components (DIS H-Anim GeoSpatial NURBS LatticeXvl) in one file.
# Better to keep DTD unrestrictive unless author or tool directs smaller profile.
# Eliminated unneeded declarations:
#
#
# brutzman 1 January 2003
# Merged prior X3D DTDs into x3d-3.0.dtd:
# http://www.web3D.org/TaskGroups/x3d/translation/x3d-compact.dtd
# http://www.web3D.org/TaskGroups/x3d/translation/DistributedInteractiveSimulation.dtd
# http://www.web3D.org/TaskGroups/x3d/translation/GeoSpatial-compact.dtd
# http://www.web3D.org/TaskGroups/x3d/translation/HumanoidAnimation2.0-compact.dtd
# http://www.web3D.org/TaskGroups/x3d/translation/LatticeXvl-compact.dtd
# http://www.web3D.org/TaskGroups/x3d/translation/Nurbs-compact.dtd
# Former draft X3D DTD name:
# http://www.web3D.org/TaskGroups/x3d/translation/x3d-compact.dtd
# Renumber DTD to version 3.0: Transitional doctype becomes
#
# Integrated X3D specification examples, some further work needed.
# hudson, brutzman 31 December 2002
# Alan verified all abstract specification nodes/fields included. Changes:
# Background, NavigationInfo and TouchSensor now have single DTD definition,
# Interchange profile. Some fields are optional in Interchange profile.
# Collision: rename 'collide' field as enabled, also add isActive.
# LOD, Switch: added bboxCenter, bboxSize.
# NavigationInfo type default set to 'WALK ANY'.
# Added ProximitySensor centerOfRotation_changed %SFVec3f; #FIXED ""
# Triangle*Set: removed convex field (they are always convex, duh).
# Removed TimeSensor elapsedTime.
# brutzman, couch 31 December 2002
# Profile for Triangle*Set nodes set to Interchange.
# Remaining containerField issues: removed nodeType from ExternProtoDeclare,
# default ProtoInstance containerField="children". Then added
# containerField values to all non-children ProtoInstance examples.
# brutzman, couch 30 December 2002
# Restore containerField throughout. Eliminated proxy element.
# Removed all Scene attributes for consistency with abstract specification.
#
#
# could provide simple singleton exposure of Browser class variables:
# browserName %SFString; #IMPLIED
# browserVersion %SFString; #IMPLIED
# currentFrameRate %SFFloat; #IMPLIED
# currentSpeed %SFFloat; #IMPLIED
# worldUrl %MFString; #IMPLIED
#
# deferred for reconsideration with displays in advanced SAI:
# boundBackground IDREF #IMPLIED
# boundFog IDREF #IMPLIED
# boundGeoViewpoint IDREF #IMPLIED
# boundNavigationInfo IDREF #IMPLIED
# boundViewpoint IDREF #IMPLIED
# dashboardVisible %SFBool; #IMPLIED
# pixelHeight %SFInt32; #IMPLIED
# pixelWidth %SFInt32; #IMPLIED
# aspectRatio %SFInt32; #IMPLIED
#
# not needed for exposure via Scene since only invoked from inside a Script anyway:
# description %SFString; #IMPLIED
# createVrmlFromString %SFString; #IMPLIED
# createVrmlFromX3d %SFString; #IMPLIED
# createVrmlFromUrl %SFString; #IMPLIED
#
# no:
# evaluate %SFBool; #IMPLIED
# browserResponse %SFString; #IMPLIED
# creationTargetNode IDREF #IMPLIED
# loadUrl %MFString; #IMPLIED
# loadUrlParameter %SFString; #IMPLIED
# currentTime %SFTime; #IMPLIED
# >
# brutzman, 29 December 2002
# Completed new content model for ProtoDeclare: ProtoInterface and ProtoBody.
# Content library updated, prior content no longer validates/translates.
# Allowed ProtoDeclare as first element of ProtoBody, prior to first node.
# brutzman, 27 December 2002
# Updated MultiTexture enumeration fields: mode, source, function.
# Mapped source="" to PREVIOUS and function="" to NONE, since XML
# can't use a blank field as a validatable enumeration.
# puk, 17 November 2002
# TextureCoordinateGenerator: removed 'point' field.
# MultiTexture has no 'type' field.
# brutzman, spec team issue resolutions 11 November 2002
# Added new content model for ProtoDeclare: ProtoInterface and ProtoBody.
# Implementation/evaluation in progress.
# FillProperties and LineProperties added, can only occur as first
# Appearance fields due to order limitations in XML 1.0 DTD.
# IndexedLineSet: eliminated field lineWidth, handled by LineProperties.
# Profile for Triangle*Set nodes entered as Immersive.
# Consistent support for enabled, isActive fields in all Sensor nodes.
# Added description field for X3DPointingDeviceSensorNode nodes
# CylinderSensor, PlaneSensor, SphereSensor, TouchSensor so that
# authors can describe intended action to users.
# Added Geometry2D nodes: Arc2D, ArcClose2D, Circle2D, Disk2D,
# PolyLine2D and PolyPoint2D (note capitalization different than draft),
# Rectangle2D, TriangleSet2D.
# brutzman, spec team issue resolutions 10 November 2002
# MultiTexture, MultiTextureCoordinate, TextureCoordinateGenerator added.
# ColorRGBA allowed in Interchange Profile, alpha channel may be ignored.
# StringSensor: removed extraneous fields from StringSensor, removed
# deletionCharacter/terminationCharacter, added SFBool deletionAllowed.
# TimeSensor numLoops removed.
# TextureBackground added, field names of child texture nodes are in
# alphabetic order: backTexture, bottomTexture, frontTexture,
# leftTexture, rightTexture, topTexture.
# Restored Collision and removed containerField throughout,
# reverting work noted below 14-15 May 2002 item 6.
# Restricted content to GroupingNodes, Shape and ProtoInstance.
#
# brutzman, spec team issue resolutions 9 November 2002
# PointSet: eliminated field pointSize, deferred until ParticleSet work.
# brutzman 3 November 2002
# Event utilities: verified BooleanSequencer, IntegerSequencer.
# Also added other event utilities BooleanFilter, BooleanToggle,
# BooleanTrigger, IntegerTrigger, TimeTrigger.
# Prototypes also provided for VRML97 use, see development examples.
# brutzman 2 November 2002
# Added node ColorRGBA and field types SFColorRGBA, MFColorRGBA.
# Added nodes TriangleFanSet, TriangleSet, TriangleStripSet.
# Added missing attributes to X3D DTD as follows.
# Inline:
# SFBool [in,out] load TRUE
# LoadSensor
# set timeout default value to 0
# Shape
# SFVec3f [] bboxCenter 0 0 0 (-inf,inf)
# SFVec3f [] bboxSize -1 -1 -1 (0,inf) or -1 -1 -1
# TimeSensor:
# SFFloat [in,out] numLoops 1 [0,inf)
# SFTime [in,out] pauseTime 0 (-inf,inf)
# SFTime [in,out] resumeTime 0
# SFBool [out] isPaused
# SFTime [out] elapsedTime
# couch hudson brutzman 1 November 2002
# Modified names of accessType inputOnly/outputOnly (eventIn/eventOut)
# and attribute values as empty (FIXED ""). Prevents validation of
# content, allows construction of full DTD scene graphs in DOM etc.
# - inputOnly: prepended set_
# - outputOnly: appended _changed
# Node fields not listed:
# - children: addChildren, removeChildren
# Names changed, defaults cleared to #FIXED ""
# - AudioClip duration_changed
# - Interpolators set_fraction, value_changed
# - Bindable nodes set_bind, bindTime, isaActive
# (Had to change %SFBool% to CDATA vice true/false to allow null value)
# - Collision collideTime
# - Sensors isActive, outputOnly _changed events
# - ElevationGrid set_height: inputOnly event added
# - KeySensor, StringSensor outputOnly fields
# - TouchSensor added hitNormal_changed, hitPoint_changed, hitTexCoord_changed
# - set_ methods added for Geometry node children
# brutzman 1 November 2002
# Changed IndexedFaceSet in Interchange profile from
# convex %SFBool; #FIXED "true"
# to
# convex %SFBool; #IMPLIED
# since Interchange browsers have the option to honor convex false.
#
# brutzman 1 November 2002
# Removed unneeded constructs in DTD
#
#
#
#
#
#
#
#
#
# ]]>
#
# brutzman 28 October 2002
# Upgraded all content to verify revised IS/connect tags,
# removed both IS and USE atttributes in field tag.
# brutzman 24 October 2002
# added MFImage type
# brutzman 20 October 2002
# Made field accessType REQUIRED instead of IMPLIED.
# Removed IS attribute from fieldValue.
# Moved double type definitions from GeoSpatial-compact.dtd to x3d-compact.dtd
# and added double types to allowed type choice list.
# Made Humanoid field name IMPLIED instead of REQUIRED, so that
# is legal. Note that defining the name
# attribute must be present so Humanoid can be identified at runtime.
# brutzman 19 October 2002
# Renamed ColorNode to Color.
# Renamed type enumerations:
# Boolean to SFBool
# Booleans to MFBool
# Color to SFColor
# Colors to MFColor
# Double to SFDouble
# Doubles to MFDouble
# Float to SFFloat
# Floats to MFFloat
# Image to SFImage
# Integer to SFInt32
# Integers to MFInt32
# Node to SFNode
# Nodes to MFNode
# Rotation to SFRotation
# Rotations to MFRotation
# String to SFString
# Strings to MFString
# Time to SFTime
# Times to MFTime
# Vector2Float to SFVec2f
# Vector2FloatArray to MFVec2f
# Vector3Float to SFVec3f
# Vector3FloatArray to MFVec3f
# Vector3Double to SFVec3d
# Vector3DoubleArray to MFVec3d
# brutzman 18 October 2002
# Renamed internal DTD labels for parameter-entity extension, which are used to
# switch different levels of DTD validation on/off.
# (unchanged) InterchangeProfile
# ** (needed) InteractiveProfile
# BaseProfile to ImmersiveProfile
# ** (needed) FullProfile
# DISProfile to DISComponent
# GeoSpatialProfile to GeoSpatialComponent
# HAnimProfile to HAnimComponent
# NurbsProfile to NurbsComponent
# LatticeXvlProfile to LatticeXvlComponent
# brutzman 17 October 2002
# Eliminated USE attribute on fieldValue for identifying contained content.
# Utilize child nodes with single USE attribute instead.
# Revise enumeration values for attribute accessType
# from accessType (eventIn | eventOut | field | exposedField)
# to accessType (inputOnly | outputOnly | initializeOnly | inputOutput)
# brutzman 16 October 2002
# follows definitions for Script and (nested) ProtoDeclare
# follows definitions for ProtoInstance
# Prepended optional single IS? tag to instantiable nodes in DIS, GeoSpatial,
# H-Anim2.0, NURBS and LatticeXVL components, matching all other X3D nodes.
# brutzman 12 October 2002
# eliminated tag-order ambiguity problem in HumanoidAnimation2.0-compact.dtd
# brutzman 1 October 2002
# changed default value, MovieTexture loop="false" to match specification
#
# ========================================================================
# DTD prior to winter 2001:
# http://www.web3D.org/TaskGroups/x3d/translation/x3d-compromise.dtd
# DTD prior to 15 March 2000:
# http://www.web3D.org/TaskGroups/x3d/translation/x3d-draft.dtd
# ========================================================================
#
# brutzman 29 September 2002
# IS/connect allowed as first elements of ProtoInstance, for use within a
# ProtoDeclare
# brutzman 27 September 2002
# Eliminated Eliminated optional "quote" "marks" from FontStyle default values
# family %MFString; 'SERIF'
# justify %MFString; 'BEGIN'
# brutzman, hudson 24 August 2002
# LoadSensor tooltips updated, and watchList nodes constrained to nodes with url:
# (Anchor | AudioClip | GeoInline | ImageTexture | Inline | MovieTexture | Script | ProtoInstance)*
# brutzman, 24 August 2002
# corrected names are PositionInterpolator2D, CoordinateInterpolator2D
# for Vector2FloatInterpolator, Vector2FloatArrayInterpolator
# brutzman, 14 August 2002
# added Vector2FloatInterpolator, Vector2FloatArrayInterpolator
# brutzman, 4 August 2002
# changed class attribute to #IMPLIED rather than empty string ""
# brutzman, 6 July 2002
# added BooleanSequencer, IntegerSequencer
# x3d-specification team, 3 July 2002
# added StaticGroup
# updated versioning scheme from 0.8 to 0.8.1
# x3d-specification team, 2 July 2002
# modified IS construct for use within Prototype declarations. Example:
#
#
#
#
#
# ...
#
#
# Status: implemented in DTD and tooltips only, also needed in X3D Schema,
# conversion stylesheets and exemplar content. Deprecated previous approach
# using definitions remains validatable/usable until these remaining
# changes occur.
# brutzman, 6 June 2002
# renamed IMPORT tag's inlineDEF to InlineDEF for consistent capitalization,
# renamed AS values to attribute name AS (instead of more complicated names).
# made IMPORT (InlineDEF, exportedDEF) and EXPORT (localDEF) REQUIRED, kept AS's optional.
# example use:
#
#
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
#
#
#
# hudson, couch, x3d-specification team, 5 June 2002
# added LoadSensor which reports whether file-based children are successfully loaded
# x3d-specification team, 14-15 May 2002
# 1. component tag: require only name and level atttributes, default level="1" integer
# x3d-compact.dtd
# removed the following attributes: url originator version
# originator CDATA #IMPLIED
# url CDATA #IMPLIED
# version CDATA #IMPLIED
# x3d-compact.profile.xml
#
#
#
# x3d schema
#
#
#
# 2. IMPORT/EXPORT
# IMPORT inlineDEF.exportedDEF AS localDEF
# EXPORT localDEF AS exportedDEF
# IMPORT/EXPORT can appear anywhere a ROUTE can appear (rather than EXPORT being a child of Inline)
# 3. Viewpoint 'centerOfRotation' point is proposed addition relating to NavigationInfo EXAMINE mode.
# exposedField, default value 0 0 0, does not get affected by camera motion
# 4. 'containerField' is the field-label prefix used in VRML encodings
# when this node is a child of another node.
# Examples: geometry Box, children Group, proxy Group.
# Hint: can be overridden by author if needed.
# 5. 'class' attribute reserved for future use by XML Cascading Style Sheets (CSS), similar to HTML.
# References:
# http://www.w3.org/Style/CSS
# http://www.w3.org/TR/REC-CSS2
# This is an expected area of interaction with Web Accessibility Initiative (WAI).
# http://www.w3.org/WAI
# 6. tag removed in favor of containerField attributes throughout tagset
#
# becomes
#
# and following is removed:
#
# 7.