Templates showing the structure of the XML model files. Schemas that can be used to validate model files.

This commit is contained in:
Mark Bernard 2004-09-29 02:03:18 +00:00
parent 99e12efd6a
commit b85bf3acee
4 changed files with 597 additions and 0 deletions

332
doc/templates/BoneModelSchema.xml vendored Normal file
View File

@ -0,0 +1,332 @@
<?xml version="1.0" standalone="no"?>
<Schema name="BoneModelSchema" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes">
<AttributeType name="modelname" />
<AttributeType name="material" />
<AttributeType name="vertexcount" >
<description>
This element will be converted into an integer, so it should only contain whole numbers.
</description>
</AttributeType>
<AttributeType name="type" />
<AttributeType name="bones">
<description>
This element will be converted into an integer, so it should only contain whole numbers.
</description>
</AttributeType>
<AttributeType name="a">
<description>
This element will be converted into an integer, so it should only contain whole numbers.
</description>
</AttributeType>
<AttributeType name="b">
<description>
This element will be converted into an integer, so it should only contain whole numbers.
</description>
</AttributeType>
<AttributeType name="c">
<description>
This element will be converted into an integer, so it should only contain whole numbers.
</description>
</AttributeType>
<AttributeType name="adjacency">
<description>
This element will be converted into an integer, so it should only contain whole numbers.
</description>
</AttributeType>
<ElementType name="triangle" content="empty">
<attribute type="a" />
<attribute type="b" />
<attribute type="c" />
<attribute type="adjacency" />
</ElementType>
<ElementType name="mesh" content="eltOnly">
<element type="triangle" minOccurs="1" maxOccurs="*" />
</ElementType>
<AttributeType name="u">
<description>
This element will be converted into an integer, so it should only contain whole numbers.
</description>
</AttributeType>
<AttributeType name="v">
<description>
This element will be converted into an integer, so it should only contain whole numbers.
</description>
</AttributeType>
<ElementType name="texcoord" content="empty">
<attribute type="u" />
<attribute type="v" />
</ElementType>
<ElementType name="skin" content="eltOnly">
<element type="texcoord" minOccurs="1" maxOccurs="*" />
</ElementType>
<AttributeType name="red">
<description>
This element will be converted into an integer, so it should only contain whole numbers.
</description>
</AttributeType>
<AttributeType name="green">
<description>
This element will be converted into an integer, so it should only contain whole numbers.
</description>
</AttributeType>
<AttributeType name="blue">
<description>
This element will be converted into an integer, so it should only contain whole numbers.
</description>
</AttributeType>
<AttributeType name="alpha">
<description>
This element will be converted into an integer, so it should only contain whole numbers.
</description>
</AttributeType>
<ElementType name="color" content="empty">
<attribute type="red" />
<attribute type="green" />
<attribute type="blue" />
<attribute type="alpha" />
</ElementType>
<ElementType name="colors" content="eltOnly">
<element type="color" minOccurs="1" maxOccurs="*" />
</ElementType>
<ElementType name="m00" content="textOnly">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</ElementType>
<ElementType name="m01" content="textOnly">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</ElementType>
<ElementType name="m02" content="textOnly">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</ElementType>
<ElementType name="m03" content="textOnly">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</ElementType>
<ElementType name="m10" content="textOnly">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</ElementType>
<ElementType name="m11" content="textOnly">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</ElementType>
<ElementType name="m12" content="textOnly">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</ElementType>
<ElementType name="m13" content="textOnly">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</ElementType>
<ElementType name="m20" content="textOnly">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</ElementType>
<ElementType name="m21" content="textOnly">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</ElementType>
<ElementType name="m22" content="textOnly">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</ElementType>
<ElementType name="m23" content="textOnly">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</ElementType>
<ElementType name="m30" content="textOnly">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</ElementType>
<ElementType name="m31" content="textOnly">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</ElementType>
<ElementType name="m32" content="textOnly">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</ElementType>
<ElementType name="m33" content="textOnly">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</ElementType>
<ElementType name="bonematrix" content="eltOnly">
<element type="m00" minOccurs="1" maxOccurs="1" />
<element type="m01" minOccurs="1" maxOccurs="1" />
<element type="m02" minOccurs="1" maxOccurs="1" />
<element type="m03" minOccurs="1" maxOccurs="1" />
<element type="m10" minOccurs="1" maxOccurs="1" />
<element type="m11" minOccurs="1" maxOccurs="1" />
<element type="m12" minOccurs="1" maxOccurs="1" />
<element type="m13" minOccurs="1" maxOccurs="1" />
<element type="m20" minOccurs="1" maxOccurs="1" />
<element type="m21" minOccurs="1" maxOccurs="1" />
<element type="m22" minOccurs="1" maxOccurs="1" />
<element type="m23" minOccurs="1" maxOccurs="1" />
<element type="m30" minOccurs="0" maxOccurs="1" />
<element type="m31" minOccurs="0" maxOccurs="1" />
<element type="m32" minOccurs="0" maxOccurs="1" />
<element type="m33" minOccurs="0" maxOccurs="1" />
</ElementType>
<ElementType name="time" content="textOnly">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</ElementType>
<ElementType name="action" content="textOnly" />
<AttributeType name="sequencename" />
<ElementType name="frame" content="eltOnly">
<element type="bonematrix" minOccurs="1" maxOccurs="*" />
<element type="time" minOccurs="1" maxOccurs="1" />
<element type="action" minOccurs="1" maxOccurs="1" />
</ElementType>
<ElementType name="sequence" content="eltOnly">
<attribute type="sequencename" />
<element type="frame" minOccurs="1" maxOccurs="*" />
</ElementType>
<ElementType name="animation" content="eltOnly">
<element type="sequence" minOccurs="1" maxOccurs="*" />
</ElementType>
<AttributeType name="x">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</AttributeType>
<AttributeType name="y">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</AttributeType>
<AttributeType name="z">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</AttributeType>
<AttributeType name="nx">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</AttributeType>
<AttributeType name="ny">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</AttributeType>
<AttributeType name="nz">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</AttributeType>
<ElementType name="bone" content="textOnly">
<description>
This element will be converted into an integer, so it should only contain whole numbers.
</description>
</ElementType>
<ElementType name="weight" content="textOnly">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</ElementType>
<ElementType name="weights" content="eltOnly">
<element type="bone" minOccurs="1" maxOccurs="1" />
<element type="weight" minOccurs="1" maxOccurs="1" />
</ElementType>
<ElementType name="vertex" content="eltOnly">
<attribute type="x" />
<attribute type="y" />
<attribute type="z" />
<attribute type="nx" />
<attribute type="ny" />
<attribute type="nz" />
<element type="weights" minOccurs="1" maxOccurs="1" />
</ElementType>
<ElementType name="vertices" content="eltOnly">
<element type="vertex" minOccurs="1" maxOccurs="*" />
</ElementType>
<ElementType name="meshmodel" content="eltOnly">
<attribute type="modelname" />
<attribute type="material" />
<attribute type="vertexcount" />
<attribute type="type" />
<attribute type="bones" />
<element type="mesh" minOccurs="1" maxOccurs="1" />
<element type="skin" minOccurs="1" maxOccurs="1" />
<element type="colors" minOccurs="1" maxOccurs="1" />
<element type="animation" minOccurs="1" maxOccurs="1" />
<element type="vertices" minOccurs="1" maxOccurs="1" />
</ElementType>
</Schema>

49
doc/templates/BonedModelTemplate.xml vendored Normal file
View File

@ -0,0 +1,49 @@
<?xml version="1.0" standalone="no"?>
<bonemodel xmlns="x-schema:BoneModelSchema.xml"
modelname="" material="" vertexcount=""
type="" bones="">
<mesh>
<triangle a="" b="" c="" adjacency="" />
</mesh>
<skin>
<texcoord u="" v="" />
</skin>
<colors>
<color red="" green="" blue="" alpha=""/>
</colors>
<animation>
<sequence sequencename="">
<frame>
<bonematrix>
<m00></m00>
<m01></m01>
<m02></m02>
<m03></m03>
<m10></m10>
<m11></m11>
<m12></m12>
<m13></m13>
<m20></m20>
<m21></m21>
<m22></m22>
<m23></m23>
<m30></m30>
<m31></m31>
<m32></m32>
<m33></m33>
</bonematrix>
<time></time>
<action></action>
</frame>
</sequence>
</animation>
<vertices>
<vertex x="" y="" z="" nx="" ny="" nz="">
<weights>
<bone></bone>
<weight></weight>
</weights>
</vertex>
</vertices>
</bonemodel>

193
doc/templates/MeshModelSchema.xml vendored Normal file
View File

@ -0,0 +1,193 @@
<?xml version="1.0" standalone="no"?>
<Schema name="MeshModelSchema" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes">
<AttributeType name="modelname" />
<AttributeType name="material" />
<AttributeType name="vertexcount" >
<description>
This element will be converted into an integer, so it should only contain whole numbers.
</description>
</AttributeType>
<AttributeType name="type" />
<ElementType name="bones" content="textOnly">
<description>
This element will be converted into an integer, so it should only contain whole numbers.
</description>
</ElementType>
<AttributeType name="a">
<description>
This element will be converted into an integer, so it should only contain whole numbers.
</description>
</AttributeType>
<AttributeType name="b">
<description>
This element will be converted into an integer, so it should only contain whole numbers.
</description>
</AttributeType>
<AttributeType name="c">
<description>
This element will be converted into an integer, so it should only contain whole numbers.
</description>
</AttributeType>
<AttributeType name="adjacency">
<description>
This element will be converted into an integer, so it should only contain whole numbers.
</description>
</AttributeType>
<ElementType name="triangle" content="empty">
<attribute type="a" />
<attribute type="b" />
<attribute type="c" />
<attribute type="adjacency" />
</ElementType>
<ElementType name="mesh" content="eltOnly">
<element type="triangle" minOccurs="1" maxOccurs="*" />
</ElementType>
<AttributeType name="u">
<description>
This element will be converted into an integer, so it should only contain whole numbers.
</description>
</AttributeType>
<AttributeType name="v">
<description>
This element will be converted into an integer, so it should only contain whole numbers.
</description>
</AttributeType>
<ElementType name="texcoord" content="empty">
<attribute type="u" />
<attribute type="v" />
</ElementType>
<ElementType name="skin" content="eltOnly">
<element type="texcoord" minOccurs="1" maxOccurs="*" />
</ElementType>
<AttributeType name="red">
<description>
This element will be converted into an integer, so it should only contain whole numbers.
</description>
</AttributeType>
<AttributeType name="green">
<description>
This element will be converted into an integer, so it should only contain whole numbers.
</description>
</AttributeType>
<AttributeType name="blue">
<description>
This element will be converted into an integer, so it should only contain whole numbers.
</description>
</AttributeType>
<AttributeType name="alpha">
<description>
This element will be converted into an integer, so it should only contain whole numbers.
</description>
</AttributeType>
<ElementType name="color" content="empty">
<attribute type="red" />
<attribute type="green" />
<attribute type="blue" />
<attribute type="alpha" />
</ElementType>
<ElementType name="colors" content="eltOnly">
<element type="color" minOccurs="1" maxOccurs="*" />
</ElementType>
<AttributeType name="x">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</AttributeType>
<AttributeType name="y">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</AttributeType>
<AttributeType name="z">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</AttributeType>
<AttributeType name="nx">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</AttributeType>
<AttributeType name="ny">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</AttributeType>
<AttributeType name="nz">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</AttributeType>
<ElementType name="vertex" content="empty">
<attribute type="x" />
<attribute type="y" />
<attribute type="z" />
<attribute type="nx" />
<attribute type="ny" />
<attribute type="nz" />
</ElementType>
<AttributeType name="time">
<description>
This element will be converted into an floating point number, so it should only contain decimal numbers.
</description>
</AttributeType>
<ElementType name="action" content="textOnly" />
<AttributeType name="sequencename" />
<ElementType name="frame" content="eltOnly">
<element type="vertex" minOccurs="1" maxOccurs="*" />
<attribute type="time" />
<element type="action" minOccurs="1" maxOccurs="1" />
</ElementType>
<ElementType name="sequence" content="eltOnly">
<attribute type="sequencename" />
<element type="frame" minOccurs="1" maxOccurs="*" />
</ElementType>
<ElementType name="animation" content="eltOnly">
<element type="sequence" minOccurs="1" maxOccurs="*" />
</ElementType>
<ElementType name="meshmodel" content="eltOnly">
<attribute type="modelname" />
<attribute type="material" />
<attribute type="vertexcount" />
<attribute type="type" />
<element type="mesh" minOccurs="1" maxOccurs="1" />
<element type="skin" minOccurs="0" maxOccurs="1" />
<element type="colors" minOccurs="1" maxOccurs="1" />
<element type="animation" minOccurs="1" maxOccurs="1" />
</ElementType>
</Schema>

23
doc/templates/MeshedModelTemplate.xml vendored Normal file
View File

@ -0,0 +1,23 @@
<?xml version="1.0" standalone="no"?>
<meshmodel xmlns="x-schema:MeshModelSchema.xml"
modelname="" material="" vertexcount=""
type="">
<mesh>
<triangle a="" b="" c="" adjacency="" />
</mesh>
<skin>
<texcoord u="" v="" />
</skin>
<colors>
<color red="" green="" blue="" alpha=""/>
</colors>
<animation>
<sequence sequencename="">
<frame time="">
<vertex x="" y="" z="" nx="" ny="" nz=""/>
<action></action>
</frame>
</sequence>
</animation>
</meshmodel>