<?xml version="1.0"?>
<Schema name="myschema" xmlns="urn:schemas-microsoft-com:xml-data"
                        xmlns:dt="urn:schemas-microsoft-com:datatypes">  
	<!-- Attributes -->
<AttributeType name="manifestVersion" dt:type="enumeration" dt:values="1.0"/> 
<AttributeType name="name" dt:type="string"/>
<AttributeType name="type" dt:type="enumeration" dt:values="win32 win32-policy" required="yes"/>
<AttributeType name="publicKeyToken" dt:type="bin.hex" />
<AttributeType name="language" dt:type="string"/>
<AttributeType name="processorArchitecture" dt:type="string"/>
<AttributeType name="version" dt:type="string"/>
<AttributeType name="optional" dt:type="enumeration" dt:values="yes no"/>
<AttributeType name="clsid" dt:type="string"/>
<AttributeType name="description" dt:type="string"/>
<AttributeType name="threadingModel" dt:type="string"/>
<AttributeType name="tlbid" dt:type="string"/>
<AttributeType name="progid" dt:type="string"/>
<AttributeType name="helpdir" dt:type="string"/>
<AttributeType name="iid" dt:type="string"/>
<AttributeType name="numMethods" dt:type="ui4"/>
<AttributeType name="resourceid" dt:type="string"/>
<AttributeType name="flags" dt:type="enumeration" dt:values="control hidden restricted hasdiskimage"/>
<AttributeType name="loadFrom" dt:type="string"/>
<AttributeType name="hashalg" dt:type="enumeration" dt:values="SHA1 SHA MD5 MD4 MD2"/>
<AttributeType name="hash" dt:type="string"/>
<AttributeType name="proxyStubClsid32" dt:type="string"/>
<AttributeType name="baseInterface" dt:type="string"/>
<AttributeType name="versioned" dt:type="enumeration" dt:values="yes no"/>
<AttributeType name="oldVersion" dt:type="string"/>
<AttributeType name="newVersion" dt:type="string"/>

<!-- Elements-->
<ElementType name="assembly" model = "closed" content="eltOnly">
      <attribute type ="manifestVersion" required="yes"/>
      <element type="noInherit" minOccurs="0" maxOccurs="1"/>
      <element type="noInheritable" minOccurs="0" maxOccurs="1"/>
      <element type="assemblyIdentity" minOccurs="1" maxOccurs="1"/>
      <element type="description" minOccurs="0" maxOccurs="1"/>
      <element type="dependency" minOccurs="0" maxOccurs="*"/>
      <element type="file" minOccurs="0" maxOccurs="*"/>
      <element type="comInterfaceExternalProxyStub" minOccurs="0" maxOccurs="*"/>
</ElementType>
<ElementType name="assemblyIdentity" model = "closed">
      <attribute type="type"  required="yes"/>
      <attribute type="name" required="yes"/>
      <attribute type="publicKeyToken" required="no"/>
      <attribute type="language" required="no"/>
      <attribute type="processorArchitecture"  required="yes" />
      <!-- not required in policy identities -->
      <attribute type="version" required="no"/>
</ElementType>
<ElementType name="description"/>
<ElementType name="bindingRedirect" model="closed">
      <attribute type="oldVersion" required="no" />
      <attribute type="newVersion" required="no" />
</ElementType>
<ElementType name="dependency" model = "closed" content="eltOnly">
      <element type="dependentAssembly" minOccurs="0" maxOccurs="1"/>
      <attribute type="optional" required="no"/>
</ElementType>
<ElementType name="dependentAssembly"  model = "closed" content="eltOnly">
      <element type="assemblyIdentity" minOccurs="1" maxOccurs="1"/>
      <element type="bindingRedirect" minOccurs="0" maxOccurs="*"/>
</ElementType>
<ElementType name="file"  model = "closed" content="eltOnly">
      <attribute type="name" required="yes"/>
      <attribute type ="loadFrom" required="no"/>
      <attribute type ="hash" required="no"/>
      <attribute type ="hashalg" required="no"/>
      <element type="windowClass" minOccurs="0" maxOccurs="*"/>
      <element type="comClass" minOccurs="0" maxOccurs="*"/>
      <element type="typelib" minOccurs="0" maxOccurs="*"/>
      <element type="comInterfaceProxyStub" minOccurs="0" maxOccurs="*"/>
</ElementType>
<ElementType name="windowClass">
      <attribute type="versioned" required="no"/>
</ElementType>
<ElementType name="comClass"  model = "closed" content="eltOnly">
      <attribute type="description" required="no"/>
      <attribute type="clsid" required="yes"/>
      <attribute type="threadingModel" required="no"/>
      <attribute type="tlbid" required="no"/>
      <attribute type="progid" required="no"/>
      <element type="progid" minOccurs="0" maxOccurs="*"/>
</ElementType>
<ElementType name="comInterfaceProxyStub"  model = "closed">
      <attribute type="iid" required="yes"/>
      <attribute type="name" required="no"/>
      <attribute type="tlbid" required="no"/>
      <attribute type="numMethods" required="no"/>
      <attribute type="proxyStubClsid32" required="no"/>
      <attribute type="baseInterface" required="no"/>
</ElementType>
<ElementType name="comInterfaceExternalProxyStub"  model = "closed">
      <attribute type="iid" required="yes"/>
      <attribute type="name" required="yes"/>
      <attribute type="tlbid" required="no"/>
      <attribute type="numMethods" required="no"/>
      <attribute type="proxyStubClsid32" required="no"/>
      <attribute type="baseInterface" required="no"/>
</ElementType>
<ElementType name="typelib"  model = "closed">
      <attribute type="tlbid" required="yes"/>
      <attribute type="version" required="yes"/>
      <attribute type="helpdir" required="yes"/>
      <attribute type="resourceid" required="no"/>
      <attribute type="flags" required="no"/>
</ElementType>
<ElementType name="noInherit"/>
<ElementType name="noInheritable"/>
<ElementType name="progid"/>  
</Schema>
