Index: /data/branches/cegui0.8/gui/fonts/Font.xsd
===================================================================
--- /data/branches/cegui0.8/gui/fonts/Font.xsd	(revision 11121)
+++ /data/branches/cegui0.8/gui/fonts/Font.xsd	(revision 11122)
@@ -10,13 +10,13 @@
 	</xsd:complexType>
 	<xsd:complexType name="MapType">
-		<xsd:attribute name="Codepoint" type="xsd:nonNegativeInteger" use="required" />
-		<xsd:attribute name="Image" type="xsd:string" use="required" />
-		<xsd:attribute name="HorzAdvance" type="xsd:integer" use="optional" default="-1" />
+		<xsd:attribute name="codepoint" type="xsd:nonNegativeInteger" use="required" />
+		<xsd:attribute name="image" type="xsd:string" use="required" />
+		<xsd:attribute name="horzAdvance" type="xsd:integer" use="optional" default="-1" />
 	</xsd:complexType>
 	<xsd:attributeGroup name="FontAttrs">
-		<xsd:attribute name="Name" type="xsd:string" use="required" />
-		<xsd:attribute name="Filename" type="xsd:string" use="required" />
-		<xsd:attribute name="ResourceGroup" type="xsd:string" use="optional"  default="" />
-		<xsd:attribute name="Type" use="required">
+		<xsd:attribute name="name" type="xsd:string" use="required" />
+		<xsd:attribute name="filename" type="xsd:string" use="required" />
+		<xsd:attribute name="resourceGroup" type="xsd:string" use="optional"  default="" />
+		<xsd:attribute name="type" use="required">
 			<xsd:simpleType>
 				<xsd:restriction base="xsd:string">
@@ -26,9 +26,22 @@
 			</xsd:simpleType>
 		</xsd:attribute>
-		<xsd:attribute name="Size" type="xsd:nonNegativeInteger" use="optional" default="12" />
-		<xsd:attribute name="NativeHorzRes" type="xsd:nonNegativeInteger" use="optional" default="640" />
-		<xsd:attribute name="NativeVertRes" type="xsd:nonNegativeInteger" use="optional" default="480" />
-		<xsd:attribute name="AutoScaled" type="xsd:boolean" use="optional" default="false" />
-		<xsd:attribute name="AntiAlias" type="xsd:boolean" use="optional" default="true" />
+		<xsd:attribute name="size" type="xsd:nonNegativeInteger" use="optional" default="12" />
+		<xsd:attribute name="nativeHorzRes" type="xsd:nonNegativeInteger" use="optional" default="640" />
+		<xsd:attribute name="nativeVertRes" type="xsd:nonNegativeInteger" use="optional" default="480" />
+		<xsd:attribute name="autoScaled" default="false">
+			<xsd:simpleType>
+				<xsd:restriction base="xsd:string">
+					<xsd:enumeration value="false" />
+					<xsd:enumeration value="vertical" />
+					<xsd:enumeration value="horizontal" />
+					<xsd:enumeration value="min" />
+					<xsd:enumeration value="max" />
+					<xsd:enumeration value="true" />
+				</xsd:restriction>
+			</xsd:simpleType>
+		</xsd:attribute>
+		<xsd:attribute name="antiAlias" type="xsd:boolean" use="optional" default="true" />
+		<xsd:attribute name="lineSpacing" type="xsd:decimal" use="optional" default="0" />
+		<xsd:attribute name="version" type="xsd:nonNegativeInteger" use="optional" default="0" />
 	</xsd:attributeGroup>
 </xsd:schema>
Index: /data/branches/cegui0.8/gui/imagesets/Imageset.xsd
===================================================================
--- /data/branches/cegui0.8/gui/imagesets/Imageset.xsd	(revision 11121)
+++ /data/branches/cegui0.8/gui/imagesets/Imageset.xsd	(revision 11122)
@@ -8,20 +8,31 @@
 			<xsd:element name="Image" type="ImageType" maxOccurs="unbounded"/>
 		</xsd:sequence>
-		<xsd:attribute name="Imagefile" type="xsd:string" use="required"/>
-		<xsd:attribute name="ResourceGroup" type="xsd:string" use="optional"  default="" />
-		<xsd:attribute name="Name" type="xsd:string" use="required"/>
-		<xsd:attribute name="NativeHorzRes" type="xsd:nonNegativeInteger" use="optional" default="640" />
-		<xsd:attribute name="NativeVertRes" type="xsd:nonNegativeInteger" use="optional" default="480" />
-		<xsd:attribute name="AutoScaled" type="xsd:boolean" use="optional" default="false" />
+		<xsd:attribute name="imagefile" type="xsd:string" use="required"/>
+		<xsd:attribute name="resourceGroup" type="xsd:string" use="optional"  default="" />
+		<xsd:attribute name="name" type="xsd:string" use="required"/>
+		<xsd:attribute name="nativeHorzRes" type="xsd:nonNegativeInteger" use="optional" default="640" />
+		<xsd:attribute name="nativeVertRes" type="xsd:nonNegativeInteger" use="optional" default="480" />
+		<xsd:attribute name="autoScaled" default="false">
+			<xsd:simpleType>
+				<xsd:restriction base="xsd:string">
+					<xsd:enumeration value="false" />
+					<xsd:enumeration value="vertical" />
+					<xsd:enumeration value="horizontal" />
+					<xsd:enumeration value="min" />
+					<xsd:enumeration value="max" />
+					<xsd:enumeration value="true" />
+				</xsd:restriction>
+			</xsd:simpleType>
+		</xsd:attribute>
+		<xsd:attribute name="version" type="xsd:nonNegativeInteger" use="optional" default="0" />
 	</xsd:complexType>
 	
 	<xsd:complexType name="ImageType">
-		<xsd:attribute name="Name" type="xsd:string" use="required"/>
-		<xsd:attribute name="XPos" type="xsd:nonNegativeInteger" use="required"/>
-		<xsd:attribute name="YPos" type="xsd:nonNegativeInteger" use="required"/>
-		<xsd:attribute name="Width" type="xsd:nonNegativeInteger" use="required"/>
-		<xsd:attribute name="Height" type="xsd:nonNegativeInteger" use="required"/>
-		<xsd:attribute name="XOffset" type="xsd:integer" use="optional" default="0"/>
-		<xsd:attribute name="YOffset" type="xsd:integer" use="optional" default="0"/>
+        <xsd:sequence>
+            <xsd:any minOccurs="0" processContents="skip" maxOccurs="unbounded" />
+        </xsd:sequence>
+		<xsd:attribute name="name" type="xsd:string" use="required"/>
+		<xsd:attribute name="type" type="xsd:string" use="optional" default="BasicImage" />
+		<xsd:anyAttribute processContents="skip" />
 	</xsd:complexType>
 
Index: /data/branches/cegui0.8/gui/looknfeels/Falagard.xsd
===================================================================
--- /data/branches/cegui0.8/gui/looknfeels/Falagard.xsd	(revision 11121)
+++ /data/branches/cegui0.8/gui/looknfeels/Falagard.xsd	(revision 11122)
@@ -6,7 +6,9 @@
 			<xsd:element name="WidgetLook" type="widgetLookType" minOccurs="0" maxOccurs="unbounded" />
 		</xsd:sequence>
+		<xsd:attribute name="version" type="xsd:nonNegativeInteger" use="optional" default="0" />
 	</xsd:complexType>
 	<xsd:complexType name="widgetLookType">
 		<xsd:sequence>
+            <xsd:element name="EventLinkDefinition" type="eventLinkDefinitionType" minOccurs="0" maxOccurs="unbounded" />
             <xsd:element name="PropertyDefinition" type="propertyDefinitionType" minOccurs="0" maxOccurs="unbounded" />
             <xsd:element name="PropertyLinkDefinition" type="propertyLinkDefinitionType" minOccurs="0" maxOccurs="unbounded" />
@@ -16,6 +18,8 @@
 			<xsd:element name="ImagerySection" type="imagerySectionType" minOccurs="0" maxOccurs="unbounded" />
 			<xsd:element name="StateImagery" type="stateType" minOccurs="0" maxOccurs="unbounded" />
-		</xsd:sequence>
-		<xsd:attribute name="name" type="xsd:string" use="required" />
+			<xsd:element name="AnimationDefinition" type="animAnimationDefinitionType" minOccurs="0" maxOccurs="unbounded" />
+		</xsd:sequence>
+		<xsd:attribute name="name" type="xsd:string" use="required" />
+		<xsd:attribute name="inherits" type="xsd:string" use="optional" default="" />
 	</xsd:complexType>
     <xsd:complexType name="propertyDefinitionType">
@@ -25,17 +29,39 @@
         <xsd:attribute name="layoutOnWrite" type="xsd:boolean" use="optional" default="false" />
         <xsd:attribute name="redrawOnWrite" type="xsd:boolean" use="optional" default="false" />
+        <xsd:attribute name="help" type="xsd:string" use="optional" default="Falagard custom property definition - gets/sets a named user string." />
+        <xsd:attribute name="fireEvent" type="xsd:string" use="optional" default="" />
     </xsd:complexType>
     <xsd:complexType name="propertyLinkDefinitionType">
+		<xsd:sequence>
+			<xsd:element name="PropertyLinkTarget" type="propertyLinkTargetType" minOccurs="0" maxOccurs="unbounded" />
+		</xsd:sequence>
         <xsd:attribute name="type" type="propertyTypeEnum" use="optional" default="Generic" />
         <xsd:attribute name="name" type="xsd:string" use="required" />
-        <xsd:attribute name="widget" type="xsd:string" use="required" />
+        <xsd:attribute name="widget" type="xsd:string" use="optional" default="" />
         <xsd:attribute name="targetProperty" type="xsd:string" use="optional" default="" />
         <xsd:attribute name="initialValue" type="xsd:string" use="optional" default="" />
         <xsd:attribute name="layoutOnWrite" type="xsd:boolean" use="optional" default="false" />
         <xsd:attribute name="redrawOnWrite" type="xsd:boolean" use="optional" default="false" />
+        <xsd:attribute name="fireEvent" type="xsd:string" use="optional" default="" />
+    </xsd:complexType>
+    <xsd:complexType name="propertyLinkTargetType">
+        <xsd:attribute name="widget" type="xsd:string" use="required" />
+        <xsd:attribute name="property" type="xsd:string" use="optional" default="" />
+    </xsd:complexType>
+    <xsd:complexType name="eventLinkDefinitionType">
+		<xsd:sequence>
+			<xsd:element name="EventLinkTarget" type="eventLinkTargetType" minOccurs="0" maxOccurs="unbounded" />
+		</xsd:sequence>
+        <xsd:attribute name="name" type="xsd:string" use="required" />
+        <xsd:attribute name="widget" type="xsd:string" use="optional" default="" />
+        <xsd:attribute name="event" type="xsd:string" use="optional" default="" />
+    </xsd:complexType>
+    <xsd:complexType name="eventLinkTargetType">
+        <xsd:attribute name="widget" type="xsd:string" use="required" />
+        <xsd:attribute name="event" type="xsd:string" use="optional" default="" />
     </xsd:complexType>
     <xsd:complexType name="namedAreaType">
         <xsd:sequence>
-            <xsd:element name="Area" type="componentAreaType" />
+            <xsd:element name="Area" type="componentAreaType" minOccurs="0" maxOccurs="1" />
         </xsd:sequence>
         <xsd:attribute name="name" type="xsd:string" use="required" />
@@ -64,4 +90,6 @@
         <xsd:attribute name="section" type="xsd:string" use="required" />
         <xsd:attribute name="controlProperty" type="xsd:string" use="optional" default="" />
+        <xsd:attribute name="controlValue" type="xsd:string" use="optional" default="" />
+        <xsd:attribute name="controlWidget" type="xsd:string" use="optional" default="" />
     </xsd:complexType>
 	<xsd:complexType name="imagerySectionType">
@@ -81,6 +109,9 @@
     <xsd:complexType name="frameComponentType">
         <xsd:sequence>
-            <xsd:element name="Area" type="componentAreaType" />
-            <xsd:element name="Image" type="frameImageType" minOccurs="0" maxOccurs="9" />
+            <xsd:element name="Area" type="componentAreaType" minOccurs="0" maxOccurs="1" />
+            <xsd:choice  minOccurs="0" maxOccurs="9">
+                <xsd:element name="Image" type="frameImageType" />
+                <xsd:element name="ImageProperty" type="frameImageType" />
+            </xsd:choice>
             <xsd:choice  minOccurs="0" maxOccurs="1">
                 <xsd:element name="Colour" type="colourType" />
@@ -89,11 +120,11 @@
                 <xsd:element name="ColourRectProperty" type="settingByPropertyType" />
             </xsd:choice>
-            <xsd:choice  minOccurs="0" maxOccurs="1">
-                <xsd:element name="VertFormat" type="vertFormatType" />
-                <xsd:element name="VertFormatProperty" type="settingByPropertyType" />
-            </xsd:choice>
-            <xsd:choice  minOccurs="0" maxOccurs="1">
-                <xsd:element name="HorzFormat" type="horzFormatType" />
-                <xsd:element name="HorzFormatProperty" type="settingByPropertyType" />
+            <xsd:choice  minOccurs="0" maxOccurs="3">
+                <xsd:element name="VertFormat" type="frameVertFormatType" />
+                <xsd:element name="VertFormatProperty" type="frameFormatPropertyType" />
+            </xsd:choice>
+            <xsd:choice  minOccurs="0" maxOccurs="3">
+                <xsd:element name="HorzFormat" type="frameHorzFormatType" />
+                <xsd:element name="HorzFormatProperty" type="frameFormatPropertyType" />
             </xsd:choice>
         </xsd:sequence>
@@ -101,5 +132,5 @@
     <xsd:complexType name="textComponentType">
         <xsd:sequence>
-            <xsd:element name="Area" type="componentAreaType" />
+            <xsd:element name="Area" type="componentAreaType" minOccurs="0" maxOccurs="1" />
             <xsd:element name="Text" type="textStringType" minOccurs="0" maxOccurs="1" />
             <xsd:element name="TextProperty" type="textPropertyType" minOccurs="0" maxOccurs="1" />
@@ -123,5 +154,5 @@
 	<xsd:complexType name="imageryComponentType">
 		<xsd:sequence>
-			<xsd:element name="Area" type="componentAreaType" />
+            <xsd:element name="Area" type="componentAreaType" minOccurs="0" maxOccurs="1" />
             <xsd:choice>
                 <xsd:element name="Image" type="imageType" />
@@ -146,5 +177,6 @@
 	<xsd:complexType name="widgetComponentType">
 		<xsd:sequence>
-			<xsd:element name="Area" type="componentAreaType" />
+            <xsd:element name="EventAction" type="eventActionType" minOccurs="0" maxOccurs="unbounded" />
+            <xsd:element name="Area" type="componentAreaType" minOccurs="0" maxOccurs="1" />
 			<xsd:element name="VertAlignment" type="vertAlignmentType" minOccurs="0" maxOccurs="1" />
 			<xsd:element name="HorzAlignment" type="horzAlignmentType" minOccurs="0" maxOccurs="1" />
@@ -155,4 +187,5 @@
 		<xsd:attribute name="renderer" type="xsd:string" use="optional" default="" />
 		<xsd:attribute name="look" type="xsd:string" use="optional" default="" />
+		<xsd:attribute name="autoWindow" type="xsd:boolean" use="optional" default="true" />
 	</xsd:complexType>
 	<xsd:complexType name="horzFormatType">
@@ -179,18 +212,29 @@
 	</xsd:complexType>
 	<xsd:complexType name="imageType">
-		<xsd:attribute name="imageset" type="xsd:string" use="required" />
-		<xsd:attribute name="image" type="xsd:string" use="required" />
+		<xsd:attribute name="name" type="xsd:string" use="required" />
 	</xsd:complexType>
     <xsd:complexType name="frameImageType">
-        <xsd:attribute name="type" type="frameImageComponentEnum" use="required" />
-        <xsd:attribute name="imageset" type="xsd:string" use="required" />
-        <xsd:attribute name="image" type="xsd:string" use="required" />
+        <xsd:attribute name="component" type="frameImageComponentEnum" use="required" />
+        <xsd:attribute name="name" type="xsd:string" use="required" />
+    </xsd:complexType>
+    <xsd:complexType name="frameVertFormatType">
+        <xsd:attribute name="component" type="frameImageComponentEnum" use="optional" default="Background" />
+        <xsd:attribute name="type" type="vertFormatEnum" use="optional" default="Stretched" />
+    </xsd:complexType>
+    <xsd:complexType name="frameHorzFormatType">
+        <xsd:attribute name="component" type="frameImageComponentEnum" use="optional" default="Background" />
+        <xsd:attribute name="type" type="horzFormatEnum" use="optional" default="Stretched" />
+    </xsd:complexType>
+    <xsd:complexType name="frameFormatPropertyType">
+        <xsd:attribute name="component" type="frameImageComponentEnum" use="optional" default="Background" />
+        <xsd:attribute name="name" type="xsd:string" use="required" />
     </xsd:complexType>
 	<xsd:complexType name="componentAreaType">
         <xsd:choice>
             <xsd:sequence>
-                <xsd:element name="Dim" type="dimensionType" minOccurs="4" maxOccurs="4" />
+                <xsd:element name="Dim" type="dimensionType" minOccurs="1" maxOccurs="4" />
             </xsd:sequence>
             <xsd:element name="AreaProperty" type="settingByPropertyType" />
+            <xsd:element name="NamedAreaSource" type="namedAreaSourceType" />
         </xsd:choice>
 	</xsd:complexType>
@@ -200,14 +244,13 @@
 			<xsd:element name="AbsoluteDim" type="absoluteDimType" />
 			<xsd:element name="ImageDim" type="imageDimType" />
+            <xsd:element name="ImagePropertyDim" type="imageDimType" />
             <xsd:element name="WidgetDim" type="widgetDimType" />
             <xsd:element name="FontDim" type="fontDimType" />
             <xsd:element name="PropertyDim" type="propertyDimType" />
+            <xsd:element name="OperatorDim" type="operatorDimType" />
 		</xsd:choice>
 		<xsd:attribute name="type" type="dimensionTypeEnum" use="required" />
 	</xsd:complexType>
     <xsd:complexType name="fontDimType">
-        <xsd:sequence>
-            <xsd:element name="DimOperator" type="dimensionOperatorType" minOccurs="0" maxOccurs="1" />
-        </xsd:sequence>
         <xsd:attribute name="widget" type="xsd:string" use="optional" default="" />
         <xsd:attribute name="font" type="xsd:string" use="optional" default="" />
@@ -217,7 +260,4 @@
     </xsd:complexType>
     <xsd:complexType name="propertyDimType">
-        <xsd:sequence>
-            <xsd:element name="DimOperator" type="dimensionOperatorType" minOccurs="0" maxOccurs="1" />
-        </xsd:sequence>
         <xsd:attribute name="widget" type="xsd:string" use="optional" default="" />
         <xsd:attribute name="name" type="xsd:string" use="required" />
@@ -225,7 +265,4 @@
     </xsd:complexType>
 	<xsd:complexType name="unifiedDimType">
-        <xsd:sequence>
-            <xsd:element name="DimOperator" type="dimensionOperatorType" minOccurs="0" maxOccurs="1" />
-        </xsd:sequence>
 		<xsd:attribute name="scale" type="xsd:decimal" use="optional" default="0" />
 		<xsd:attribute name="offset" type="xsd:integer" use="optional" default="0" />
@@ -233,24 +270,27 @@
 	</xsd:complexType>
 	<xsd:complexType name="absoluteDimType">
-        <xsd:sequence>
-            <xsd:element name="DimOperator" type="dimensionOperatorType" minOccurs="0" maxOccurs="1" />
-        </xsd:sequence>
 		<xsd:attribute name="value" type="xsd:decimal" use="optional" default="0" />
 	</xsd:complexType>
 	<xsd:complexType name="imageDimType">
-        <xsd:sequence>
-            <xsd:element name="DimOperator" type="dimensionOperatorType" minOccurs="0" maxOccurs="1" />
-        </xsd:sequence>
-		<xsd:attribute name="imageset" type="xsd:string" use="required" />
-		<xsd:attribute name="image" type="xsd:string" use="required" />
+		<xsd:attribute name="name" type="xsd:string" use="required" />
 		<xsd:attribute name="dimension" type="dimensionTypeEnum" use="required" />
 	</xsd:complexType>
 	<xsd:complexType name="widgetDimType">
-        <xsd:sequence>
-            <xsd:element name="DimOperator" type="dimensionOperatorType" minOccurs="0" maxOccurs="1" />
-        </xsd:sequence>
 		<xsd:attribute name="widget" type="xsd:string" use="optional" default="" />
 		<xsd:attribute name="dimension" type="dimensionTypeEnum" use="required" />
 	</xsd:complexType>
+    <xsd:complexType name="operatorDimType">
+        <xsd:choice minOccurs="2" maxOccurs="2">
+			<xsd:element name="UnifiedDim" type="unifiedDimType" />
+			<xsd:element name="AbsoluteDim" type="absoluteDimType" />
+			<xsd:element name="ImageDim" type="imageDimType" />
+            <xsd:element name="ImagePropertyDim" type="imageDimType" />
+            <xsd:element name="WidgetDim" type="widgetDimType" />
+            <xsd:element name="FontDim" type="fontDimType" />
+            <xsd:element name="PropertyDim" type="propertyDimType" />
+            <xsd:element name="OperatorDim" type="operatorDimType" />
+        </xsd:choice>
+        <xsd:attribute name="op" type="dimensionOperatorEnum" use="required" />
+    </xsd:complexType>
     <xsd:complexType name="settingByPropertyType">
         <xsd:attribute name="name" type="xsd:string" use="required" />
@@ -280,14 +320,11 @@
         <xsd:attribute name="name" type="xsd:string" use="required" />
     </xsd:complexType>
-    <xsd:complexType name="dimensionOperatorType">
-        <xsd:choice>
-            <xsd:element name="UnifiedDim" type="unifiedDimType" />
-            <xsd:element name="AbsoluteDim" type="absoluteDimType" />
-            <xsd:element name="ImageDim" type="imageDimType" />
-            <xsd:element name="WidgetDim" type="widgetDimType" />
-            <xsd:element name="FontDim" type="fontDimType" />
-            <xsd:element name="PropertyDim" type="propertyDimType" />
-        </xsd:choice>
-        <xsd:attribute name="op" type="dimensionOperatorEnum" use="required" />
+    <xsd:complexType name="namedAreaSourceType">
+        <xsd:attribute name="look" type="xsd:string" use="optional" default="" />
+        <xsd:attribute name="name" type="xsd:string" use="required" />
+    </xsd:complexType>
+    <xsd:complexType name="eventActionType">
+        <xsd:attribute name="event" type="xsd:string" use="required" />
+        <xsd:attribute name="action" type="eventActionTypeEnum" use="required" />
     </xsd:complexType>
     <xsd:simpleType name="propertyDimensionTypeEnum">
@@ -365,4 +402,39 @@
     <xsd:simpleType name="propertyTypeEnum">
         <xsd:restriction base="xsd:string">
+            <xsd:enumeration value="Colour" />
+            <xsd:enumeration value="ColourRect" />
+            <xsd:enumeration value="UBox" />
+            <xsd:enumeration value="URect" />
+            <xsd:enumeration value="USize" />
+            <xsd:enumeration value="UDim" />
+            <xsd:enumeration value="UVector2" />
+            <xsd:enumeration value="Sizef" />
+            <xsd:enumeration value="Vector2f" />
+            <xsd:enumeration value="Vector3f" />
+            <xsd:enumeration value="Rectf" />
+            <xsd:enumeration value="Font" />
+            <xsd:enumeration value="Image" />
+            <xsd:enumeration value="Quaternion" />
+            <xsd:enumeration value="AspectMode" />
+            <xsd:enumeration value="HorizontalAlignment" />
+            <xsd:enumeration value="VerticalAlignment" />
+            <xsd:enumeration value="HorizontalTextFormatting" />
+            <xsd:enumeration value="VerticalTextFormatting" />
+            <xsd:enumeration value="WindowUpdateMode" />
+            <xsd:enumeration value="bool" />
+            <xsd:enumeration value="uint" />
+            <xsd:enumeration value="unsigned long" />
+            <xsd:enumeration value="int" />
+            <xsd:enumeration value="float" />
+            <xsd:enumeration value="double" />
+            <xsd:enumeration value="TabControl::TabPanePosition" />
+            <xsd:enumeration value="Spinner::TextInputMode" />
+            <xsd:enumeration value="ItemListBase::SortMode" />
+            <xsd:enumeration value="ListHeaderSegment::SortDirection" />
+            <xsd:enumeration value="MultiColumnList::SelectionMode" />
+            <xsd:enumeration value="VerticalFormatting" />
+            <xsd:enumeration value="HorizontalFormatting" />
+            <xsd:enumeration value="Range" />
+            <xsd:enumeration value="String" />
             <xsd:enumeration value="Generic" />
         </xsd:restriction>
@@ -397,3 +469,72 @@
         </xsd:restriction>
     </xsd:simpleType>
+    <xsd:simpleType name="eventActionTypeEnum">
+        <xsd:restriction base="xsd:string">
+            <xsd:enumeration value="Redraw" />
+            <xsd:enumeration value="Layout" />
+        </xsd:restriction>
+    </xsd:simpleType>
+
+
+
+	<xsd:complexType name="animAnimationDefinitionType">
+        <xsd:sequence>
+            <xsd:element name="Affector" type="animAffectorType" minOccurs="1" maxOccurs="unbounded" />
+            <xsd:element name="Subscription" type="animSubscriptionType" minOccurs="0" maxOccurs="unbounded" />
+        </xsd:sequence>
+		<xsd:attribute name="name" type="xsd:string" use="required" />
+		<xsd:attribute name="duration" type="xsd:decimal" use="required" />
+		<xsd:attribute name="replayMode" type="animReplayModeEnum" use="optional" default="loop" />
+		<xsd:attribute name="autoStart" type="xsd:boolean" use="optional" default="false" />
+	</xsd:complexType>
+	<xsd:complexType name="animAffectorType">
+        <xsd:sequence>
+            <xsd:element name="KeyFrame" type="animKeyFrameType" minOccurs="1" maxOccurs="unbounded" />
+        </xsd:sequence>
+		<xsd:attribute name="applicationMethod" type="animApplicationMethodEnum" use="optional" default="absolute" />
+		<xsd:attribute name="property" type="xsd:string" use="required" />
+		<xsd:attribute name="interpolator" type="xsd:string" use="required" />
+	</xsd:complexType>
+	<xsd:complexType name="animKeyFrameType">
+		<xsd:attribute name="position" type="xsd:decimal" use="required" />
+		<xsd:attribute name="value" type="xsd:string" use="optional" default="" />
+		<xsd:attribute name="progression" type="xsd:string" use="optional" default="" />
+		<xsd:attribute name="sourceProperty" type="xsd:string" use="optional" default="" />
+	</xsd:complexType>
+	<xsd:complexType name="animSubscriptionType">
+		<xsd:attribute name="event" type="xsd:string" use="required" />
+		<xsd:attribute name="action" type="animActionEnum" use="required" />
+	</xsd:complexType>
+    <xsd:simpleType name="animReplayModeEnum">
+        <xsd:restriction base="xsd:string">
+            <xsd:enumeration value="once" />
+            <xsd:enumeration value="loop" />
+            <xsd:enumeration value="bounce" />
+        </xsd:restriction>
+    </xsd:simpleType>
+    <xsd:simpleType name="animApplicationMethodEnum">
+        <xsd:restriction base="xsd:string">
+            <xsd:enumeration value="absolute" />
+            <xsd:enumeration value="relative" />
+            <xsd:enumeration value="relative multiply" />
+        </xsd:restriction>
+    </xsd:simpleType>
+    <xsd:simpleType name="animProgressionEnum">
+        <xsd:restriction base="xsd:string">
+            <xsd:enumeration value="linear" />
+            <xsd:enumeration value="discrete" />
+            <xsd:enumeration value="quadratic accelerating" />
+            <xsd:enumeration value="quadratic decelerating" />
+        </xsd:restriction>
+    </xsd:simpleType>
+    <xsd:simpleType name="animActionEnum">
+        <xsd:restriction base="xsd:string">
+            <xsd:enumeration value="Start" />
+            <xsd:enumeration value="Stop" />
+            <xsd:enumeration value="Pause" />
+            <xsd:enumeration value="Unpause" />
+            <xsd:enumeration value="TogglePause" />
+        </xsd:restriction>
+    </xsd:simpleType>
+
 </xsd:schema>
