Table of Contents
Target Namespace
None
Element and Attribute Namespaces
Global element and attribute declarations belong to this schema's target namespace.
By default, local element declarations belong to this schema's target namespace.
By default, local attribute declarations have no namespace.
Declared Namespaces
Prefix
Namespace
xml
http://www.w3.org/XML/1998/namespace
xs
http://www.w3.org/2001/XMLSchema
Schema Component Representation
<
xs:schema elementFormDefault ="
qualified ">
...
</
xs:schema >
Name
AngularMotor
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
Documentation is missing
XML Instance Representation
<AngularMotor
name="
xs :string [0..1] "
maxVelocity="
xs :double [1] "
maxForce="
xs :double [1] " />
Schema Component Representation
<
xs:element name ="
AngularMotor ">
<
xs:complexType >
<
xs:attribute name ="
name "
type ="
xs :string
"/>
<
xs:attribute name ="
maxVelocity "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
maxForce "
type ="
xs :double
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
Name
Appearance
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
A set of graphical attributes
XML Instance Representation
<Appearance
ref="
xs :string [1] "
visible-to-user="
xs :boolean [0..1] " />
Schema Component Representation
<
xs:element name ="
Appearance ">
<
xs:complexType >
<
xs:attribute name ="
ref "
type ="
xs :string
"
use ="
required "/>
<
xs:attribute name ="
visible-to-user "
type ="
xs :boolean
"
default ="
true "/>
</
xs:complexType >
</
xs:element >
Name
AppearanceDefinition
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
Description of a graphical surface
XML Instance Representation
<AppearanceDefinition
name="
xs :string [1] " >
<Alpha
a="
xs :double [1] " />
[0..1]
<Texture
file="
xs :string [1] " />
[0..1]
</AppearanceDefinition>
Schema Component Representation
<
xs:element name ="
AppearanceDefinition ">
<
xs:complexType >
<
xs:sequence >
<
xs:element name ="
Color "
type ="
RGBColor
"/>
<
xs:element name ="
Alpha "
minOccurs ="
0 ">
<
xs:complexType >
<
xs:attribute name ="
a "
type ="
xs :double
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
<
xs:element name ="
Texture "
minOccurs ="
0 ">
<
xs:complexType >
<
xs:attribute name ="
file "
type ="
xs :string
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
</
xs:sequence >
<
xs:attribute name ="
name "
type ="
xs :string
"
use ="
required "/>
</
xs:complexType >
<
xs:unique name ="
all-surfaces-must-have-different-names ">
<xs:selector xpath ="AppearanceDefinition "/>
<xs:field xpath ="@name "/>
</
xs:unique >
</
xs:element >
Name
BallJoint
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
A joint based on a ball
XML Instance Representation
<BallJoint
name="
xs :string [1] " >
<AnchorPoint>
Triple
</AnchorPoint>
[1]
Start Choice [0..3]
End Choice
</BallJoint>
Schema Component Representation
<
xs:element name ="
BallJoint ">
<
xs:complexType >
<
xs:sequence >
<
xs:element name ="
AnchorPoint "
type ="
Triple
"/>
<
xs:choice minOccurs ="
0 "
maxOccurs ="
3 ">
</
xs:choice >
</
xs:sequence >
<
xs:attribute name ="
name "
type ="
xs :string
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
Element: Box
Name
Box
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
A quadric object
XML Instance Representation
<Box
name="
xs :string [0..1] "
length="
xs :double [1] "
width="
xs :double [1] "
height="
xs :double [1] "
canCollide="
xs :boolean [0..1] " >
</Box>
Schema Component Representation
<
xs:element name ="
Box ">
<
xs:complexType >
<
xs:sequence >
<
xs:element ref ="
Rotation
"
minOccurs ="
0 "/>
<
xs:element ref ="
Material
"
minOccurs ="
0 "/>
<
xs:element ref ="
Elements
"
minOccurs ="
0 "/>
</
xs:sequence >
<
xs:attribute name ="
name "
type ="
xs :string
"/>
<
xs:attribute name ="
length "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
width "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
height "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
canCollide "
type ="
xs :boolean
"
use ="
optional "
default ="
true "/>
</
xs:complexType >
</
xs:element >
Name
Bumper
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
A bumper sensor
XML Instance Representation
<Bumper
name="
xs :string [1] " >
</Bumper>
Schema Component Representation
<
xs:element name ="
Bumper ">
<
xs:complexType >
<
xs:sequence >
<
xs:element ref ="
Rotation
"
minOccurs ="
0 "/>
<
xs:element ref ="
Elements
"
minOccurs ="
0 "/>
</
xs:sequence >
<
xs:attribute name ="
name "
type ="
xs :string
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
Name
Camera
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
This is a Camera
XML Instance Representation
<Camera
name="
xs :string [1] " >
Start Choice [1]
<SphericalProjection> ... </SphericalProjection> [1]
<PerspectiveProjection> ... </PerspectiveProjection> [1]
End Choice
</Camera>
Schema Component Representation
<
xs:element name ="
Camera ">
<
xs:complexType >
<
xs:sequence >
<
xs:element ref ="
Rotation
"
minOccurs ="
0 "/>
<
xs:element ref ="
Range
"/>
<
xs:choice >
<xs:element name ="SphericalProjection "/>
<xs:element name ="PerspectiveProjection "/>
</
xs:choice >
<
xs:element ref ="
Elements
"
minOccurs ="
0 "/>
</
xs:sequence >
<
xs:attribute name ="
name "
type ="
xs :string
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
Name
CappedCylinder
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
A capped cylinder
XML Instance Representation
<CappedCylinder
radius="
xs :double [1] "
height="
xs :double [1] "
name="
xs :string [0..1] "
canCollide="
xs :boolean [0..1] " >
</CappedCylinder>
Schema Component Representation
<
xs:element name ="
CappedCylinder ">
<
xs:complexType >
<
xs:sequence >
<
xs:element ref ="
Rotation
"
minOccurs ="
0 "/>
<
xs:element ref ="
Material
"
minOccurs ="
0 "/>
<
xs:element ref ="
Elements
"
minOccurs ="
0 "/>
</
xs:sequence >
<
xs:attribute name ="
radius "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
height "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
name "
type ="
xs :string
"/>
<
xs:attribute name ="
canCollide "
type ="
xs :boolean
"
use ="
optional "
default ="
true "/>
</
xs:complexType >
</
xs:element >
Name
ComplexShape
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
Describes a complex shape which is assembled from a set of polygons
XML Instance Representation
<ComplexShape
name="
xs :string [1] "
canCollide="
xs :boolean [0..1] " >
<GraphicalRepresentation
vertexList="
xs :string [1] " >
[1]
Start Choice [0..*]
<Polygon>
[1] ?
<Vertex
ref="
xs :string [1] " />
[3..*]
</Polygon>
<TriangleStrip>
[1] ?
<Vertex
ref="
xs :string [1] " />
[3..*]
</TriangleStrip>
End Choice
</GraphicalRepresentation>
<PhysicalRepresentation>
[1]
Start Choice [0..1]
Start Choice [0..1]
<TriangleMesh> ... </TriangleMesh> [1]
End Choice
Start Choice [0..*]
End Choice
End Choice
</PhysicalRepresentation>
</ComplexShape>
Schema Component Representation
<
xs:element name ="
ComplexShape ">
<
xs:complexType >
<
xs:sequence >
<
xs:element ref ="
Rotation
"
minOccurs ="
0 "/>
<
xs:element name ="
GraphicalRepresentation ">
<
xs:complexType >
<
xs:sequence >
<
xs:choice minOccurs ="
0 "
maxOccurs ="
unbounded ">
<
xs:element name ="
Polygon ">
<
xs:complexType >
<
xs:sequence >
<
xs:element name ="
Vertex "
minOccurs ="
3 "
maxOccurs ="
unbounded ">
<
xs:complexType >
<
xs:attribute name ="
ref "
type ="
xs :string
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
</
xs:sequence >
</
xs:complexType >
</
xs:element >
<
xs:element name ="
TriangleStrip ">
<
xs:complexType >
<
xs:sequence >
<
xs:element name ="
Vertex "
minOccurs ="
3 "
maxOccurs ="
unbounded ">
<
xs:complexType >
<
xs:attribute name ="
ref "
type ="
xs :string
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
</
xs:sequence >
</
xs:complexType >
</
xs:element >
</
xs:choice >
</
xs:sequence >
<
xs:attribute name ="
vertexList "
type ="
xs :string
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
<
xs:element name ="
PhysicalRepresentation ">
<
xs:complexType >
<
xs:sequence >
<
xs:choice minOccurs ="
0 "
maxOccurs ="
1 ">
<
xs:choice minOccurs ="
0 "
maxOccurs ="
1 ">
<xs:element name ="TriangleMesh "/>
</
xs:choice >
<
xs:choice minOccurs ="
0 "
maxOccurs ="
unbounded ">
</
xs:choice >
</
xs:choice >
</
xs:sequence >
</
xs:complexType >
</
xs:element >
<
xs:element ref ="
Elements
"
minOccurs ="
0 "/>
</
xs:sequence >
<
xs:attribute name ="
name "
type ="
xs :string
"
use ="
required "/>
<
xs:attribute name ="
canCollide "
type ="
xs :boolean
"
use ="
optional "
default ="
true "/>
</
xs:complexType >
</
xs:element >
Name
Compound
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
A group of objects
XML Instance Representation
<Compound
name="
xs :string [0..1] " >
</Compound>
Schema Component Representation
<
xs:element name ="
Compound ">
<
xs:complexType >
<
xs:sequence >
<
xs:element ref ="
Rotation
"
minOccurs ="
0 "/>
<
xs:element ref ="
Elements
"
minOccurs ="
0 "/>
</
xs:sequence >
<
xs:attribute name ="
name "
type ="
xs :string
"/>
</
xs:complexType >
</
xs:element >
Name
Cylinder
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
A standard cylinder
XML Instance Representation
<Cylinder
radius="
xs :double [1] "
height="
xs :double [1] "
name="
xs :string [0..1] "
canCollide="
xs :boolean [0..1] " >
</Cylinder>
Schema Component Representation
<
xs:element name ="
Cylinder ">
<
xs:complexType >
<
xs:sequence >
<
xs:element ref ="
Rotation
"
minOccurs ="
0 "/>
<
xs:element ref ="
Material
"
minOccurs ="
0 "/>
<
xs:element ref ="
Elements
"
minOccurs ="
0 "/>
</
xs:sequence >
<
xs:attribute name ="
radius "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
height "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
name "
type ="
xs :string
"/>
<
xs:attribute name ="
canCollide "
type ="
xs :boolean
"
use ="
optional "
default ="
true "/>
</
xs:complexType >
</
xs:element >
Name
DistanceSensor
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
A sensor for measuring distances
XML Instance Representation
<DistanceSensor
name="
xs :string [1] " >
Start Choice [1]
<SphericalProjection> ... </SphericalProjection> [1]
<PerspectiveProjection> ... </PerspectiveProjection> [1]
End Choice
</DistanceSensor>
Schema Component Representation
<
xs:element name ="
DistanceSensor ">
<
xs:complexType >
<
xs:sequence >
<
xs:element ref ="
Rotation
"
minOccurs ="
0 "/>
<
xs:element ref ="
Range
"/>
<
xs:choice >
<xs:element name ="SphericalProjection "/>
<xs:element name ="PerspectiveProjection "/>
</
xs:choice >
<
xs:element ref ="
Elements
"
minOccurs ="
0 "/>
</
xs:sequence >
<
xs:attribute name ="
name "
type ="
xs :string
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
Name
Elements
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
Specifies a list of child elements connected to the joint.
XML Instance Representation
<Elements>
Start Choice [1..*]
End Choice
</Elements>
Schema Component Representation
<
xs:element name ="
Elements ">
<
xs:complexType >
<
xs:choice maxOccurs ="
unbounded ">
<
xs:element ref ="
Hinge
"/>
<
xs:element ref ="
Use
"/>
<
xs:element ref ="
Box
"/>
</
xs:choice >
</
xs:complexType >
</
xs:element >
Name
FrictionCoefficient
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
The friction coefficent of the material refering to anoter material
XML Instance Representation
<FrictionCoefficient
otherMaterial="
xs :string [1] "
value="
xs :double [1] " />
Schema Component Representation
<
xs:element name ="
FrictionCoefficient ">
<
xs:complexType >
<
xs:attribute name ="
otherMaterial "
type ="
xs :string
"
use ="
required "/>
<
xs:attribute name ="
value "
type ="
xs :double
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
Name
Hinge
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
A joint with one axis
XML Instance Representation
<Hinge
name="
xs :string [1] " >
<AnchorPoint
x="
xs :double [1] "
y="
xs :double [1] "
z="
xs :double [1] " />
[1] ?
</Hinge>
Schema Component Representation
<
xs:element name ="
Hinge ">
<
xs:complexType >
<
xs:sequence >
<
xs:element name ="
AnchorPoint ">
<
xs:complexType >
<
xs:complexContent >
<
xs:extension base ="
Triple
"/>
</
xs:complexContent >
</
xs:complexType >
</
xs:element >
<
xs:element name ="
Axis "
type ="
AxisType
"/>
</
xs:sequence >
<
xs:attribute name ="
name "
type ="
xs :string
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
Name
InteractiveButton
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
A button which may be interactively clicked by the user
XML Instance Representation
<InteractiveButton
name="
xs :string [1] "
snapIn="
xs :boolean [0..1] " >
</InteractiveButton>
Schema Component Representation
<
xs:element name ="
InteractiveButton ">
<
xs:complexType >
<
xs:sequence >
<
xs:element ref ="
Rotation
"
minOccurs ="
0 "/>
<
xs:element ref ="
Elements
"
minOccurs ="
0 "/>
</
xs:sequence >
<
xs:attribute name ="
name "
type ="
xs :string
"
use ="
required "/>
<
xs:attribute name ="
snapIn "
type ="
xs :boolean
"
default ="
false "/>
</
xs:complexType >
</
xs:element >
Name
Macro
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
A reusable group of objects
XML Instance Representation
<Macro
name="
xs :string [1] " >
Start Choice [1..*]
End Choice
</Macro>
Schema Component Representation
<
xs:element name ="
Macro ">
<
xs:complexType >
<
xs:choice maxOccurs ="
unbounded ">
<
xs:element ref ="
Hinge
"/>
<
xs:element ref ="
Box
"/>
<
xs:element ref ="
Use
"/>
</
xs:choice >
<
xs:attribute name ="
name "
type ="
xs :string
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
Name
Mapping
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
A mapping to a range of values
XML Instance Representation
<Mapping
min="
xs :double [1] "
max="
xs :double [1] " />
Schema Component Representation
<
xs:element name ="
Mapping ">
<
xs:complexType >
<
xs:attribute name ="
min "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
max "
type ="
xs :double
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
Name
Material
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
The material of a physical object
XML Instance Representation
<Material
name="
xs :string [1] " />
Schema Component Representation
<
xs:element name ="
Material ">
<
xs:complexType >
<
xs:attribute name ="
name "
type ="
xs :string
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
Name
MaterialDefinition
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
Description of a surface material
XML Instance Representation
<MaterialDefinition
name="
xs :string [1] " >
</MaterialDefinition>
Schema Component Representation
<
xs:element name ="
MaterialDefinition ">
<
xs:complexType >
<
xs:sequence >
</
xs:sequence >
<
xs:attribute name ="
name "
type ="
xs :string
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
Name
Movable
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
Encloses a set of movable objects
XML Instance Representation
<Movable
name="
xs :string [1] " >
</Movable>
Schema Component Representation
<
xs:element name ="
Movable ">
<
xs:complexType >
<
xs:sequence >
<
xs:element ref ="
Elements
"
minOccurs ="
0 "/>
</
xs:sequence >
<
xs:attribute name ="
name "
type ="
xs :string
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
Name
OpeningAngles
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
Two angles
Schema Component Representation
<
xs:element name ="
OpeningAngles ">
<
xs:complexType >
<
xs:attribute name ="
x "
type ="
Angle
"
use ="
required "/>
<
xs:attribute name ="
y "
type ="
Angle
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
Name
OverwriteGraphicalShape
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
A tag used to change the graphical representation of a physical object
XML Instance Representation
<OverwriteGraphicalShape>
Start Choice [0..*]
End Choice
</OverwriteGraphicalShape>
Schema Component Representation
<
xs:element name ="
OverwriteGraphicalShape ">
<
xs:complexType >
<
xs:sequence >
<
xs:choice minOccurs ="
0 "
maxOccurs ="
unbounded ">
<
xs:element ref ="
SimpleBox
"
minOccurs ="
0 "/>
</
xs:choice >
</
xs:sequence >
</
xs:complexType >
</
xs:element >
Name
PhysicalAttributes
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
A set of physical attributes
XML Instance Representation
<PhysicalAttributes>
<Mass
value="
xs :double [1] " />
[0..1] ?
<CenterOfMass>
Triple
</CenterOfMass>
[0..1] ?
<Friction
direction1="
xs :double [1] "
direction2="
xs :double [0..1] " />
[0..1] ?
</PhysicalAttributes>
Schema Component Representation
<
xs:element name ="
PhysicalAttributes ">
<
xs:complexType >
<
xs:sequence >
<
xs:element name ="
Mass "
minOccurs ="
0 ">
<
xs:complexType >
<
xs:attribute name ="
value "
type ="
xs :double
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
<
xs:element name ="
CenterOfMass "
type ="
Triple
"
minOccurs ="
0 "/>
<
xs:element name ="
Friction "
minOccurs ="
0 ">
<
xs:complexType >
<
xs:attribute name ="
direction1 "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
direction2 "
type ="
xs :double
"
use ="
optional "/>
</
xs:complexType >
</
xs:element >
</
xs:sequence >
</
xs:complexType >
</
xs:element >
Name
Plane
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
A infinite plane object
XML Instance Representation
<Plane
name="
xs :string [0..1] "
a="
xs :double [1] "
b="
xs :double [1] "
c="
xs :double [1] "
d="
xs :double [1] " >
</Plane>
Schema Component Representation
<
xs:element name ="
Plane ">
<
xs:complexType >
<
xs:sequence >
<
xs:element ref ="
Material
"
minOccurs ="
0 "/>
</
xs:sequence >
<
xs:attribute name ="
name "
type ="
xs :string
"/>
<
xs:attribute name ="
a "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
b "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
c "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
d "
type ="
xs :double
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
Name
Range
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
A near and a far clipping distance
XML Instance Representation
<Range
near="
xs :double [1] "
far="
xs :double [1] " />
Schema Component Representation
<
xs:element name ="
Range ">
<
xs:complexType >
<
xs:attribute name ="
near "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
far "
type ="
xs :double
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
Name
Resolution
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
The resolution of a two dimensional sensor
XML Instance Representation
<Resolution
x="
xs :unsignedInt [1] "
y="
xs :unsignedInt [1] " />
Schema Component Representation
<
xs:element name ="
Resolution ">
<
xs:complexType >
<
xs:attribute name ="
x "
type ="
xs :unsignedInt
"
use ="
required "/>
<
xs:attribute name ="
y "
type ="
xs :unsignedInt
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
XML Instance Representation
<Rotation
x="
xs :double [1] "
y="
xs :double [1] "
z="
xs :double [1] " />
Schema Component Representation
<
xs:element name ="
Rotation "
type ="
Triple
"/>
Name
SimpleBox
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
A simple quadric object, not used as real scene element
XML Instance Representation
<SimpleBox
name="
xs :string [0..1] "
length="
xs :double [1] "
width="
xs :double [1] "
height="
xs :double [1] "
canCollide="
xs :boolean [0..1] " >
Start Choice [1]
End Choice
Start Choice [0..1]
End Choice
</SimpleBox>
Schema Component Representation
<
xs:element name ="
SimpleBox ">
<
xs:complexType >
<
xs:sequence >
<
xs:element ref ="
Rotation
"
minOccurs ="
0 "/>
<
xs:choice minOccurs ="
0 ">
</
xs:choice >
</
xs:sequence >
<
xs:attribute name ="
name "
type ="
xs :string
"/>
<
xs:attribute name ="
length "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
width "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
height "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
canCollide "
type ="
xs :boolean
"
use ="
optional "
default ="
true "/>
</
xs:complexType >
</
xs:element >
Name
SimpleCappedCylinder
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
A simple capped cylinder, not used as real scene element
XML Instance Representation
<SimpleCappedCylinder
radius="
xs :double [1] "
height="
xs :double [1] "
name="
xs :string [0..1] "
canCollide="
xs :boolean [0..1] " >
Start Choice [1]
End Choice
</SimpleCappedCylinder>
Schema Component Representation
<
xs:element name ="
SimpleCappedCylinder ">
<
xs:complexType >
<
xs:sequence >
<
xs:element ref ="
Rotation
"
minOccurs ="
0 "/>
</
xs:sequence >
<
xs:attribute name ="
radius "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
height "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
name "
type ="
xs :string
"/>
<
xs:attribute name ="
canCollide "
type ="
xs :boolean
"
use ="
optional "
default ="
true "/>
</
xs:complexType >
</
xs:element >
Name
SimpleCylinder
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
A simple standard cylinder, not used as real scene element
XML Instance Representation
<SimpleCylinder
radius="
xs :double [1] "
height="
xs :double [1] "
name="
xs :string [0..1] "
canCollide="
xs :boolean [0..1] " >
Start Choice [1]
End Choice
</SimpleCylinder>
Schema Component Representation
<
xs:element name ="
SimpleCylinder ">
<
xs:complexType >
<
xs:sequence >
<
xs:element ref ="
Rotation
"
minOccurs ="
0 "/>
</
xs:sequence >
<
xs:attribute name ="
radius "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
height "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
name "
type ="
xs :string
"/>
<
xs:attribute name ="
canCollide "
type ="
xs :boolean
"
use ="
optional "
default ="
true "/>
</
xs:complexType >
</
xs:element >
Name
SimpleSphere
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
A very simple sphere, not used as real scene element
XML Instance Representation
<SimpleSphere
radius="
xs :double [1] "
name="
xs :string [0..1] "
canCollide="
xs :boolean [0..1] " >
Start Choice [1]
End Choice
</SimpleSphere>
Schema Component Representation
<
xs:element name ="
SimpleSphere ">
<
xs:complexType >
<
xs:sequence >
</
xs:sequence >
<
xs:attribute name ="
radius "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
name "
type ="
xs :string
"/>
<
xs:attribute name ="
canCollide "
type ="
xs :boolean
"
use ="
optional "
default ="
true "/>
</
xs:complexType >
</
xs:element >
Name
Simulation
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
The main tag enclosing all descriptions
XML Instance Representation
<Simulation>
Start Choice [0..*]
End Choice
<Scene
name="
xs :string [1] "
usephysics="
xs :boolean [0..1] " >
[1] ?
<Background
surface="anySimpleType [1] " />
[0..1] ?
<AmbientLightColor>
RGBColor
</AmbientLightColor>
[1]
<DefaultAppearance
ref="
xs :string [1] "
visible-to-user="
xs :boolean [0..1] " />
[1] ?
<GlobalPhysicalParameters
gravity="
xs :double [1] "
erp="
xs :double [1] "
cfm="
xs :double [1] " />
[0..1] ?
<SimulationParameters
stepLength="
xs :double [1] "
standardLength="
xs :double [1] " />
[0..1] ?
</Scene>
</Simulation>
Schema Component Representation
<
xs:element name ="
Simulation ">
<
xs:complexType >
<
xs:sequence >
<
xs:choice minOccurs ="
0 "
maxOccurs ="
unbounded ">
<
xs:element ref ="
Macro
"/>
</
xs:choice >
<
xs:element name ="
Scene ">
<
xs:complexType >
<
xs:sequence >
<
xs:element name ="
Background "
minOccurs ="
0 ">
<
xs:complexType >
<xs:attribute name ="surface " use ="required "/>
</
xs:complexType >
</
xs:element >
<
xs:element name ="
AmbientLightColor "
type ="
RGBColor
"/>
<
xs:element name ="
DefaultAppearance ">
<
xs:complexType >
<
xs:attribute name ="
ref "
type ="
xs :string
"
use ="
required "/>
<
xs:attribute name ="
visible-to-user "
type ="
xs :boolean
"
default ="
true "/>
</
xs:complexType >
</
xs:element >
<
xs:element name ="
GlobalPhysicalParameters "
minOccurs ="
0 ">
<
xs:complexType >
<
xs:attribute name ="
gravity "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
erp "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
cfm "
type ="
xs :double
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
<
xs:element name ="
SimulationParameters "
minOccurs ="
0 ">
<
xs:complexType >
<
xs:attribute name ="
stepLength "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
standardLength "
type ="
xs :double
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
<
xs:element ref ="
Plane
"
minOccurs ="
0 "
maxOccurs ="
unbounded "/>
<
xs:element ref ="
Elements
"
minOccurs ="
0 "/>
</
xs:sequence >
<
xs:attribute name ="
name "
type ="
xs :string
"
use ="
required "/>
<
xs:attribute name ="
usephysics "
type ="
xs :boolean
"
default ="
false "/>
</
xs:complexType >
</
xs:element >
</
xs:sequence >
</
xs:complexType >
</
xs:element >
Name
Slider
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
...
XML Instance Representation
<Slider
name="
xs :string [1] " >
</Slider>
Schema Component Representation
<
xs:element name ="
Slider ">
<
xs:complexType >
<
xs:sequence >
<
xs:element name ="
Axis "
type ="
AxisType
"/>
</
xs:sequence >
<
xs:attribute name ="
name "
type ="
xs :string
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
Name
Sphere
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
A simple sphere
XML Instance Representation
<Sphere
radius="
xs :double [1] "
name="
xs :string [0..1] "
canCollide="
xs :boolean [0..1] " >
</Sphere>
Schema Component Representation
<
xs:element name ="
Sphere ">
<
xs:complexType >
<
xs:sequence >
<
xs:element ref ="
Material
"
minOccurs ="
0 "/>
<
xs:element ref ="
Elements
"
minOccurs ="
0 "/>
</
xs:sequence >
<
xs:attribute name ="
radius "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
name "
type ="
xs :string
"/>
<
xs:attribute name ="
canCollide "
type ="
xs :boolean
"
use ="
optional "
default ="
true "/>
</
xs:complexType >
</
xs:element >
Name
Translation
Type
Triple
Nillable
no
Abstract
no
Documentation
Describes an element's Translation in 3D space
XML Instance Representation
<Translation
x="
xs :double [1] "
y="
xs :double [1] "
z="
xs :double [1] " />
Schema Component Representation
<
xs:element name ="
Translation "
type ="
Triple
"/>
Name
UniversalJoint
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
...
XML Instance Representation
<UniversalJoint
name="
xs :string [1] " >
<AnchorPoint>
Triple
</AnchorPoint>
[1]
</UniversalJoint>
Schema Component Representation
<
xs:element name ="
UniversalJoint ">
<
xs:complexType >
<
xs:sequence >
<
xs:element name ="
AnchorPoint "
type ="
Triple
"/>
<
xs:element name ="
Axis1 "
type ="
AxisType
"/>
<
xs:element name ="
Axis2 "
type ="
AxisType
"/>
</
xs:sequence >
<
xs:attribute name ="
name "
type ="
xs :string
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
Element: Use
Name
Use
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
Instantiiation of a macro
XML Instance Representation
<Use
macroName="
xs :string [0..1] "
instanceName="
xs :string [0..1] " >
Start Choice [0..*]
<SubstituteSurfaces
substitute="
xs :string [1] "
with="
xs :string [1] " />
[1]
<SubstituteAllSurfaces
with="
xs :string [1] " />
[1]
<Collision
value="
xs :boolean [1] " />
[0..1]
End Choice
</Use>
Schema Component Representation
<
xs:element name ="
Use ">
<
xs:complexType >
<
xs:sequence >
<
xs:choice minOccurs ="
0 "
maxOccurs ="
unbounded ">
<
xs:element ref ="
Rotation
"
minOccurs ="
0 "/>
<
xs:element name ="
SubstituteSurfaces ">
<
xs:complexType >
<
xs:attribute name ="
substitute "
type ="
xs :string
"
use ="
required "/>
<
xs:attribute name ="
with "
type ="
xs :string
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
<
xs:element name ="
SubstituteAllSurfaces ">
<
xs:complexType >
<
xs:attribute name ="
with "
type ="
xs :string
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
<
xs:element name ="
Collision "
minOccurs ="
0 "
maxOccurs ="
1 ">
<
xs:complexType >
<
xs:attribute name ="
value "
type ="
xs :boolean
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
</
xs:choice >
</
xs:sequence >
<
xs:attribute name ="
macroName "
type ="
xs :string
"/>
<
xs:attribute name ="
instanceName "
type ="
xs :string
"/>
</
xs:complexType >
</
xs:element >
Name
VelocityMotor
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
Documentation is missing
XML Instance Representation
<VelocityMotor
name="
xs :string [0..1] "
maxVelocity="
xs :double [1] "
maxForce="
xs :double [1] " />
Schema Component Representation
<
xs:element name ="
VelocityMotor ">
<
xs:complexType >
<
xs:attribute name ="
name "
type ="
xs :string
"/>
<
xs:attribute name ="
maxVelocity "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
maxForce "
type ="
xs :double
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
Name
VertexList
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
A list of vertices
XML Instance Representation
<VertexList
name="
xs :string [1] " >
<Vertex
name="
xs :string [1] "
x="
xs :double [1] "
y="
xs :double [1] "
z="
xs :double [1] " />
[1..*] ?
</VertexList>
Schema Component Representation
<
xs:element name ="
VertexList ">
<
xs:complexType >
<
xs:sequence >
<
xs:element name ="
Vertex "
maxOccurs ="
unbounded ">
<
xs:complexType >
<
xs:attribute name ="
name "
type ="
xs :string
"
use ="
required "/>
<
xs:attribute name ="
x "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
y "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
z "
type ="
xs :double
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
</
xs:sequence >
<
xs:attribute name ="
name "
type ="
xs :string
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
Name
WheelSuspension
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
A special hinge joint with two axes (aka hinge2 joint in ODE)
XML Instance Representation
<WheelSuspension
name="
xs :string [1] " >
<AnchorPoint>
Triple
</AnchorPoint>
[1]
</WheelSuspension>
Schema Component Representation
<
xs:element name ="
WheelSuspension ">
<
xs:complexType >
<
xs:sequence >
<
xs:element name ="
AnchorPoint "
type ="
Triple
"/>
<
xs:element name ="
Axis1 "
type ="
AxisType
"/>
<
xs:element name ="
Axis2 "
type ="
AxisType
"/>
</
xs:sequence >
<
xs:attribute name ="
name "
type ="
xs :string
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
Super-types:
None
Sub-types:
None
Name
AxisType
Abstract
no
Documentation
Desciption of an axis, containing the three elements of the vector and the minimum and maximum value
XML Instance Representation
<...
x="
xs :double [1] "
y="
xs :double [1] "
z="
xs :double [1] "
minValue="
xs :double [0..1] "
maxValue="
xs :double [0..1] " >
<Deflection
min="
xs :double [1] "
max="
xs :double [1] " />
[0..1] ?
Start Choice [0..1]
<Friction
value="
xs :double [1] " />
[1] ?
End Choice
</...>
Schema Component Representation
<
xs:complexType name ="
AxisType ">
<
xs:sequence >
<
xs:element name ="
Deflection "
minOccurs ="
0 ">
<
xs:complexType >
<
xs:attribute name ="
min "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
max "
type ="
xs :double
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
<
xs:choice minOccurs ="
0 ">
<
xs:element name ="
Friction ">
<
xs:complexType >
<
xs:attribute name ="
value "
type ="
xs :double
"
use ="
required "/>
</
xs:complexType >
</
xs:element >
</
xs:choice >
</
xs:sequence >
<
xs:attribute name ="
x "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
y "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
z "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
minValue "
type ="
xs :double
"
use ="
optional "/>
<
xs:attribute name ="
maxValue "
type ="
xs :double
"
use ="
optional "/>
</
xs:complexType >
Super-types:
None
Sub-types:
None
Name
MotorAxisType
Abstract
no
Documentation
Desciption of a motor axis, containing the three elements of the vector and a maximum velocity
XML Instance Representation
<...
x="
xs :double [1] "
y="
xs :double [1] "
z="
xs :double [1] "
maxVelocity="
xs :double [1] "
maxForce="
xs :double [1] "
minValue="
xs :double [0..1] "
maxValue="
xs :double [0..1] " />
Schema Component Representation
<
xs:complexType name ="
MotorAxisType ">
<
xs:attribute name ="
x "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
y "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
z "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
maxVelocity "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
maxForce "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
minValue "
type ="
xs :double
"
use ="
optional "/>
<
xs:attribute name ="
maxValue "
type ="
xs :double
"
use ="
optional "/>
</
xs:complexType >
Super-types:
None
Sub-types:
None
Name
RGBColor
Abstract
no
Documentation
A color in standard 24 Bit RGB
XML Instance Representation
<...
r="
xs :unsignedByte [1] "
g="
xs :unsignedByte [1] "
b="
xs :unsignedByte [1] " />
Schema Component Representation
<
xs:complexType name ="
RGBColor ">
<
xs:attribute name ="
r "
type ="
xs :unsignedByte
"
use ="
required "/>
<
xs:attribute name ="
g "
type ="
xs :unsignedByte
"
use ="
required "/>
<
xs:attribute name ="
b "
type ="
xs :unsignedByte
"
use ="
required "/>
</
xs:complexType >
Complex Type: Triple
Super-types:
None
Sub-types:
None
Name
Triple
Abstract
no
Documentation
Three numbers
XML Instance Representation
<...
x="
xs :double [1] "
y="
xs :double [1] "
z="
xs :double [1] " />
Schema Component Representation
<
xs:complexType name ="
Triple ">
<
xs:attribute name ="
x "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
y "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
z "
type ="
xs :double
"
use ="
required "/>
</
xs:complexType >
Simple Type: Angle
Super-types:
xs :double < Angle (by restriction)
Sub-types:
None
Name
Angle
Content
Documentation
An angle in degrees [-180...180]
Schema Component Representation
<
xs:simpleType name ="
Angle ">
<
xs:restriction base ="
xs :double
">
<xs:minInclusive value ="-180 "/>
<xs:maxInclusive value ="180 "/>
</
xs:restriction >
</
xs:simpleType >
Complex Type:
Schema Component Type
AusAddress
Schema Component Name
Super-types:
Address < AusAddress (by extension)
Sub-types:
QLDAddress (by restriction)
If this schema component is a type definition, its type hierarchy is shown in a gray-bordered box.
The table above displays the properties of this schema component.
XML Instance Representation
<...
country="Australia "
>
<unitNo> string </unitNo> [0..1]
<houseNo> string </houseNo> [1]
<street> string </street> [1]
Start Choice
[1]
<city> string </city> [1]
<town> string </town> [1]
End Choice
<state> AusStates </state> [1]
<postcode> string <<pattern = [1-9][0-9]{3}>> </postcode> [1]
?
</...>
The XML Instance Representation table above shows the schema component's content as an XML instance.
The minimum and maximum occurrence of elements and attributes are provided in square brackets, e.g. [0..1].
Model group information are shown in gray, e.g. Start Choice ... End Choice.
For type derivations, the elements and attributes that have been added to or changed from the base type's content are shown in bold .
If an element/attribute has a fixed value, the fixed value is shown in green, e.g. country="Australia".
Otherwise, the type of the element/attribute is displayed.
If the element/attribute's type is in the schema, a link is provided to it.
For local simple type definitions, the constraints are displayed in angle brackets, e.g. <<pattern = [1-9][0-9]{3}>>.
If a local element/attribute has documentation, it will be displayed in a window that pops up when the question mark inside the attribute or next to the element is clicked, e.g. <postcode>.
Schema Component Representation
<complexType
name ="AusAddress ">
<complexContent >
<extension
base ="
Address
">
<sequence >
<element
name ="state " type ="
AusStates
"/>
<element
name ="postcode ">
<simpleType >
<restriction
base ="
string
">
<pattern
value ="[1-9][0-9]{3} "/>
</restriction >
</simpleType >
</element >
</sequence >
<attribute
name ="country " type ="
string
" fixed ="Australia "/>
</extension >
</complexContent >
</complexType >
The Schema Component Representation table above displays the underlying XML representation of the schema component. (Annotations are not shown.)
Abstract (Applies to complex type definitions and element declarations). An abstract element or complex type cannot used to validate an element instance. If there is a reference to an abstract element, only element declarations that can substitute the abstract element can be used to validate the instance. For references to abstract type definitions, only derived types can be used.
All Model Group Child elements can be provided in any order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-all .
Choice Model Group
Only one from the list of child elements and model groups can be provided in instances. See: http://www.w3.org/TR/xmlschema-1/#element-choice .
Collapse Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32). Then, collapse contiguous sequences of space characters into single space character, and remove leading and trailing space characters.
Disallowed Substitutions (Applies to element declarations). If substitution is specified, then substitution group members cannot be used in place of the given element declaration to validate element instances. If derivation methods , e.g. extension, restriction, are specified, then the given element declaration will not validate element instances that have types derived from the element declaration's type using the specified derivation methods. Normally, element instances can override their declaration's type by specifying an xsi:type
attribute.
Key Constraint Like Uniqueness Constraint , but additionally requires that the specified value(s) must be provided. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions .
Key Reference Constraint Ensures that the specified value(s) must match value(s) from a Key Constraint or Uniqueness Constraint . See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions .
Model Group Groups together element content, specifying the order in which the element content can occur and the number of times the group of element content may be repeated. See: http://www.w3.org/TR/xmlschema-1/#Model_Groups .
Nillable (Applies to element declarations). If an element declaration is nillable, instances can use the xsi:nil
attribute. The xsi:nil
attribute is the boolean attribute, nil , from the http://www.w3.org/2001/XMLSchema-instance namespace. If an element instance has an xsi:nil
attribute set to true, it can be left empty, even though its element declaration may have required content.
Notation A notation is used to identify the format of a piece of data. Values of elements and attributes that are of type, NOTATION, must come from the names of declared notations. See: http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations .
Preserve Whitespace Policy Preserve whitespaces exactly as they appear in instances.
Prohibited Derivations (Applies to type definitions). Derivation methods that cannot be used to create sub-types from a given type definition.
Prohibited Substitutions (Applies to complex type definitions). Prevents sub-types that have been derived using the specified derivation methods from validating element instances in place of the given type definition.
Replace Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32).
Sequence Model Group Child elements and model groups must be provided in the specified order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-sequence .
Substitution Group Elements that are members of a substitution group can be used wherever the head element of the substitution group is referenced.
Substitution Group Exclusions (Applies to element declarations). Prohibits element declarations from nominating themselves as being able to substitute a given element declaration, if they have types that are derived from the original element's type using the specified derivation methods.
Target Namespace The target namespace identifies the namespace that components in this schema belongs to. If no target namespace is provided, then the schema components do not belong to any namespace.
Uniqueness Constraint Ensures uniqueness of an element/attribute value, or a combination of values, within a specified scope. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions .