<!-- vbm.dtd 													-->
<!-- This DTD defines the structure of an XML version of 		-->
<!-- a VBM (ViSiCAST Bones and Morphs) data file. 				-->
<!-- It closely resembles the baf.dtd which defined the XBAF	-->
<!-- data format. 												-->
<!--   															-->
<!-- Kevin Parsons 2002-09-19 									-->

<!ENTITY % MorphNames
   "ooo |
    aaa |
    eee"
>

<!ENTITY % BoneNames
   "0000 |
	0012 |
	0026 |
	0040 |
	chin |
	0067 |
	0081 |
	0095 |
	0109 |
	0123 |
	0137 |
	0151 |
	0002 |
	0014 |
	0028 |
	0042 |
	0055 |
	0069 |
	0083 |
	0097 |
	0111 |
	0125 |
	0139 |
	0004 |
	0016 |
	0030 |
	0044 |
	0057 |
	0071 |
	0085 |
	0099 |
	0113 |
	0127 |
	0141 |
	neck |
	0018 |
	0032 |
	0046 |
	0059 |
	0073 |
	0087 |
	0101 |
	0115 |
	0129 |
	0143 |
	head |
	0020 |
	0034 |
	0048 |
	0061 |
	0075 |
	0089 |
	0103 |
	0117 |
	0131 |
	0145 |
	0008 |
	0022 |
	0036 |
	0050 |
	0063 |
	0077 |
	0091 |
	0105 |
	0119 |
	0133 |
	0147 |
	0010 |
	0024 |
	0038 |
	0052 |
	0065 |
	0079 |
	0093 |
	0107 |
	0121 |
	0135 |
	0149"
>

<!ELEMENT VBM ( VBMHeader, VBMFrames)>

<!ELEMENT VBMHeader EMPTY>
<!ATTLIST VBMHeader
    VBMVersion  CDATA   			#REQUIRED
    SpaceScale  CDATA   			"1"
    TimeScale   CDATA   			"1"
    BlendPointA CDATA   			"-1"
    BlendPointB CDATA   			"-1"
>

<!ELEMENT VBMFrames (VBMFrame*)>
<!ATTLIST VBMFrames
    FrameCount  CDATA   			#REQUIRED
>

<!ELEMENT VBMFrame (MaskTNGMorph*, MaskTNGBone+)>
<!ATTLIST VBMFrame
    Index       CDATA   			#IMPLIED
    TimeStamp   CDATA   			#REQUIRED
>

<!ELEMENT MaskTNGMorph EMPTY>
<!ATTLIST MaskTNGMorph
    Index       CDATA   			#IMPLIED
	ThreeCCName (%MorphNames;) 		#REQUIRED
	Value		CDATA		  		#REQUIRED
>

<!ELEMENT MaskTNGBone EMPTY>
<!ATTLIST  MaskTNGBone
    Index       CDATA   			#IMPLIED
    FourCCName  (%BoneNames;)   	#REQUIRED
	Values		CDATA				#REQUIRED
>
