Files
libremetaverse/libprims/prims01.xsd
2006-09-21 23:28:44 +00:00

191 lines
6.3 KiB
XML

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema version="0.1" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:annotation>
<xs:documentation>
First public revision of .prims schema
</xs:documentation>
</xs:annotation>
<xs:element name="primitives">
<xs:complexType>
<xs:sequence>
<xs:element ref="primitive" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="primitive">
<xs:complexType>
<xs:sequence>
<xs:element ref="states" />
<xs:element ref="properties" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" />
<xs:attribute name="description" type="xs:string" />
<xs:attribute name="key" type="xs:string" />
<xs:attribute name="version" type="xs:string" />
</xs:complexType>
</xs:element>
<xs:element name="states">
<xs:complexType>
<xs:sequence>
<xs:element name="physics" type="xs:string" default="false" />
<xs:element name="temporary" type="xs:string" default="false" />
<xs:element name="phantom" type="xs:string" default="false" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="properties">
<xs:complexType>
<xs:sequence>
<xs:element ref="levelofdetail" minOccurs="1" maxOccurs="1" />
<xs:element ref="type" minOccurs="1" maxOccurs="1" />
<xs:element ref="position" minOccurs="1" maxOccurs="1" />
<xs:element ref="rotation" minOccurs="1" maxOccurs="1" />
<xs:element ref="size" minOccurs="1" maxOccurs="1" />
<xs:element ref="cut" minOccurs="1" maxOccurs="1" />
<xs:element ref="dimple" minOccurs="1" maxOccurs="1" />
<xs:element ref="advancedcut" minOccurs="1" maxOccurs="1" />
<xs:element ref="hollow" minOccurs="1" maxOccurs="1" />
<xs:element ref="twist" minOccurs="1" maxOccurs="1" />
<xs:element ref="topsize" minOccurs="1" maxOccurs="1" />
<xs:element ref="holesize" minOccurs="1" maxOccurs="1" />
<xs:element ref="topshear" minOccurs="1" maxOccurs="1" />
<xs:element ref="taper" minOccurs="1" maxOccurs="1" />
<xs:element ref="revolutions" minOccurs="1" maxOccurs="1" />
<xs:element ref="radiusoffset" minOccurs="1" maxOccurs="1" />
<xs:element ref="skew" minOccurs="1" maxOccurs="1" />
<xs:element ref="material" minOccurs="1" maxOccurs="1" />
<xs:element ref="hollowshape" minOccurs="1" maxOccurs="1" />
<xs:element ref="textures" minOccurs="1" maxOccurs="1" />
<xs:element ref="scripts" minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="levelofdetail">
<xs:complexType>
<xs:attribute name="val" type="xs:positiveInteger" />
</xs:complexType>
</xs:element>
<xs:element name="type">
<xs:complexType>
<xs:attribute name="val" type="xs:positiveInteger" />
</xs:complexType>
</xs:element>
<xs:element name="position">
<xs:complexType>
<xs:attribute name="x" type="xs:double" />
<xs:attribute name="y" type="xs:double" />
<xs:attribute name="z" type="xs:double" />
</xs:complexType>
</xs:element>
<xs:element name="rotation">
<xs:complexType>
<xs:attribute name="x" type="xs:double" />
<xs:attribute name="y" type="xs:double" />
<xs:attribute name="z" type="xs:double" />
<xs:attribute name="s" type="xs:double" />
</xs:complexType>
</xs:element>
<xs:element name="size">
<xs:complexType>
<xs:attribute name="x" type="xs:double" />
<xs:attribute name="y" type="xs:double" />
<xs:attribute name="z" type="xs:double" />
</xs:complexType>
</xs:element>
<xs:element name="cut">
<xs:complexType>
<xs:attribute name="x" type="xs:double" />
<xs:attribute name="y" type="xs:double" />
</xs:complexType>
</xs:element>
<xs:element name="dimple">
<xs:complexType>
<xs:attribute name="x" type="xs:double" />
<xs:attribute name="y" type="xs:double" />
</xs:complexType>
</xs:element>
<xs:element name="advancedcut">
<xs:complexType>
<xs:attribute name="x" type="xs:double" />
<xs:attribute name="y" type="xs:double" />
</xs:complexType>
</xs:element>
<xs:element name="hollow">
<xs:complexType>
<xs:attribute name="val" type="xs:decimal" />
</xs:complexType>
</xs:element>
<xs:element name="twist">
<xs:complexType>
<xs:attribute name="x" type="xs:decimal" />
<xs:attribute name="y" type="xs:decimal" />
</xs:complexType>
</xs:element>
<xs:element name="topsize">
<xs:complexType>
<xs:attribute name="x" type="xs:decimal" />
<xs:attribute name="y" type="xs:decimal" />
</xs:complexType>
</xs:element>
<xs:element name="holesize">
<xs:complexType>
<xs:attribute name="x" type="xs:decimal" />
<xs:attribute name="y" type="xs:decimal" />
</xs:complexType>
</xs:element>
<xs:element name="topshear">
<xs:complexType>
<xs:attribute name="x" type="xs:decimal" />
<xs:attribute name="y" type="xs:decimal" />
</xs:complexType>
</xs:element>
<xs:element name="taper">
<xs:complexType>
<xs:attribute name="x" type="xs:decimal" />
<xs:attribute name="y" type="xs:decimal" />
</xs:complexType>
</xs:element>
<xs:element name="revolutions">
<xs:complexType>
<xs:attribute name="val" type="xs:decimal" />
</xs:complexType>
</xs:element>
<xs:element name="radiusoffset">
<xs:complexType>
<xs:attribute name="val" type="xs:decimal" />
</xs:complexType>
</xs:element>
<xs:element name="skew">
<xs:complexType>
<xs:attribute name="val" type="xs:decimal" />
</xs:complexType>
</xs:element>
<xs:element name="material">
<xs:complexType>
<xs:attribute name="val" type="xs:positiveInteger" />
</xs:complexType>
</xs:element>
<xs:element name="hollowshape">
<xs:complexType>
<xs:attribute name="val" type="xs:positiveInteger" />
</xs:complexType>
</xs:element>
<xs:element name="textures">
<xs:complexType>
<xs:attribute name="params" type="xs:string" />
</xs:complexType>
</xs:element>
<xs:element name="scripts">
<xs:complexType>
<xs:attribute name="params" type="xs:string" />
</xs:complexType>
</xs:element>
</xs:schema>