Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="utf-8"?>
- <!-- @@BEGIN_SDKSPLIT
- REDSTONE COM MANIFEST SCHEMA
- This schema is the base for elements that are available in the RS1 COM schema.
- !!!WARNING!!!
- Don't make any changes to this schema. Changes will affect a wide range of
- partners and can potentially break product and test code, as well as existing
- .appx packages and manifests. Please contact 'manifest' alias if you need to
- request any addition or modification.
- @@END_SDKSPLIT -->
- <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified"
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://schemas.microsoft.com/appx/manifest/com/windows10"
- xmlns="http://schemas.microsoft.com/appx/manifest/com/windows10"
- xmlns:t="http://schemas.microsoft.com/appx/manifest/types"
- xmlns:f="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
- xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10"
- >
- <xs:import namespace="http://schemas.microsoft.com/appx/manifest/types"/>
- <xs:import namespace="http://schemas.microsoft.com/appx/manifest/foundation/windows10"/>
- <xs:element name="Extensions" substitutionGroup="f:ComExtensions" type="CT_ComPackageExtensions"/>
- <xs:complexType name="CT_ComPackageExtensions">
- <xs:choice minOccurs ="0" maxOccurs="10000">
- <xs:element name="Extension">
- <xs:complexType>
- <xs:choice>
- <xs:element name="ComInterface" maxOccurs="1" type="CT_ComInterface"/>
- </xs:choice>
- <xs:attribute name="Category" type="t:ST_PackageExtensionCategory_Com" use="required"/>
- </xs:complexType>
- </xs:element>
- </xs:choice>
- </xs:complexType>
- <xs:element name="Extension" substitutionGroup="f:ApplicationExtensionChoice">
- <xs:complexType>
- <xs:choice minOccurs="0">
- <xs:element name="ComServer" type="CT_ComServer" maxOccurs="1">
- <!--ProgId/@Clsid refers to ExeServer/Class/@Id | SurrogateServer/Class/@Id | TreatAsClass/@Id-->
- <xs:key name="ClsidKey">
- <xs:selector xpath="com:ExeServer/com:Class | com:SurrogateServer/com:Class | com:TreatAsClass"/>
- <xs:field xpath="@Id"/>
- </xs:key>
- <xs:keyref name="ClsidRef" refer="ClsidKey">
- <xs:selector xpath="com:ProgId"/>
- <xs:field xpath="@Clsid"/>
- </xs:keyref>
- <!-- TreatAsClass/@TreatAs and Class/@AutoConvertTo refers to ExeServer/Class/@Id | SurrogateServer/Class/@Id-->
- <xs:key name="Class_IdKey">
- <xs:selector xpath="com:ExeServer/com:Class | com:SurrogateServer/com:Class"/>
- <xs:field xpath="@Id"/>
- </xs:key>
- <xs:keyref name="TreatAsRef" refer="Class_IdKey">
- <xs:selector xpath="com:TreatAsClass"/>
- <xs:field xpath="@TreatAs"/>
- </xs:keyref>
- <xs:keyref name="AutoConvertToRef" refer="Class_IdKey">
- <xs:selector xpath="com:ExeServer/com:Class | com:SurrogateServer/com:Class"/>
- <xs:field xpath="@AutoConvertTo"/>
- </xs:keyref>
- <!-- Class/@ProgId , Class/@VersionIndependentProgId and ProgId/@CurrentVersion refer to ProgId/@Id-->
- <xs:key name="ProgId_IdKey">
- <xs:selector xpath="com:ProgId"/>
- <xs:field xpath="@Id"/>
- </xs:key>
- <xs:keyref name="Class_ProgIdRef" refer="ProgId_IdKey">
- <xs:selector xpath="com:ExeServer/com:Class | com:SurrogateServer/com:Class"/>
- <xs:field xpath="@ProgId"/>
- </xs:keyref>
- <xs:keyref name="Class_VerIndProgIdRef" refer="ProgId_IdKey">
- <xs:selector xpath="com:ExeServer/com:Class | com:SurrogateServer/com:Class"/>
- <xs:field xpath="@VersionIndepenentProgId"/>
- </xs:keyref>
- <xs:keyref name="ProgId_CurrentVersionRef" refer="ProgId_IdKey">
- <xs:selector xpath="com:ProgId"/>
- <xs:field xpath="@CurrentVersion"/>
- </xs:keyref>
- </xs:element>
- <xs:element name="ComInterface" type="CT_ComInterface" maxOccurs="1">
- <xs:key name="Interface_IdKey">
- <xs:selector xpath="com:Interface"/>
- <xs:field xpath="@Id"/>
- </xs:key>
- <xs:keyref name="SynchronousRef" refer="Interface_IdKey">
- <xs:selector xpath="com:Interface"/>
- <xs:field xpath="@SynchronousInterface"/>
- </xs:keyref>
- <xs:keyref name="AsynchronousRef" refer="Interface_IdKey">
- <xs:selector xpath="com:Interface"/>
- <xs:field xpath="@AsynchronousInterface"/>
- </xs:keyref>
- <!--Interface\@ProxyStubClsid refers to ProxyStub/@Id-->
- <xs:key name="ProxyStub_IdKey">
- <xs:selector xpath="com:ProxyStub"/>
- <xs:field xpath="@Id"/>
- </xs:key>
- <xs:keyref name="Interface_ProxyStubClsidRef" refer="ProxyStub_IdKey">
- <xs:selector xpath="com:Interface"/>
- <xs:field xpath="@ProxyStubClsid"/>
- </xs:keyref>
- <!--Interface/TypeLib/@Id refers to TypeLib/@Id-->
- <xs:key name="TypeLib_IdKey">
- <xs:selector xpath="com:TypeLib"/>
- <xs:field xpath="@Id"/>
- </xs:key>
- <xs:keyref name="TypeLib_IdRef" refer="TypeLib_IdKey">
- <xs:selector xpath="com:Interface/com:TypeLib"/>
- <xs:field xpath="@Id"/>
- </xs:keyref>
- </xs:element>
- </xs:choice>
- <xs:attribute name="Category" type="t:ST_ApplicationExtensionCategory_Com" use="required"/>
- <xs:attributeGroup ref="t:ExtensionBaseAttributes"/>
- </xs:complexType>
- </xs:element>
- <xs:complexType name="CT_ComServer">
- <xs:sequence>
- <xs:element name="ExeServer" type="CT_ExeServer" minOccurs="0" maxOccurs="1000">
- </xs:element>
- <xs:element name="SurrogateServer" type="CT_SurrogateServer" minOccurs="0" maxOccurs="1000"/>
- <xs:element name="TreatAsClass" type="CT_TreatAsClass" minOccurs="0" maxOccurs="10000">
- </xs:element>
- <xs:element name="ProgId" type="CT_ProgId" minOccurs="0" maxOccurs="10000">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="CT_ComInterface">
- <xs:sequence>
- <xs:element name="ProxyStub" type="CT_ProxyStub" minOccurs="0" maxOccurs="1000"/>
- <xs:element name="Interface" type="CT_Interface" minOccurs="0" maxOccurs="10000"/>
- <xs:element name="TypeLib" type="CT_TypeLib" minOccurs="0" maxOccurs="1000">
- <xs:unique name="Version_VersionNumber">
- <xs:selector xpath="com:Version"/>
- <xs:field xpath="@VersionNumber"/>
- </xs:unique>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="CT_ExeServer">
- <xs:sequence>
- <xs:element name="Class" type="CT_ExeServerClass" minOccurs="1" maxOccurs="10000"/>
- </xs:sequence>
- <xs:attribute name="Executable" type="t:ST_Executable" use="required"/>
- <xs:attribute name="Arguments" type="t:ST_NonEmptyString"/>
- <xs:attribute name="DisplayName" type="t:ST_DisplayName"/>
- <xs:attribute name="LaunchAndActivationPermission" type="ST_Permissions" />
- </xs:complexType>
- <xs:complexType name="CT_Class">
- <xs:attribute name="Id" type="t:ST_GUID" use="required"/>
- <xs:attribute name="DisplayName" type="t:ST_DisplayName"/>
- </xs:complexType>
- <xs:complexType name="CT_OutOfProcClass">
- <xs:complexContent>
- <xs:extension base="CT_Class">
- <xs:all>
- <xs:element name="ImplementedCategories" type="CT_ImplementedCategories" minOccurs="0">
- <xs:unique name="ImplementedCategory_Id">
- <xs:selector xpath="com:ImplementedCategory"/>
- <xs:field xpath="@Id"/>
- </xs:unique>
- </xs:element>
- <xs:element name="Conversion" type="CT_Conversion" minOccurs="0"/>
- <xs:element name="DataFormats" type="CT_DataFormats" minOccurs="0">
- <xs:unique name="DataFormats_All">
- <xs:selector xpath="com:DataFormat"/>
- <xs:field xpath="@FormatName"/>
- <xs:field xpath="@StandardFormat"/>
- <xs:field xpath="@AspectFlag"/>
- <xs:field xpath="@MediumFlag"/>
- <xs:field xpath="@Direction"/>
- </xs:unique>
- </xs:element>
- <xs:element name="MiscStatus" type="CT_MiscStatus" minOccurs="0">
- <xs:unique name="Aspect_Type">
- <xs:selector xpath="com:Aspect"/>
- <xs:field xpath="@Type"/>
- </xs:unique>
- </xs:element>
- <xs:element name="Verbs" type="CT_Verbs" minOccurs="0">
- <xs:unique name="Verb_Index">
- <xs:selector xpath="com:Verb"/>
- <xs:field xpath="@Id"/>
- </xs:unique>
- </xs:element>
- <xs:element name="DefaultIcon" type="CT_DefaultIcon" minOccurs="0"/>
- <xs:element name="ToolboxBitmap32" type="CT_ToolboxBitmap" minOccurs="0"/>
- </xs:all>
- <xs:attribute name="EnableOleDefaultHandler" type="xs:boolean"/>
- <xs:attribute name="ProgId" type="ST_ProgId"/>
- <xs:attribute name="VersionIndependentProgId" type="ST_ProgId"/>
- <xs:attribute name="AutoConvertTo" type="t:ST_GUID"/>
- <xs:attribute name="InsertableObject" type="xs:boolean"/>
- <xs:attribute name="ShortDisplayName" type="t:ST_ShortDisplayName"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="CT_ExeServerClass">
- <xs:complexContent>
- <xs:extension base="CT_OutOfProcClass">
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="CT_ImplementedCategories">
- <xs:sequence>
- <xs:element name="ImplementedCategory" type="CT_ImplementedCategory" minOccurs="1" maxOccurs="1000"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="CT_ImplementedCategory">
- <xs:attribute name="Id" type="t:ST_GUID" use="required"/>
- </xs:complexType>
- <xs:complexType name="CT_Conversion">
- <xs:all minOccurs="0">
- <xs:element name="Readable" type="CT_ConversionFormats" minOccurs="0">
- <xs:unique name="Readable_Format_FormatName">
- <xs:selector xpath="com:Format"/>
- <xs:field xpath="@FormatName"/>
- </xs:unique>
- <xs:unique name="Readable_Format_StandardFormat">
- <xs:selector xpath="com:Format"/>
- <xs:field xpath="@StandardFormat"/>
- </xs:unique>
- </xs:element>
- <xs:element name="ReadWritable" type="CT_ConversionFormats" minOccurs="0">
- <xs:unique name="ReadWritable_Format_FormatName">
- <xs:selector xpath="com:Format"/>
- <xs:field xpath="@FormatName"/>
- </xs:unique>
- <xs:unique name="ReadWritable_Format_StandardFormat">
- <xs:selector xpath="com:Format"/>
- <xs:field xpath="@StandardFormat"/>
- </xs:unique>
- </xs:element>
- </xs:all>
- </xs:complexType>
- <xs:complexType name="CT_ConversionFormats">
- <xs:sequence>
- <xs:element name="Format" type="CT_ConversionFormat" minOccurs="1" maxOccurs="1000"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="CT_ConversionFormat">
- <xs:attribute name="FormatName" type="t:ST_NonEmptyString"/>
- <xs:attribute name="StandardFormat" type="ST_Hexadecimal"/>
- </xs:complexType>
- <xs:complexType name="CT_DataFormats">
- <xs:sequence>
- <xs:element name="DataFormat" type="CT_DataFormat" minOccurs="0" maxOccurs="1000"/>
- </xs:sequence>
- <xs:attribute name="DefaultFormatName" type="t:ST_NonEmptyString"/>
- <xs:attribute name="DefaultStandardFormat" type="ST_Hexadecimal"/>
- </xs:complexType>
- <xs:complexType name="CT_DataFormat">
- <xs:attribute name="FormatName" type="t:ST_NonEmptyString"/>
- <xs:attribute name="StandardFormat" type="ST_Hexadecimal"/>
- <xs:attribute name="AspectFlag" type="ST_Aspect" use="required"/>
- <xs:attribute name="MediumFlag" type="ST_Medium" use="required"/>
- <xs:attribute name="Direction" type="ST_DataFormatDirection" use="required"/>
- </xs:complexType>
- <xs:complexType name="CT_MiscStatus">
- <xs:sequence>
- <xs:element name="Aspect" type="CT_Aspect" minOccurs="0" maxOccurs="1000"/>
- </xs:sequence>
- <xs:attribute name="OleMiscFlag" type="ST_OleMisc" use="required"/>
- </xs:complexType>
- <xs:complexType name="CT_Aspect">
- <xs:attribute name="Type" type="ST_AspectType" use="required"/>
- <xs:attribute name="OleMiscFlag" type="ST_OleMisc" use="required"/>
- </xs:complexType>
- <xs:complexType name="CT_Verbs">
- <xs:sequence>
- <xs:element name="Verb" type="CT_ComVerb" minOccurs="1" maxOccurs="1000"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="CT_ComVerb">
- <xs:attribute name="Id" type="ST_VerbIndex" use="required"/>
- <xs:attribute name="DisplayName" type="t:ST_DisplayName" use="required"/>
- <xs:attribute name="AppendMenuFlag" type="ST_AppendMenu" use="required"/>
- <xs:attribute name="OleVerbFlag" type="ST_OleVerb" use="required"/>
- </xs:complexType>
- <xs:complexType name="CT_DefaultIcon">
- <xs:attribute name="Path" type="t:ST_FileName" use="required"/>
- <xs:attribute name="ResourceIndex" type="xs:int"/>
- </xs:complexType>
- <xs:complexType name="CT_ToolboxBitmap">
- <xs:attribute name="Path" type="t:ST_FileName" use="required"/>
- <xs:attribute name="ResourceId" type="xs:int"/>
- </xs:complexType>
- <xs:complexType name="CT_SurrogateServer">
- <xs:sequence>
- <xs:element name="Class" type="CT_SurrogateClass" minOccurs="1" maxOccurs="10000"/>
- </xs:sequence>
- <xs:attribute name="CustomSurrogateExecutable" type="t:ST_Executable"/>
- <xs:attribute name="DisplayName" type="t:ST_NonEmptyString" />
- <xs:attribute name="LaunchAndActivationPermission" type="ST_Permissions" />
- <xs:attribute name="AppId" type="t:ST_GUID" />
- </xs:complexType>
- <xs:complexType name="CT_SurrogateClass">
- <xs:complexContent>
- <xs:extension base="CT_OutOfProcClass">
- <xs:attribute name="Path" type="t:ST_FileName" use="required"/>
- <xs:attribute name="ThreadingModel" type="ST_ThreadingModel" use="required"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="CT_ProxyStub">
- <xs:complexContent>
- <xs:extension base="CT_Class">
- <xs:attribute name="Path" type="t:ST_FileName" use="required"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="CT_Interface">
- <xs:all>
- <xs:element name="TypeLib" type="CT_TypeLibRef" minOccurs="0"/>
- </xs:all>
- <xs:attribute name="Id" type="t:ST_GUID" use="required"/>
- <xs:attribute name="UseUniversalMarshaler" type="xs:boolean"/>
- <xs:attribute name="ProxyStubClsid" type="t:ST_GUID"/>
- <xs:attribute name="SynchronousInterface" type="t:ST_GUID"/>
- <xs:attribute name="AsynchronousInterface" type="t:ST_GUID"/>
- </xs:complexType>
- <xs:complexType name="CT_TypeLibRef">
- <xs:attribute name="Id" type="t:ST_GUID" use="required"/>
- <xs:attribute name="VersionNumber" type="ST_Version"/>
- </xs:complexType>
- <xs:complexType name="CT_TypeLib">
- <xs:sequence>
- <xs:element name="Version" type="CT_TypeLibVersion" minOccurs="1" maxOccurs="1000"/>
- </xs:sequence>
- <xs:attribute name="Id" type="t:ST_GUID" use="required"/>
- </xs:complexType>
- <xs:complexType name="CT_TypeLibVersion">
- <xs:all minOccurs="0">
- <xs:element name="Win32Path" type="CT_TypeLibPath" minOccurs="0"/>
- <xs:element name="Win64Path" type="CT_TypeLibPath" minOccurs="0"/>
- </xs:all>
- <xs:attribute name="VersionNumber" type="ST_Version" use="required"/>
- <xs:attribute name="LocaleId" type="ST_Hexadecimal" default="0"/>
- <xs:attribute name="LibraryFlag" type="ST_LibFlag"/>
- <xs:attribute name="HelpDirectory" type="t:ST_NonEmptyString"/>
- </xs:complexType>
- <xs:complexType name="CT_TypeLibPath">
- <xs:attribute name="Path" type="t:ST_FileName" use="required"/>
- <xs:attribute name="ResourceId" type="xs:int" use="optional"/>
- </xs:complexType>
- <xs:complexType name="CT_ProgId">
- <xs:attribute name="Id" type="ST_ProgId" use="required"/>
- <xs:attribute name="Clsid" type="t:ST_GUID"/>
- <xs:attribute name="CurrentVersion " type="ST_ProgId"/>
- </xs:complexType>
- <xs:complexType name="CT_TreatAsClass">
- <xs:complexContent>
- <xs:extension base="CT_Class">
- <xs:attribute name="TreatAs" type="t:ST_GUID" use="required"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:simpleType name="ST_ProgId">
- <xs:restriction base="xs:string">
- <xs:pattern value="[A-Za-z][A-Za-z0-9\.]*"/>
- <xs:maxLength value="255"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="ST_Version">
- <xs:restriction base="xs:string">
- <xs:pattern value="[0-9a-fA-F]{1,4}\.[0-9a-fA-F]{1,4}"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="ST_Permissions">
- <xs:restriction base="xs:string">
- <xs:pattern value="(O:[A-Z0-9\-]*)?(G:[A-Z0-9\-]*)?(D:[PARI]*(\([A-Z0-9\-;]*\))*)?(S:..?(\([A-Z0-9\-;]*\))*)?"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="ST_Hexadecimal">
- <xs:restriction base="xs:string">
- <xs:pattern value="[0-9a-fA-F]{1,4}"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="ST_ThreadingModel">
- <xs:restriction base="xs:string">
- <xs:enumeration value="Both"/>
- <xs:enumeration value="STA"/>
- <xs:enumeration value="MTA"/>
- <xs:enumeration value="MainSTA"/>
- <xs:enumeration value="Neutral"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="ST_AspectType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="Content"/>
- <xs:enumeration value="Thumbnail"/>
- <xs:enumeration value="Icon"/>
- <xs:enumeration value="DocPrint"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="ST_DataFormatDirection">
- <xs:restriction base="xs:string">
- <xs:enumeration value="Get"/>
- <xs:enumeration value="Set"/>
- <xs:enumeration value="GetAndSet"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="ST_VerbIndex">
- <xs:restriction base="xs:int">
- <xs:minInclusive value="-6"/>
- <xs:maxInclusive value="1000"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="ST_Aspect">
- <xs:restriction base="xs:int">
- <xs:minInclusive value="-1"/>
- <xs:maxInclusive value="15"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="ST_Medium">
- <xs:restriction base="xs:int">
- <xs:minInclusive value="0"/>
- <xs:maxInclusive value="127"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="ST_OleMisc">
- <xs:restriction base="xs:int">
- <xs:minInclusive value="0"/>
- <xs:maxInclusive value="4194303"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="ST_AppendMenu">
- <xs:restriction base="xs:int">
- <xs:minInclusive value="0"/>
- <xs:maxInclusive value="2431"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="ST_OleVerb">
- <xs:restriction base="xs:int">
- <xs:minInclusive value="0"/>
- <xs:maxInclusive value="3"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="ST_LibFlag">
- <xs:restriction base="xs:int">
- <xs:minInclusive value="0"/>
- <xs:maxInclusive value="15"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:schema>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement