# - 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. element no longer allowed, due to lack of type checking on # node and attribute values, as well as redundant functionality. # Utilize @USE attributes instead, for example # # # # brutzman, 14 May 2002 # removed commented/unused MultiTexture fragments, copied here for # archival purposes # # # # # # # # # # # # # # # # # --> # # # # # # # # # brutzman, 18 February 2002 # eliminated Browser attributes [evaluate browserResponse creationTargetNode] from Scene # brutzman, 16 February 2002 # renamed CoreProfile to InterchangeProfile # added Extensibility to allowed profile names, work under discussion # jablonski, brutzman, 2 February 2002 # fixed LatticeXvl XvlShell attributes as Booleans/SFBool # brutzman, 2 February 2002 # removed experimental readOnly attribute from # jablonski, brutzman, 26 January 2002 # fully integrated LatticeXvl XvlShell, LatticeXvl-compact.dtd and many examples # tested satisfactorily under Cortona and CosmoPlayer # requires CLASSPATH modification to run, see readme.txt in examples/LatticeXvl # brutzman, 22 January 2002 # completed attribute value validation checks in X3dToVrml97.xsl !! # fixed variety of previously undetected (!) errors throughout examples # changed default filename extension, renamed all example files .xml => .x3d # propagated through all examples # GeoVrml => GeoSpatial profile # DIS profile => DistributedInteractiveSimulation profile # brutzman, 21 January 2002 # vrml97Hint => accessType # ExternProtoDeclare nodeTypeHint => nodeType, changing allowed values from CDATA to # enumerated names matching all VRML 97 nodes and instantiable node types. # local DOCTYPE DTD address: removed file:///c: for cross-platform flexibility # modified all example scenes to remove optional quotes from enumerations, so that # # becomes # etc. # Similarly for FontStyle justify/family and Fog type attributes. # This silences messages from improved X3dToVrml97.xsl enumerations validation. # brutzman, 4 November 2001 # no children allowed in Inline # simplified definition for ProtoInstance # brutzman, 10 October 2001 # ProtoDeclare and ExternProtoDeclare no longer restricted to appear as first # children of Scene, but can now appear in any order among children nodes. # brutzman, diefenbach, puk 12 July 2001 # tags include originator, url and version attributes - still experimental. # brutzman 8 July 2001 # tags are now first children of , preceding tags. # brutzman 4 July 2001 # , , gain annotation attributes for documentation # and appInfo descriptions, matching XML Schema tag structures and semantics. # This allows scene authors (and extension authors) to annotate and document new # Prototypes and their fields, in same manner as other X3D node definitions and tooltips. # This is an important and valuable capability since prototypes are the primary extension # mechanism for VRML/X3D. # Initial implementation: attributes (rather than tags) for documentation and appInfo. # Future implementation may replace these simple attributes with documentation/appInfo # element tags from XML Schema, in order to enable internationalization (i18n) and thus # multiple simultaneous versions of these values in different languages. Documentation: # http://www.w3.org/TR/xmlschema-0/#CommVers # http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/#declare-annotation # dick puk, brutzman, curtis blais 3 July 2001 (specification editors meeting) # Updated compact and compromise DTDs to match specification changes # ref: "X3D spec meeting: VRML200x/X3D profiles, components, and headers," 4 May 2001 # http://www.web3d.org/WorkingGroups/x3d-contributors/hypermail/2001/0438.html # profileForContainedScene becomes profile, # with valid enumeration names (Core|CoreInteractive|Base|Full). # indicates needed scene functionality above the given profile. # tag(s) are optional first children of , with string # attributes name (required) and level (optional). # Names are not constrained enumeration values, authors can define components. # Supported component names are (DIS|GeoVrml|HumanoidAnimation|Lattice|Nurbs|[other]). # is revised name for
to exactly match XHTML/HTML, especially # since it contains no specified VRML/X3D header information # looks OK as is # rename BaseLine Profile as Base Profile # CoreInteractive profile under consideration by Browser working group, slightly # richer than strict Core Profile which corresponds to output-only devices # rename DisJavaVrml component as DIS (IEEE Distributed Interactive Simulation Protocol) # and matched name of corresponding DIS.dtd, DIS-compact.dtd # gains boolean attribute readOnly, for field definitions inside ProtoDeclare, # ExternProtoDeclare and Script. Implied default is readOnly false. # Native-node attributes have readOnly semantics defined in the # VRML 200x Part I abstract specification. # attribute vrml97hint (for enumerations eventIn, eventOut, field, exposedField) # maintained for backwards compatibility, but not needed for VRML 200x and later. # jablonski, brutzman 1 July 2001 # initial integration LatticeXvl profile, work in progress # brutzman 1 July 2001 # promoting to version 0.8 since NIST conformance suite passes # brutzman 1 July 2001 # changed URL for local-system backup DTD resource from # "file://localhost/C:/www.web3D.org/TaskGroups/x3d/translation/x3d-compact.dtd" # ^^^^^^^^^ # to # "file:///C:/www.web3D.org/TaskGroups/x3d/translation/x3d-compact.dtd" # thus X3D scenes should have the following DOCTYPE: # # # Future work is to achieve the following DOCTYPE in working systems and applications: # # brutzman 1 July 2001 # shortened Document Type Declaration references for contained profiles inside DTD # to direct, local SYSTEM links for more-stable response both online and offline. # Example: # brutzman 25 May 2001 # moved Switch from BaseLine to Core profile, supporting use of KeySensor # activation keys under Core profile. KeySensor still undergoing implementation # and evaluation. # brutzman 17 April 2001 # subsetted TouchSensor fields for hitNormal, hitPoint and hitTexCoord # to be BaseLine profile. all other TouchSensor fields are Core profile. # brutzman 10 April 2001 # updated meta tag xml:lang language attribute reference # [IETF RFC3066/BCP47] ftp://ftp.isi.edu/in-notes/bcp/bcp47.txt # brutzman 12 March 2001 # meta tag name attribute now required, since description also required # goldberg 6 February 2001 # Viewpoint 'examine' field is Rotation, not Vector3Float # brutzman 3 February 2001 # corrected missing * after SceneLeafNodes in x3d-compact.dtd to allow # multiple children under ProtoInstance, not just single children # couch, brutzman 1 February 2001 # isOver, touchTime added to Anchor to match multiple interface with # TouchSensorNodeType. see VRML 97 specification, X3D Schema, SAI. # http://www.web3D.org/technicalinfo/specifications/vrml97/part1/nodesRef.html#Anchor # http://www.web3D.org/technicalinfo/specifications/vrml97/part1/concepts.html#4.6.7.3 # http://www.web3D.org/TaskGroups/x3d/translation/X3dSchemaDraft.xml # http://www.web3D.org/TaskGroups/x3d/sai/javadoc/org/web3d/x3d/sai/Anchor.html # brutzman, goldberg, williams 12/26/2000 # Scene node exposes Browser class and has a DEF. Added currentTime # to match experimental testing of proposed additional field for # VRML 97/200x. # brutzman 12/17/2000 # experimenting with renaming Color to ColorNode, in order to avoid # SAI API naming collision with Color field type (i.e. rgb values) # brutzman 11/22/2000 # renamed Vector2, Vector2Array, Vector3, Vector3Array to # Vector2Float, Vector2FloatArray, Vector3Float, Vector3FloatArray # avoiding name collisions with GeoVrml Vector_Double types # brutzman 11/19/2000 # added FontStyle to list of allowed Prototype nodes # brutzman 11/8/2000 # added KeySensor to Core Profile and StringSensor to Baseline Profile # added Nurbs Profile # renamed Vrml97 Profile to Baseline Profile # brutzman 10/8/2000 # hid never-been-tested multitexture tags by IGNORE-ing X3dExtensions # brutzman 8/13/2000 # fixed oversight, allowed USE node as one of the allowed %ProtoNodes; # brutzman 7/11/2000 # integrated extension support and translation capabilities for # GeoVrml.dtd (version 1.0) and HumanoidAnimation.dtd (version 1.1) # tested via examples subdirectories, stylesheets and X3D-Edit # brutzman 6/11/2000 # fieldValue node: attribute 'fieldName' is now 'name' for consistency # brutzman 6/7/2000 # ProtoInstance added as a valid %ProtoNodes; entity, simply allows # ProtoInstance to be used to initialize fields of type Node/Nodes # brutzman 5/23/2000 # ExternProtoDeclare: Vrml97typeHint relaxed to be any type value # brutzman 5/17/2000 # Inline edited to contain children (vice SceneNodes) in # x3d-compromise.dtd, to permit possible external access. Same # for GeoInline. This needs to be on our technical issues list. # brutzman 5/16/2000 # fixed example URLs at top of each DTD # brutzman 5/1/2000 # split out DTD into two versions: # x3d-compromise.dtd official version with field-wrapper tags # x3d-compact.dtd unofficial version without field-wrapper tags # which can be used as part of a binary specification and for # autogeneration of class hierarchies that do not include fields as # actual classes in the tree # cleaned out following excerpts from DTD: # # # # # # # # # brutzman 4/23/2000 # Script node whitespace handling for contained script code: # Script now has xml:space #FIXED to 'preserve' and it's child field tag # has xml:space restored to (default | preserve) 'default' # This forces preservation of whitespace as described in XML spec 2.10 # and more closely matches XHTML 1.0. Also note that all line-feed # combinations (#xA, #x13, #x13#xA) are mapped to #xA, the line-feed # character as described in XML spec 2.11. This means that CDATA # sections enscapsulating script code are not required for authors to # ensure proper handling of line feeds. # is contained by