<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

	<xsd:element name="GUILayout" type="GUILayoutType"/>
	
	<xsd:complexType name="GUILayoutType">
		<xsd:sequence>
			<xsd:element name="Window" type="WindowType" />
		</xsd:sequence>
		<xsd:attribute name="Parent" type="xsd:string" use="optional" default=""/>
	</xsd:complexType>
	
	<xsd:complexType name="WindowType">
		<xsd:sequence>
			<xsd:element name="LayoutImport" type="LayoutImportType"  minOccurs="0" maxOccurs="unbounded" />
			<xsd:element name="Property" type="PropertyType"  minOccurs="0" maxOccurs="unbounded" />
			<xsd:element name="Event" type="EventType"  minOccurs="0" maxOccurs="unbounded" />
			<xsd:choice minOccurs="0" maxOccurs="unbounded">
				<xsd:element name="Window" type="WindowType" />
				<xsd:element name="AutoWindow" type="AutoWindowType" />
			</xsd:choice>
			<xsd:element name="Property" type="PropertyType"  minOccurs="0" maxOccurs="unbounded" />
		</xsd:sequence>
		<xsd:attribute name="Type" type="xsd:string" use="required"/>
		<xsd:attribute name="Name" type="xsd:string" use="optional" default="" />
	</xsd:complexType>

	<xsd:complexType name="AutoWindowType">
		<xsd:sequence>
			<xsd:element name="LayoutImport" type="LayoutImportType"  minOccurs="0" maxOccurs="unbounded" />
			<xsd:element name="Property" type="PropertyType"  minOccurs="0" maxOccurs="unbounded" />
			<xsd:element name="Event" type="EventType"  minOccurs="0" maxOccurs="unbounded" />
			<xsd:choice minOccurs="0" maxOccurs="unbounded">
				<xsd:element name="Window" type="WindowType" />
				<xsd:element name="AutoWindow" type="AutoWindowType" />
			</xsd:choice>
			<xsd:element name="Property" type="PropertyType"  minOccurs="0" maxOccurs="unbounded" />
		</xsd:sequence>
		<xsd:attribute name="NameSuffix" type="xsd:string" use="required"/>
	</xsd:complexType>

	<xsd:complexType name="PropertyType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="Name" type="xsd:string" use="required"/>
				<xsd:attribute name="Value" type="xsd:string" use="optional"/>
			</xsd:extension>
		</xsd:simpleContent> 
	</xsd:complexType>

	<xsd:complexType name="LayoutImportType">
		<xsd:attribute name="Filename" type="xsd:string" use="required"/>
		<xsd:attribute name="Prefix" type="xsd:string" use="optional" default="" />
		<xsd:attribute name="ResourceGroup" type="xsd:string" use="optional"  default="" />
	</xsd:complexType>

	<xsd:complexType name="EventType">
		<xsd:attribute name="Name" type="xsd:string" use="required"/>
		<xsd:attribute name="Function" type="xsd:string" use="required"/>
	</xsd:complexType>

</xsd:schema>