XML Schema for the Extensible 3D (X3D) Graphics Specification tagset
X3DBoundedObject indicates that bounding box values can be provided (or computed) for this node and any children. Bounding box values approximate the volume of a containing box in the current coordinate system. Bounding box values can optionally be provided to (or calculated by) 3D browsers. Bounding box values are hints that can improve performance by allowing browsers to inexpensively cull geometry, thus avoiding the computational cost of trying to drawing shapes when they are outside of the current view. boundingBoxSizeType dimensions are non-negative values. Default value (-1 -1 -1) indicates that no bounding box size has been computed.
intensityType values are floats ranging from 0.0 to 1.0.
SFBool is a logical type with possible values (true|false) to match the XML boolean type.
Hint: X3D SFBool values are lower case (true|false) in order to maintain
compatibility with other XML documents.
MFBool is an array of Boolean values.
Type MFBool was previously undefined in the VRML 97 Specification, but nevertheless needed for event utilities and scripting.
Example use: MFBool is useful for defining a series of behavior states using a BooleanSequencer prototype.
Array values are optionally separated by commas.
SFDouble is a double-precision floating-point type. Array values are optionally separated by commas.
See GeoVRML 1.0 Recommended Practice, Section 2.3, Limitations of Single Precision for rationale.
MFDouble is an array of Double values, i.e. a double-precision floating-point array type.
See GeoVRML 1.0 Recommended Practice, Section 2.3, Limitations of Single Precision for rationale.
SFDouble/MFDouble are analagous to SFDouble/MFDouble. Array values are optionally separated by commas.
SFFloat is a single-precision floating-point type.
MFFloat is an array of SFFloat values, i.e. a single-precision floating-point array type. Array values are optionally separated by commas.
The SFImage field specifies a single uncompressed 2-dimensional pixel image. SFImage fields contain three integers representing the width, height and number of components in the image, followed by widthÃ—height hexadecimal or integer values representing the pixels in the image.
MFImage is an array of SFImage values.
An SFInt32 field specifies one 32-bit signed integer.
An MFInt32 field defines an array of 32-bit signed integers. Array values are optionally separated by commas.
SFRotation is an axis-angle 4-tuple, indicating X-Y-Z direction plus angle orientation about that axis. The first three values specify a normalized rotation axis vector about which the rotation takes place. (Thus the first three values must be within the range [-1..+1] in order to represent a normalized unit vector. Problem: scientific notation allows leading digit.) The fourth value specifies the amount of right-handed rotation about that axis in radians.
MFRotation is an array of SFRotation values. Array values are optionally separated by commas.
SFString defines a single string encoded with the UTF-8 universal character set.
MFString is an array of SFString values, each "quoted" and separated by whitespace. Array values are optionally separated by commas.
The SFTime field specifies a single time value. Time values are specified as a double-precision floating point number. Typically, SFTime fields represent the number of seconds since Jan 1, 1970, 00:00:00 GMT.
MFTime is an array of SFTime values. Array values are optionally separated by commas.
SFVec2f is a 2-tuple pair of SFFloat values.
Hint: SFVec2f can be used to specify a 2D single-precision coordinate.
MFVec2f is an array of SFVec2f values. Array values are optionally separated by commas.
SFVec2d is a 2-tuple pair of SFDouble values. Array values are optionally separated by commas.
Hint: SFVec2d can be used to specify a 2D double-precision coordinate.
MFVec2d is an array of SFVec2d values. Array values are optionally separated by commas.
SFVec3f is a 3-tuple triplet of SFFloat values.
Hint: SFVec3f can be used to specify a 3D coordinate or a 3D scale value.
MFVec3f is an array of SFVec3f values. Array values are optionally separated by commas.
SFVec3d is a 3-tuple triplet of SFDouble values.
See GeoVRML 1.0 Recommended Practice, Section 2.3, Limitations of Single Precision.
Hint: SFVec3d can be used to specify a georeferenced 3D coordinate.
MFVec3d is an array of SFVec3d values. Array values are optionally separated by commas.
See GeoVRML 1.0 Recommended Practice, Section 2.3, Limitations of Single Precision.
Hint: MFVec3d can be used to specify a list of georeferenced 3D coordinates.
accessTypeNames are allowed enumeration values for accessType. Prior names in VRML 97 were eventIn, eventOut, field, exposedField respectively.
ArcClose2dTypeValues are allowed enumeration values for ArcClose2D closureType.
componentNames are enumeration constants used to identify the profile for each scene-graph node, and also used by X3D tag to identify the components required by the contained Scene.
Core component is provided as the basis for custom componentization.
fieldTypeName contains the names of all X3DField types.
fontStyleValues are allowed enumeration values for FontStyle node type attribute.
fogTypeValues are allowed enumeration values for Fog node fogType attribute.
hanimVersionValues enumeration constants are used to identify the allowed versions for an HAnimHumanoid node.
HAnim 19774 V1.0 approved by ISO in 2006.
metadataContainerFieldValues are allowed enumeration values for Metadata node containerField: "value" if parent node is MetadataSet, otherwise "metadata" default.
parent node is not MetadataSet
parent node is MetadataSet
metaDirectionValues are allowed enumeration values for meta tag direction attribute.
right-to-left
left-to-right
networkModeValues are allowed enumeration values for DIS field networkMode.
profileName enumeration constants are used to identify the profile for each scene-graph node, and also used by X3D tag to identify the profile of a contained Scene.
Core Profile includes no nodes and is provided as the basis for custom componentization.
Interchange Profile equals the minimum subset of nodes needed to author lightweight compelling content.
Interactive Profile adds interaction nodes (Anchor, KeySensor) to the minimum subset of nodes needed to author lightweight compelling content.
Immersive Profile equals all of the nodes in the VRML 97 Specification, plus various X3D node additions including KeySensor, StringSensor and Scene.
The Full Profile corresponds to all Immersive X3D nodes plus all approved/implemented extensions. Full may get renamed Integrated.
x3dVersion enumeration constants are used to identify the allowed versions for an X3D scene graph.
X3D v3.0 approved by ISO in 2004.
Table of fields having accessType initializeOnly.
Table of fields having accessType inputOnly. These are not otherwise listed in element definitions since they cannot be specified in an .x3d file.
Table of fields having accessType outputOnly. These are not otherwise listed in element definitions since they cannot be specified in an .x3d file.
Table of fields having accessType inputOutput.
Nodes of this type can be used as child nodes for Appearance.
Bindable nodes implement the binding stack, so that only one of each node type is active at a given time.
X3DBoundedObject indicates that bounding box values can
be provided (or computed) for this node and any children.
Bounding box values approximate the volume of a containing box
in the current coordinate system. Bounding box values can
optionally be provided to (or calculated by) 3D browsers.
Bounding box values are hints that can improve performance by
allowing browsers to inexpensively cull geometry, thus avoiding
the computational cost of trying to drawing shapes when they are
outside of the current view.
A node that implements X3DChildNode is one of the legal children for a X3DGroupingNode parent.
Composed geometry nodes produce renderable geometry, can contain Color Coordinate Normal TextureCoordinate, and are contained by a Shape node.
X3DField is equivalent to SF (Single Field) simple non-Node types in the VRML 97 Specification.
Geometry nodes produce renderable geometry and are contained by a Shape node.
This is the base node type for all geometric property node types.
Grouping nodes can contain other nodes as children, thus making up the backbone of a scene graph.
X3DHumanoidNode enables extensibility for the Humanoid node.
Interpolator nodes are designed for linear keyframed animation.
Interpolators are driven by an input key ranging [0..1] and produce corresponding piecewise-linear output functions.
Light nodes provide illumination for rendering geometry in the scene.
containerField="value" inside parent MetadataSet element, otherwise use "metadata" default.
All instantiable nodes implement X3DNode, which corresponds to SFNode in the VRML 97 specification.
Nodes implementing X3DSoundSourceNode are allowed children of Sound node
X3DUrlObject indicates that a node has content loaded from a URL and can be tracked via a LoadSensor.
SceneGraphStructureNodeType is a marker interface that identifies nonrenderable nodes relating to scene graph structure. SceneGraphStructureNodeType extends from Base rather than X3DNode since DEF/USE not appropriate for declarations.
This complexType will likely not be needed, since integrating ProtoInstance into the content models solves the wildcard and extensibility problems.
Child-node content model corresponding to X3DAppearanceChildNode, loosely defined for better API-generation support.
Appropriately typed substitute node
Child-node content model corresponding to X3DAppearanceChildNode, loosely defined for better API-generation support.
fillProperties
lineProperties
material
texture
texture
texture
texture
textureTransform
textureTransform
ChildContentModel is the child-node content model corresponding to X3DChildNode, combining all profiles. ChildContentModel can contain most nodes, other Grouping nodes, Prototype declarations and ProtoInstances in any order and any combination. When the assigned profile is less than Full, the precise palette of legal nodes that are available depends on assigned profile and components.
children
Child-node content model corresponding to X3DChildNode for Core profile. ChildContentModelCore enables the first child of any node to be MetadataDouble, MetadataFloat, MetadataInteger, MetadataSet or MetadataString.
Child-node content model corresponding to X3DChildNode for Interchange profile.
Child-node content model corresponding to X3DChildNode for Interactive profile.
Child-node content model corresponding to X3DChildNode for Immersive profile.
Child-node content model corresponding to X3DChildNode for Full profile.
Child-node content model corresponding to X3DChildNode for DIS component.
Child-node content model corresponding to X3DChildNode for GeoSpatial component.
Child-node content model corresponding to X3DChildNode for HumanoidAnimation component.
Child-node content model corresponding to X3DChildNode for Nurbs component.
Child-node content model corresponding to ProtoInstance in Immersive profile.
Appropriately typed substitute node
Child-node content model corresponding to SceneGraphStructure elements, which are not specific X3D nodes.
ColorCoordinateContentModel is the child-node content model corresponding to IndexedLineSet, LineSet and PointSet. ColorCoordinateContentModel can contain any-order Coordinate (or CoordinateDouble) node with Color (or ColorRGBA) node. No more than one instance of any single node type is allowed.
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
ColorNormalTexCoordContentModel is the child-node content model corresponding to ElevationGrid and GeoElevationGrid. ColorNormalTexCoordContentModel can contain Color (or ColorRGBA), Normal and TextureCoordinate, in any order. No more than one instance of any single node type is allowed.
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
ColorCoordinateNormalTexCoordContentModel is the child-node content model corresponding to IndexedFaceSet and related Triangle 3D geometry nodes. ColorCoordinateNormalTexCoordContentModel can contain Color (or ColorRGBA), Coordinate (or CoordinateDouble), Normal and TextureCoordinate, in any order. No more than one instance of any single node type is allowed.
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
GeometryContentModel is the child-node content model corresponding to X3DGeometryNode. No more than one instance of any single geometry node is allowed.
geometry
Child-node content model corresponding to X3DGeometryNode for Interchange profile.
Child-node content model corresponding to X3DGeometryNode for Interactive profile.
Child-node content model corresponding to X3DGeometryNode for Immersive profile.
Child-node content model corresponding to Geometry2D component.
Child-node content model corresponding to Geometry2D component.
Child-node content model corresponding to X3DGeometryNode for GeoSpatial component.
Child-node content model corresponding to X3DGeometryNode for Nurbs component.
Child-node content model corresponding to X3DChildNode. GroupingNodeChildContentModel can contain most nodes, other Grouping nodes, Prototype declarations and ProtoInstances in any order and any combination. When less that Full profile, the precise palette of legal nodes that are available depends on profile and components.
Child-node content model corresponding to LoadSensor node, which determines if the retrievable content for the child X3DUrlObject nodes has been loaded from the network. When less that Full profile, the precise palette of legal nodes that are available depends on profile and components.
watchList
Child-node content model corresponding to a valid scene-graph fragment. SceneGraphFragmentContentModel can provide field or fieldValue initialization, so no ROUTEs or prototype declarations allowed.
Child-node content model corresponding to a valid scene-graph fragment. Also includes ROUTE(s) and prototype declaration(s).
ShapeChildContentModel is the child-node content model corresponding to X3DShapeNode. ShapeChildContentModel can contain a single Appearance node and a single geometry node, in any order.
appearance
geometry
Appropriately typed substitute node
geometry
appearance
Appropriately typed substitute node
appearance or geometry
geometry or appearance
geometry
appearance
Appropriately typed substitute node
SoundChildContentModel is the child-node content model corresponding to X3DSoundNode. SoundChildContentModel can contain a single AudioClip or MovieTexture as sound source.
source
Appropriately typed substitute node
TextChildContentModel is the child-node content model corresponding to X3DTextNode. TextChildContentModel can contain a single FontStyle node.
Appropriately typed substitute node
TextureBackgroundChildContentModel is the child-node content model corresponding to TextureBackground. TextureBackgroundChildContentModel can contain up to six Texture nodes (ImageTexture, MovieTexture, MultiTexture or PixelTexture). Each child texture must have a different containerField for topTexture, bottomTexture, leftTexture, rightTexture, frontTexture and backTexture.
Appropriately typed substitute node
containerField='value' for contained payload metadata inside MetadataSet element.
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
field can contain either attribute-value or node content. field is used by ExternProtoDeclare, ProtoDeclare and Script nodes.
fieldValue can contain either attribute-value or node content. fieldValue is used by ProtoInstance nodes, reinitializing default values specified in ProtoDeclare field tags.
http://www.dublincore.org/documents/dcmi-terms/#terms-description
http://www.w3.org/TR/html4/struct/global.html#adef-content
http://www.w3.org/TR/html4/struct/dirlang.html#adef-dir
http://www.w3.org/TR/html4/struct/global.html#adef-http-equiv
http://www.w3.org/TR/html4/struct/dirlang.html#h-8.1.1
http://www.w3.org/TR/html4/struct/global.html#idx-scheme
ProtoDeclare defines new Prototype nodes. Nested ProtoDeclares, ProtoInstances are allowed by specification.
ProtoInterface defines fields for new Prototype nodes.
ProtoBody contains the definition nodes for new Prototype nodes.
Nested ProtoDeclares, ProtoInstances are allowed by specification. ProtoInstance contained content normally captured via fieldValue initializations.
ROUTEs connect event-producing nodes/fields to event-consuming nodes/fields.
Appropriately typed substitute node
CAESAR joint names for identification of HAnimJoint nodes
CAESAR segment names for identification of HAnimSegment nodes
CAESAR feature point names, index and description for use by HAnimDisplacer nodes
CAESAR site names for identification of HAnimSite nodes. HAnimSite name fields can also include name="somelocation_view" and so siteNames validation is turned off by default.
restricted version of X3DGroupingNode
children
children
http://www.blaxxun.com/support/developerguide/developer/contact/3d/nurbs/spec/nodes.htm#Contour2D
Appropriately typed substitute node
http://www.blaxxun.com/support/developerguide/developer/contact/3d/nurbs/spec/nodes.htm#NurbsCurve
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node
Appropriately typed substitute node