Select the resources to be compressed depending on the OS and XML parser being used and generate the MSIXResource.hpp only witht he applicable resources. Re-add missing AppxManifest schemas. Add AppxManifest schemas to the resources zip file when the parser is MSXML6 in Windows.

This commit is contained in:
Ruben Guerrero Samaniego 2018-03-12 17:47:33 -07:00 коммит произвёл Phil Smith
Родитель 83529f9f6a
Коммит 4a377460b4
21 изменённых файлов: 2651 добавлений и 19 удалений

Просмотреть файл

@ -4,10 +4,82 @@
# MSIXResource.hpp contains a std::uint8_t array that is the zip file as bytes. Internally,
# we create a stream from it, treat as a stream and use our own ZipObject implementation to read data from it.
# Create zip file. Use execute_process to run the command while CMake is procesing.
set(RESOURCES_CERTS)
set(RESOURCES_BLOCKMAP)
set(RESOURCES_CONTENTTYPE)
set(RESOURCES_APPXMANIFEST)
if(NOT WIN32) # Always add the certs for non-Windows.
list(APPEND RESOURCES_CERTS
"certs/base64_MSFT_RCA_2010.cer"
"certs/base64_MSFT_RCA_2011.cer"
"certs/base64_STORE_PCA_2011.cer"
"certs/base64_Windows_Production.cer"
"certs/base64_Windows_Production_PCA_2011.cer"
"certs/Microsoft_MarketPlace_PCA_2011.cer")
endif()
#if(USE_VALIDATION_PARSER) turn on when there's an implementation of XmlLite/LibXml2
list(APPEND RESOURCES_CONTENTTYPE
"AppxPackaging/[Content_Types]/opc-contentTypes.xsd")
list(APPEND RESOURCES_BLOCKMAP
"AppxPackaging/BlockMap/schema/BlockMapSchema.xsd"
"AppxPackaging/BlockMap/schema/BlockMapSchema2015.xsd"
"AppxPackaging/BlockMap/schema/BlockMapSchema2017.xsd")
# AppxManifests
if(HAVE_MSXML6)
list(APPEND RESOURCES_APPXMANIFEST
"AppxPackaging/Manifest/Schema/2015/AppxManifestTypes.xsd"
"AppxPackaging/Manifest/Schema/2015/BundleManifestSchema2013.xsd"
"AppxPackaging/Manifest/Schema/2015/BundleManifestSchema2014.xsd"
"AppxPackaging/Manifest/Schema/2015/ComManifestSchema.xsd"
"AppxPackaging/Manifest/Schema/2015/DesktopManifestSchema.xsd"
"AppxPackaging/Manifest/Schema/2015/FoundationManifestSchema.xsd"
"AppxPackaging/Manifest/Schema/2015/FoundationManifestSchema_v2.xsd"
"AppxPackaging/Manifest/Schema/2015/HolographicManifestSchema.xsd"
"AppxPackaging/Manifest/Schema/2015/IotManifestSchema.xsd"
"AppxPackaging/Manifest/Schema/2015/MobileManifestSchema.xsd"
"AppxPackaging/Manifest/Schema/2015/RestrictedCapabilitiesManifestSchema.xsd"
"AppxPackaging/Manifest/Schema/2015/RestrictedCapabilitiesManifestSchema_v2.xsd"
"AppxPackaging/Manifest/Schema/2015/ServerManifestSchema.xsd"
"AppxPackaging/Manifest/Schema/2015/UapManifestSchema.xsd"
"AppxPackaging/Manifest/Schema/2015/UapManifestSchema_v2.xsd"
"AppxPackaging/Manifest/Schema/2015/UapManifestSchema_v3.xsd"
"AppxPackaging/Manifest/Schema/2015/WindowsCapabilitiesManifestSchema.xsd"
"AppxPackaging/Manifest/Schema/2015/WindowsCapabilitiesManifestSchema_v2.xsd"
"AppxPackaging/Manifest/Schema/2015/XboxManifestSchema.xsd"
"AppxPackaging/Manifest/Schema/2016/BundleManifestSchema2016.xsd"
"AppxPackaging/Manifest/Schema/2016/DesktopManifestSchema_v2.xsd"
"AppxPackaging/Manifest/Schema/2016/RestrictedCapabilitiesManifestSchema_v3.xsd"
"AppxPackaging/Manifest/Schema/2016/UapManifestSchema_v4.xsd"
"AppxPackaging/Manifest/Schema/2016/WindowsCapabilitiesManifestSchema_v3.xsd"
"AppxPackaging/Manifest/Schema/2017/BundleManifestSchema2017.xsd"
"AppxPackaging/Manifest/Schema/2017/ComManifestSchema_v2.xsd"
"AppxPackaging/Manifest/Schema/2017/DesktopManifestSchema_v3.xsd"
"AppxPackaging/Manifest/Schema/2017/DesktopManifestSchema_v4.xsd"
"AppxPackaging/Manifest/Schema/2017/IotManifestSchema_v2.xsd"
"AppxPackaging/Manifest/Schema/2017/RestrictedCapabilitiesManifestSchema_v4.xsd"
"AppxPackaging/Manifest/Schema/2017/UapManifestSchema_v5.xsd"
"AppxPackaging/Manifest/Schema/2017/UapManifestSchema_v6.xsd")
else() # xerces
# TODO: make changes required to make the xsds WC3 compliant.
endif()
#endif() USE_VALIDATION_PARSER
# Create zip file. Use execute_process to run the command while CMake is procesing.
message(STATUS "Resource files:")
foreach(FILE ${RESOURCES_BLOCKMAP} ${RESOURCES_CONTENTTYPE} ${RESOURCES_APPXMANIFEST} ${RESOURCES_CERTS})
message(STATUS "\t${FILE}")
endforeach(FILE)
execute_process(
COMMAND ${CMAKE_COMMAND} -E tar cvf "${CMAKE_BINARY_DIR}/resources.zip" --format=zip -- "AppxPackaging/BlockMap" "AppxPackaging/[Content_Types]" "certs"
COMMAND ${CMAKE_COMMAND} -E tar cvf "${CMAKE_BINARY_DIR}/resources.zip" --format=zip -- ${RESOURCES_BLOCKMAP} ${RESOURCES_CONTENTTYPE} ${RESOURCES_APPXMANIFEST} ${RESOURCES_CERTS}
WORKING_DIRECTORY "${CMAKE_PROJECT_ROOT}/resources"
OUTPUT_QUIET
)
file(READ "${CMAKE_BINARY_DIR}/resources.zip" RESOURCE_HEX HEX)
@ -16,9 +88,21 @@ string(REGEX MATCHALL ".." RESOURCE_HEX_LIST "${RESOURCE_HEX}")
list(LENGTH RESOURCE_HEX_LIST RESOURCE_LENGHT)
# The list is just a string, so change ; for ", 0x" to initialize the vector.
# Just remember the first element won't have 0x.
string(REGEX REPLACE ";" ", 0x" RESOURCE_BYTES "${RESOURCE_HEX_LIST}")
string(REGEX REPLACE ";" ", 0x" RESOURCE_BYTES "${RESOURCE_HEX_LIST}")
set(RESOURCE_HEADER "//
function(GetResourceHpp LIST OUTPUT)
foreach(i ${LIST})
string(APPEND RESULT result.push_back(ComPtr<IStream>(factory->GetResource(\"${i}\"))) ";\n\t\t\t\t")
endforeach(i)
set(${OUTPUT} ${RESULT} PARENT_SCOPE)
endfunction()
GetResourceHpp("${RESOURCES_BLOCKMAP}" BLOCKMAP_HPP)
GetResourceHpp("${RESOURCES_CONTENTTYPE}" CONTENTTYPE_HPP)
GetResourceHpp("${RESOURCES_APPXMANIFEST}" APPXMANIFEST_HPP)
GetResourceHpp("${RESOURCES_CERTS}" CERTS_HPP)
set(RESOURCE_HEADER "//
//
// Copyright (C) 2017 Microsoft. All rights reserved.
// See LICENSE file in the project root for full license information.
@ -32,7 +116,7 @@ set(RESOURCE_HEADER "//
namespace MSIX {
namespace Resource {
enum Type
enum Type
{
Certificates,
ContentType,
@ -50,23 +134,16 @@ namespace MSIX {
switch(type)
{
case Resource::Certificates:
result.push_back(ComPtr<IStream>(factory->GetResource(\"certs/base64_MSFT_RCA_2010.cer\")));
result.push_back(ComPtr<IStream>(factory->GetResource(\"certs/base64_MSFT_RCA_2011.cer\")));
result.push_back(ComPtr<IStream>(factory->GetResource(\"certs/base64_STORE_PCA_2011.cer\")));
result.push_back(ComPtr<IStream>(factory->GetResource(\"certs/base64_Windows_Production.cer\")));
result.push_back(ComPtr<IStream>(factory->GetResource(\"certs/base64_Windows_Production_PCA_2011.cer\")));
result.push_back(ComPtr<IStream>(factory->GetResource(\"certs/Microsoft_MarketPlace_PCA_2011.cer\")));
${CERTS_HPP}
break;
case Resource::ContentType:
result.push_back(ComPtr<IStream>(factory->GetResource(\"AppxPackaging/[Content_Types]/opc-contentTypes.xsd\")));
${CONTENTTYPE_HPP}
break;
case Resource::BlockMap:
result.push_back(ComPtr<IStream>(factory->GetResource(\"AppxPackaging/BlockMap/schema/BlockMapSchema.xsd\")));
result.push_back(ComPtr<IStream>(factory->GetResource(\"AppxPackaging/BlockMap/schema/BlockMapSchema2015.xsd\")));
result.push_back(ComPtr<IStream>(factory->GetResource(\"AppxPackaging/BlockMap/schema/BlockMapSchema2017.xsd\")));
${BLOCKMAP_HPP}
break;
case Resource::AppxManifest:
// TODO: Implement
${APPXMANIFEST_HPP}
break;
}
return result;

Просмотреть файл

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://schemas.microsoft.com/appx/2013/bundle"
xmlns="http://schemas.microsoft.com/appx/2013/bundle"
xmlns:b="http://schemas.microsoft.com/appx/2013/bundle"
xmlns:t="http://schemas.microsoft.com/appx/manifest/types">
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/types" />
<!-- Root bundle element -->
<xs:element name="Bundle">
<xs:complexType>
<xs:all>
<xs:element name="Identity">
<xs:complexType>
<xs:attribute name="Name" type="t:ST_PackageName" use="required" />
<xs:attribute name="Publisher" type="t:ST_Publisher_2010_v2" use="required" />
<xs:attribute name="Version" type="t:ST_VersionQuad" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="Packages">
<xs:complexType>
<xs:sequence>
<xs:element name="Package" maxOccurs="10000">
<xs:complexType>
<xs:all>
<xs:element name="Resources" type="CT_Resources" />
</xs:all>
<xs:attribute name="Type" type="t:ST_PackageType" use="optional" default="resource" />
<xs:attribute name="Version" type="t:ST_VersionQuad" use="required" />
<xs:attribute name="Architecture" type="t:ST_ArchitectureUnrestricted" use="optional" default="neutral" />
<xs:attribute name="ResourceId" type="t:ST_ResourceId" use="optional" />
<xs:attribute name="FileName" type="t:ST_FileName" use="required" />
<xs:attribute name="Offset" type="xs:unsignedLong" use="required" />
<xs:attribute name="Size" type="xs:unsignedLong" use="required" />
</xs:complexType>
<xs:unique name="Unique_Language">
<xs:selector xpath="b:Resources/b:Resource"/>
<xs:field xpath="@Language"/>
</xs:unique>
<xs:unique name="Unique_Scale">
<xs:selector xpath="b:Resources/b:Resource"/>
<xs:field xpath="@Scale"/>
</xs:unique>
<xs:unique name="Unique_DXFeatureLevel">
<xs:selector xpath="b:Resources/b:Resource"/>
<xs:field xpath="@DXFeatureLevel"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
<xs:attribute name="IgnorableNamespaces" type="t:ST_NonEmptyString" use="optional"/>
<xs:attribute name="SchemaVersion" type="t:ST_VersionDuoOrTrio" use="required"/>
</xs:complexType>
</xs:element>
<xs:complexType name="CT_Resources">
<xs:sequence>
<xs:element name="Resource" maxOccurs="200">
<xs:complexType>
<xs:attribute name="Language" type="xs:language" use="optional"/>
<xs:attribute name="Scale" type="t:ST_Scale_2013" use="optional"/>
<xs:attribute name="DXFeatureLevel" type="t:ST_DXFeatureLevel" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>

Просмотреть файл

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://schemas.microsoft.com/appx/2013/bundle"
xmlns="http://schemas.microsoft.com/appx/2013/bundle"
xmlns:b="http://schemas.microsoft.com/appx/2013/bundle"
xmlns:t="http://schemas.microsoft.com/appx/manifest/types">
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/types" />
<!-- Root bundle element -->
<xs:element name="Bundle">
<xs:complexType>
<xs:all>
<xs:element name="Identity">
<xs:complexType>
<xs:attribute name="Name" type="t:ST_PackageName" use="required" />
<xs:attribute name="Publisher" type="t:ST_Publisher_2010_v2" use="required" />
<xs:attribute name="Version" type="t:ST_VersionQuad" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="Packages">
<xs:complexType>
<xs:sequence>
<xs:element name="Package" maxOccurs="10000">
<xs:complexType>
<xs:all>
<xs:element name="Resources" type="CT_Resources" />
</xs:all>
<xs:attribute name="Type" type="t:ST_PackageType" use="optional" default="resource" />
<xs:attribute name="Version" type="t:ST_VersionQuad" use="required" />
<xs:attribute name="Architecture" type="t:ST_ArchitectureUnrestricted" use="optional" default="neutral" />
<xs:attribute name="ResourceId" type="t:ST_ResourceId" use="optional" />
<xs:attribute name="FileName" type="t:ST_FileName" use="required" />
<xs:attribute name="Offset" type="xs:unsignedLong" use="required" />
<xs:attribute name="Size" type="xs:unsignedLong" use="required" />
</xs:complexType>
<xs:unique name="Unique_Language">
<xs:selector xpath="b:Resources/b:Resource"/>
<xs:field xpath="@Language"/>
</xs:unique>
<xs:unique name="Unique_Scale">
<xs:selector xpath="b:Resources/b:Resource"/>
<xs:field xpath="@Scale"/>
</xs:unique>
<xs:unique name="Unique_DXFeatureLevel">
<xs:selector xpath="b:Resources/b:Resource"/>
<xs:field xpath="@DXFeatureLevel"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
<xs:attribute name="IgnorableNamespaces" type="t:ST_NonEmptyString" use="optional"/>
<xs:attribute name="SchemaVersion" type="t:ST_VersionDuoOrTrio" use="required"/>
</xs:complexType>
</xs:element>
<xs:complexType name="CT_Resources">
<xs:sequence>
<xs:element name="Resource" maxOccurs="200">
<xs:complexType>
<xs:attribute name="Language" type="xs:language" use="optional"/>
<xs:attribute name="Scale" type="t:ST_Scale_All" use="optional"/>
<xs:attribute name="DXFeatureLevel" type="t:ST_DXFeatureLevel" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>

Просмотреть файл

@ -0,0 +1,511 @@
<?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 RS2 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"
xmlns:com2="http://schemas.microsoft.com/appx/manifest/com/windows10/2"
>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/types"/>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/foundation/windows10"/>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/com/windows10/2"/>
<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:ExtensionChoice">
<xs:complexType>
<xs:choice minOccurs="0">
<xs:element name="ComServer" type="CT_ComServer" maxOccurs="1">
<!-- Class/@AutoConvertTo, ProgId/@Clsid and TreatAsClass/@TreatAs refers to ExeServer/Class/@Id | SurrogateServer/Class/@Id | TreatAsClass/@Id-->
<xs:key name="Class_Or_TreatAsClass_IdKey">
<xs:selector xpath="com:ExeServer/com:Class | com:SurrogateServer/com:Class | com:TreatAsClass"/>
<xs:field xpath="@Id"/>
</xs:key>
<xs:keyref name="ProgId_ClsidRef" refer="Class_Or_TreatAsClass_IdKey">
<xs:selector xpath="com:ProgId"/>
<xs:field xpath="@Clsid"/>
</xs:keyref>
<xs:keyref name="TreatAsRef" refer="Class_Or_TreatAsClass_IdKey">
<xs:selector xpath="com:TreatAsClass"/>
<xs:field xpath="@TreatAs"/>
</xs:keyref>
<xs:keyref name="AutoConvertToRef" refer="Class_Or_TreatAsClass_IdKey">
<xs:selector xpath="com:ExeServer/com:Class | com:SurrogateServer/com:Class | com:TreatAsClass"/>
<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="@VersionIndependentProgId"/>
</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_ExtensionCategory_Com" use="required"/>
<xs:attributeGroup ref="t:ExtensionBaseAttributes"/>
</xs:complexType>
</xs:element>
<xs:complexType name="CT_ComServer">
<xs:sequence>
<xs:element ref="ExeServer" minOccurs="0" maxOccurs="1000"/>
<xs:element ref="SurrogateServer" minOccurs="0" maxOccurs="1000"/>
<xs:element ref="TreatAsClass" minOccurs="0" maxOccurs="10000"/>
<xs:element ref="ProgId" minOccurs="0" maxOccurs="10000"/>
</xs:sequence>
</xs:complexType>
<xs:element name="ExeServer" type="CT_ExeServer" />
<xs:element name="SurrogateServer" type="CT_SurrogateServer" />
<xs:element name="TreatAsClass" type="CT_TreatAsClass" />
<xs:element name="ProgId" type="CT_ProgId" />
<xs:complexType name="CT_ComInterface">
<xs:sequence>
<xs:element ref="ProxyStub" minOccurs="0" maxOccurs="1000"/>
<xs:element ref="Interface" minOccurs="0" maxOccurs="10000"/>
<xs:element ref="TypeLib" minOccurs="0" maxOccurs="1000"/>
</xs:sequence>
</xs:complexType>
<xs:element name="ProxyStub" type="CT_ProxyStub">
<xs:unique name="ProxyStubDll_ProcessorArchitecture">
<xs:selector xpath="com2:ProxyStubDll"/>
<xs:field xpath="@ProcessorArchitecture"/>
</xs:unique>
<xs:unique name="ProxyStubDll_Path">
<xs:selector xpath="com2:ProxyStubDll"/>
<xs:field xpath="@Path"/>
</xs:unique>
</xs:element>
<xs:element name="Interface" type="CT_Interface"/>
<xs:element name="TypeLib" type="CT_TypeLib">
<xs:unique name="Version_VersionNumber">
<xs:selector xpath="com:Version"/>
<xs:field xpath="@VersionNumber"/>
</xs:unique>
</xs:element>
<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_ExecutableAnyCase" 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="t:ST_ProgId"/>
<xs:attribute name="VersionIndependentProgId" type="t: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: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:positiveInteger"/>
</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_ExecutableAnyCase"/>
<xs:attribute name="DisplayName" type="t:ST_DisplayName" />
<xs:attribute name="LaunchAndActivationPermission" type="ST_Permissions" />
<xs:attribute name="AppId" type="t:ST_GUID" />
<xs:attribute name="SystemSurrogate" type="ST_SystemSurrogate" />
</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:sequence>
<xs:element ref="com2:ProxyStubDll" minOccurs="0" maxOccurs="4"/>
</xs:sequence>
<xs:attribute name="Path" type="t:ST_FileName" use="optional"/>
</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:attribute name="DisplayName" type="t:ST_DisplayName"/>
</xs:complexType>
<xs:complexType name="CT_TypeLibPath">
<xs:attribute name="Path" type="t:ST_FileName" use="required"/>
<xs:attribute name="ResourceId" type="xs:positiveInteger" use="optional"/>
</xs:complexType>
<xs:complexType name="CT_ProgId">
<xs:attribute name="Id" type="t:ST_ProgId" use="required"/>
<xs:attribute name="Clsid" type="t:ST_GUID"/>
<xs:attribute name="CurrentVersion " type="t: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:attribute name="AutoConvertTo" type="t:ST_GUID"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="ST_Version">
<xs:restriction base="xs:string">
<xs:pattern value="(0|[1-9a-fA-F][0-9a-fA-F]{0,3})\.(0|[1-9a-fA-F][0-9a-fA-F]{0,3})"/>
</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:[PARI]*(\([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_SystemSurrogate">
<xs:restriction base="xs:string">
<xs:enumeration value="PreviewHost"/>
</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:string">
<xs:pattern value="[0-9a-fA-F]"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>

Просмотреть файл

@ -0,0 +1,86 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- @@BEGIN_SDKSPLIT
RS1 DESKTOP MANIFEST SCHEMA
This is the Schema that defines elements and attributes for the Universal App
Platform features in RS1. These types are imported into the Foundation
schema and included in products that support UAP.
!!!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/desktop/windows10"
xmlns="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
xmlns:t="http://schemas.microsoft.com/appx/manifest/types"
xmlns:f="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/types"/>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/foundation/windows10"/>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"/>
<xs:element name="Extension" substitutionGroup="f:ApplicationExtensionChoice">
<xs:complexType>
<xs:choice minOccurs="0">
<xs:element name="FullTrustProcess" type="CT_FullTrustProcess"/>
<xs:element name="StartupTask" type="CT_StartupTask"/>
<xs:element name="ToastNotificationActivation" type="CT_ToastNotificationActivation"/>
<xs:element name="SearchProtocolHandler" type="CT_SearchProtocolHandler"/>
</xs:choice>
<xs:attribute name="Category" type="t:ST_ApplicationExtensionCategory_Desktop" use="required"/>
<xs:attributeGroup ref="t:ExtensionBaseAttributes"/>
</xs:complexType>
<xs:unique name="FullTrustProcessParameterGroup_GroupId">
<xs:selector xpath="desktop:FullTrustProcess/desktop:ParameterGroup"/>
<xs:field xpath="@GroupId"/>
</xs:unique>
</xs:element>
<xs:complexType name="CT_FullTrustProcess">
<xs:sequence>
<xs:element name="ParameterGroup" minOccurs="0" maxOccurs="1000">
<xs:complexType>
<xs:attribute name="GroupId" type="xs:string" use="required"/>
<xs:attribute name="Parameters" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_StartupTask">
<xs:attribute name="TaskId" type="t:ST_NonEmptyString" use="required"/>
<xs:attribute name="Enabled" type="xs:boolean" use="optional"/>
<xs:attribute name="DisplayName" type="t:ST_DisplayName" use="optional"/>
</xs:complexType>
<xs:complexType name="CT_ToastNotificationActivation">
<xs:attribute name="ToastActivatorCLSID" type="t:ST_GUID" use="required"/>
</xs:complexType>
<xs:complexType name="CT_SearchProtocolHandler">
<xs:sequence>
<xs:element name="SearchProtocol" maxOccurs="100">
<xs:complexType>
<xs:attribute name="ProtocolName" type="t:ST_AlphaNumericString" use="required"/>
<xs:attribute name="ProtocolActivatorCLSID" type="t:ST_GUID" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="ExecutionAlias" substitutionGroup="uap3:ExecutionAliasChoice">
<xs:complexType>
<xs:attribute name="Alias" type="t:ST_ExecutableNoPath" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>

Просмотреть файл

@ -0,0 +1,437 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- @@BEGIN_SDKSPLIT
THRESHOLD FOUNDATION MANIFEST SCHEMA
This is the Schema that defines basic elements and attributes for all Windows
Store apps. Other platform-specific schemas will be imported into this one
based on the platforms that each product supports.
!!!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/foundation/windows10"
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:t="http://schemas.microsoft.com/appx/manifest/types"
xmlns:f="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
xmlns:uap4="http://schemas.microsoft.com/appx/manifest/uap/windows10/4"
xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5"
xmlns:uap6="http://schemas.microsoft.com/appx/manifest/uap/windows10/6"
xmlns:wincap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/windowscapabilities"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
xmlns:phone="http://schemas.microsoft.com/appx/2014/phone/manifest"
xmlns:serverpreview="http://schemas.microsoft.com/appx/manifest/serverpreview/windows10"
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
xmlns:iot2="http://schemas.microsoft.com/appx/manifest/iot/windows10/2"
xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10"
xmlns:com2="http://schemas.microsoft.com/appx/manifest/com/windows10/2"
xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
xmlns:desktop4="http://schemas.microsoft.com/appx/manifest/desktop/windows10/4"
>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/types"/>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/uap/windows10"/>
<xs:import namespace="http://schemas.microsoft.com/appx/2014/phone/manifest"/>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/uap/windows10/4"/>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/uap/windows10/5"/>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/uap/windows10/6"/>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/iot/windows10/2"/>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/desktop/windows10/4"/>
<xs:element name="Package">
<xs:complexType>
<xs:all>
<xs:element name="Identity" type="CT_Identity"/>
<xs:element ref="phone:PhoneIdentity" minOccurs="0"/>
<xs:element name="Properties" type="CT_Properties"/>
<xs:element name="Resources" type="CT_Resources" minOccurs="0"/>
<xs:element name="Dependencies" type="CT_Dependencies"/>
<xs:element name="Capabilities" type="CT_Capabilities" minOccurs="0"/>
<xs:element name="Extensions" type="CT_PackageExtensions" minOccurs="0"/>
<xs:element name="Applications" type="CT_Applications" minOccurs="0"/>
<xs:element ref="ComExtensions" minOccurs="0"/>
</xs:all>
<xs:attribute name="IgnorableNamespaces" type="t:ST_NonEmptyString" use="optional"/>
</xs:complexType>
<xs:unique name="Resource_Language">
<xs:selector xpath="f:Resources/f:Resource"/>
<xs:field xpath="@Language"/>
</xs:unique>
<xs:unique name="Resource_Scale">
<xs:selector xpath="f:Resources/f:Resource"/>
<xs:field xpath="@uap:Scale"/>
</xs:unique>
<xs:unique name="Resource_DXFeatureLevel">
<xs:selector xpath="f:Resources/f:Resource"/>
<xs:field xpath="@uap:DXFeatureLevel"/>
</xs:unique>
<xs:unique name="Application_Id">
<xs:selector xpath="f:Applications/f:Application"/>
<xs:field xpath="@Id"/>
</xs:unique>
<xs:unique name="Capability_Name">
<xs:selector xpath="f:Capabilities/f:Capability | f:Capabilities/uap:Capability | f:Capabilities/wincap:Capability | f:Capabilities/rescap:Capability"/>
<xs:field xpath="@Name"/>
</xs:unique>
<xs:unique name="DeviceCapability_Name">
<xs:selector xpath="f:Capabilities/f:DeviceCapability"/>
<xs:field xpath="@Name"/>
</xs:unique>
<xs:unique name="CustomCapability_Name">
<xs:selector xpath="f:Capabilities/uap4:CustomCapability"/>
<xs:field xpath="@Name"/>
</xs:unique>
<xs:unique name="Extension_FileType_Name">
<xs:selector xpath="f:Applications/f:Application/f:Extensions/uap:Extension/uap:FileTypeAssociation"/>
<xs:field xpath="@Name"/>
</xs:unique>
<xs:unique name="Extension_FileType">
<xs:selector xpath="f:Applications/f:Application/f:Extensions/uap:Extension/uap:FileTypeAssociation/uap:SupportedFileTypes/uap:FileType"/>
<xs:field xpath="."/>
</xs:unique>
<xs:unique name="Extension_Protocol">
<xs:selector xpath="f:Applications/f:Application/f:Extensions/uap:Extension/uap:Protocol"/>
<xs:field xpath="@Name"/>
</xs:unique>
<xs:unique name="Extension_DialProtocol">
<xs:selector xpath="f:Applications/f:Application/f:Extensions/uap:Extension/uap:DialProtocol"/>
<xs:field xpath="@Name"/>
</xs:unique>
<xs:unique name="Extension_StartupTask">
<xs:selector xpath="f:Applications/f:Application/f:Extensions/desktop:Extension/desktop:StartupTask"/>
<xs:field xpath="@TaskId"/>
</xs:unique>
<xs:unique name="Extension_AppExecutionAlias">
<xs:selector xpath="f:Applications/f:Application/uap3:Extensions/uap3:Extension/uap3:AppExecutionAlias/desktop:ExecutionAlias"/>
<xs:field xpath="@Alias"/>
</xs:unique>
<xs:unique name="Class_Id">
<xs:selector xpath="f:Applications/f:Application/f:Extensions/com:Extension/com:ComServer/com:ExeServer/com:Class | f:Applications/f:Application/f:Extensions/com:Extension/com:ComServer/com:SurrogateServer/com:Class | f:Applications/f:Application/f:Extensions/com:Extension/com:ComServer/com:TreatAsClass | f:Applications/f:Application/f:Extensions/com:Extension/com:ComInterface/com:ProxyStub | f:Extensions/com:Extension/com:ComInterface/com:ProxyStub | f:Applications/f:Application/f:Extensions/com2:Extension/com2:ComServer/com:ExeServer/com:Class | f:Applications/f:Application/f:Extensions/com2:Extension/com2:ComServer/com:SurrogateServer/com:Class | f:Applications/f:Application/f:Extensions/com2:Extension/com2:ComServer/com:TreatAsClass | f:Applications/f:Application/f:Extensions/com2:Extension/com2:ComInterface/com:ProxyStub | f:Extensions/com2:Extension/com2:ComInterface/com:ProxyStub"/>
<xs:field xpath="@Id"/>
</xs:unique>
<xs:unique name="ProgId_Id">
<xs:selector xpath="f:Applications/f:Application/f:Extensions/com:Extension/com:ComServer/com:ProgId | f:Applications/f:Application/f:Extensions/com2:Extension/com2:ComServer/com:ProgId"/>
<xs:field xpath="@Id"/>
</xs:unique>
<xs:unique name="Interface_Id">
<xs:selector xpath="f:Applications/f:Application/f:Extensions/com:Extension/com:ComInterface/com:Interface | f:Extensions/com:Extension/com:ComInterface/com:Interface | f:Applications/f:Application/f:Extensions/com2:Extension/com2:ComInterface/com:Interface | f:Extensions/com2:Extension/com2:ComInterface/com:Interface"/>
<xs:field xpath="@Id"/>
</xs:unique>
<xs:unique name="TypeLib_Id">
<xs:selector xpath="f:Applications/f:Application/f:Extensions/com:Extension/com:ComInterface/com:TypeLib | f:Extensions/com:Extension/com:ComInterface/com:TypeLib | f:Applications/f:Application/f:Extensions/com2:Extension/com2:ComInterface/com:TypeLib | f:Extensions/com2:Extension/com2:ComInterface/com:TypeLib"/>
<xs:field xpath="@Id"/>
</xs:unique>
<xs:unique name="SurrogateServer_AppId">
<xs:selector xpath="f:Applications/f:Application/f:Extensions/com:Extension/com:ComServer/com:SurrogateServer | f:Applications/f:Application/f:Extensions/com2:Extension/com2:ComServer/com:SurrogateServer"/>
<xs:field xpath="@AppId"/>
</xs:unique>
</xs:element>
<xs:element name="ComExtensions" abstract="true"/>
<xs:complexType name="CT_Identity">
<xs:attribute name="Name" type="t:ST_PackageName" use="required"/>
<xs:attribute name="ProcessorArchitecture" type="t:ST_Architecture_v2" use="optional"/>
<xs:attribute name="Publisher" type="t:ST_Publisher_2010_v2" use="required"/>
<xs:attribute name="Version" type="t:ST_VersionQuad" use="required"/>
<xs:attribute name="ResourceId" type="t:ST_ResourceId" use="optional"/>
</xs:complexType>
<xs:complexType name="CT_Properties">
<xs:all>
<xs:element name="Framework" type="xs:boolean" minOccurs="0"/>
<xs:element name="DisplayName" type="t:ST_DisplayName"/>
<xs:element name="PublisherDisplayName" type="t:ST_DisplayName"/>
<xs:element name="Description" type="t:ST_Description" minOccurs="0"/>
<xs:element name="Logo" type="t:ST_ImageFile"/>
<xs:element name="ResourcePackage" type="xs:boolean" minOccurs="0"/>
<xs:element ref="uap:SupportedUsers" minOccurs="0"/>
<xs:element ref="uap6:AllowExecution" minOccurs="0"/>
</xs:all>
</xs:complexType>
<xs:complexType name="CT_Resources">
<xs:sequence>
<xs:element name="Resource" minOccurs="0" maxOccurs="200">
<xs:complexType>
<xs:attribute name="Language" type="xs:language" use="optional"/>
<xs:attribute ref="uap:Scale" use="optional"/>
<xs:attribute ref="uap:DXFeatureLevel" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_Dependencies">
<xs:sequence>
<xs:element name="TargetDeviceFamily" maxOccurs="128">
<xs:complexType>
<xs:attribute name="Name" type="t:ST_AsciiIdentifier" use="required"/>
<xs:attribute name="MinVersion" type="t:ST_VersionQuad" use="required"/>
<xs:attribute name="MaxVersionTested" type="t:ST_VersionQuad" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="PackageDependency" minOccurs="0" maxOccurs="128">
<xs:complexType>
<xs:attribute name="Name" type="t:ST_PackageName" use="required"/>
<xs:attribute name="Publisher" type="t:ST_Publisher_2010_v2" use="required"/>
<xs:attribute name="MinVersion" type="t:ST_VersionQuad" use="required"/>
<xs:attribute name="MaxMajorVersionTested" type="xs:unsignedShort" use="optional"/>
<xs:attribute ref="uap6:Optional" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element ref="MainPackageDependencyChoice" minOccurs="0" maxOccurs="1"/>
<xs:element ref="MainPackageDependencyChoice2" minOccurs="0" maxOccurs="1000"/>
<xs:element ref="uap5:DriverDependency" minOccurs="0" maxOccurs="1000"/>
</xs:sequence>
</xs:complexType>
<xs:element name="MainPackageDependencyChoice" abstract="true"/>
<xs:element name="MainPackageDependencyChoice2" abstract="true"/>
<xs:complexType name="CT_Capabilities">
<xs:sequence>
<xs:element ref="CapabilityChoice" minOccurs="0" maxOccurs="100"/>
<xs:element ref="CustomCapabilityChoice" minOccurs="0" maxOccurs="1000"/>
<xs:element ref="DeviceCapability" minOccurs="0" maxOccurs="1000"/>
</xs:sequence>
</xs:complexType>
<xs:element name="CapabilityChoice" abstract="true"/>
<xs:element name="Capability" substitutionGroup="CapabilityChoice">
<xs:complexType>
<xs:attribute name="Name" type="t:ST_Capability_Foundation" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="CustomCapabilityChoice" abstract="true"/>
<xs:element name="DeviceCapability">
<xs:complexType>
<xs:sequence>
<xs:element name="Device" type="CT_Device" minOccurs="0" maxOccurs="100"/>
<xs:element ref="AdditionalDeviceChoice" minOccurs="0" maxOccurs="10000"/>
</xs:sequence>
<xs:attribute name="Name" type="t:ST_DeviceCapability" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="AdditionalDeviceChoice" abstract="true"/>
<xs:complexType name="CT_Device">
<xs:sequence>
<xs:element name="Function" maxOccurs="100">
<xs:complexType>
<xs:attribute name="Type" type="t:ST_DeviceFunction_Foundation" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="t:ST_DeviceId" use="required"/>
</xs:complexType>
<xs:complexType name="CT_PackageExtensions">
<xs:choice minOccurs="0" maxOccurs="10000">
<xs:element name="Extension" maxOccurs="10000">
<xs:complexType>
<xs:choice>
<xs:element name="InProcessServer" type="CT_InProcessServer"/>
<xs:element name="OutOfProcessServer" type="CT_OutOfProcessServer"/>
<xs:element name="ProxyStub" type="CT_ProxyStub"/>
<xs:element name="Certificates" type="CT_Certificates"/>
<xs:element name="PublisherCacheFolders" type="CT_PublisherCacheFolders"/>
</xs:choice>
<xs:attribute name="Category" type="t:ST_PackageExtensionCategory_Foundation" use="required"/>
</xs:complexType>
</xs:element>
<xs:element ref="ExtensionChoice"/>
</xs:choice>
</xs:complexType>
<xs:complexType name="CT_InProcessServer">
<xs:sequence>
<xs:element name="Path" type="t:ST_FileName"/>
<xs:element name="ActivatableClass" type="CT_InProcessActivatableClass" maxOccurs="65535"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_InProcessActivatableClass">
<xs:sequence>
<xs:element name="ActivatableClassAttribute" type="t:CT_ActivatableClassAttribute" minOccurs="0" maxOccurs="1000"/>
</xs:sequence>
<xs:attribute name="ActivatableClassId" type="t:ST_ActivatableClassId" use="required"/>
<xs:attribute name="ThreadingModel" type="t:ST_ThreadingModel" use="required"/>
</xs:complexType>
<xs:complexType name="CT_OutOfProcessServer">
<xs:sequence>
<xs:element name="Path" type="t:ST_ExecutableAnyCase"/>
<xs:element name="Arguments" type="t:ST_NonEmptyString" minOccurs="0"/>
<xs:element name="Instancing" type="t:ST_Instancing"/>
<xs:element name="ActivatableClass" type="CT_OutOfProcessActivatableClass" maxOccurs="65535"/>
</xs:sequence>
<xs:attribute name="ServerName" type="t:ST_AsciiWindowsId" use="required"/>
<xs:attributeGroup ref="uap5:OutOfProcessServerFullTrustAttributes"/>
</xs:complexType>
<xs:complexType name="CT_OutOfProcessActivatableClass">
<xs:sequence>
<xs:element name="ActivatableClassAttribute" type="t:CT_ActivatableClassAttribute" minOccurs="0" maxOccurs="1000"/>
</xs:sequence>
<xs:attribute name="ActivatableClassId" type="t:ST_ActivatableClassId" use="required"/>
</xs:complexType>
<xs:complexType name="CT_ProxyStub">
<xs:sequence>
<xs:element name="Path" type="t:ST_FileName" />
<xs:element name="Interface" type="t:CT_Interface_Foundation" maxOccurs="65535"/>
</xs:sequence>
<xs:attribute name="ClassId" type="t:ST_GUID" use="required"/>
</xs:complexType>
<xs:complexType name="CT_Certificates">
<xs:sequence>
<xs:element name="Certificate" type="t:CT_CertificateContent" minOccurs="0" maxOccurs="100"/>
<xs:element name="TrustFlags" type="t:CT_CertificateTrustFlags" minOccurs="0"/>
<xs:element name="SelectionCriteria" type="t:CT_CertificateSelectionCriteria" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_PublisherCacheFolders">
<xs:sequence>
<xs:element name="Folder" minOccurs="1" maxOccurs="100">
<xs:complexType>
<xs:attribute name="Name" type="t:ST_FileNameSegment" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_Applications">
<xs:sequence>
<xs:element name="Application" maxOccurs="100">
<xs:complexType>
<xs:all>
<xs:element ref="VisualElementsChoice"/>
<xs:element ref="uap:ApplicationContentUriRules" minOccurs="0"/>
<xs:element name="Extensions" type="CT_ApplicationExtensions" minOccurs="0"/>
</xs:all>
<xs:attribute name="Id" type="t:ST_ApplicationId" use="required"/>
<xs:attribute name="Executable" type="t:ST_ExecutableAnyCase" use="optional"/>
<xs:attribute name="EntryPoint" type="t:ST_EntryPoint" use="optional"/>
<xs:attribute name="StartPage" type="t:ST_ApplicationStartPage" use="optional"/>
<xs:attribute name="ResourceGroup" type="t:ST_AsciiWindowsId" use="optional"/>
<xs:attribute ref="desktop4:Subsystem" use="optional"/>
<xs:attribute ref="iot2:Subsystem" use="optional"/>
<xs:attribute ref="desktop4:SupportsMultipleInstances" use="optional"/>
<xs:attribute ref="iot2:SupportsMultipleInstances" use="optional"/>
</xs:complexType>
<xs:unique name="ApplicationContentUrisRule_Match">
<xs:selector xpath="uap:ApplicationContentUriRules/uap:Rule"/>
<xs:field xpath="@Match"/>
</xs:unique>
<xs:unique name="ShareTarget_FileType">
<xs:selector xpath="f:Extensions/uap:Extension/uap:ShareTarget/uap:SupportedFileTypes/uap:FileType"/>
<xs:field xpath="."/>
</xs:unique>
<xs:unique name="ShareTarget_DataFormat">
<xs:selector xpath="f:Extensions/uap:Extension/uap:ShareTarget/uap:DataFormat"/>
<xs:field xpath="."/>
</xs:unique>
<xs:unique name="FileOpenPicker_FileType">
<xs:selector xpath="f:Extensions/uap:Extension/uap:FileOpenPicker/uap:SupportedFileTypes/uap:FileType"/>
<xs:field xpath="."/>
</xs:unique>
<xs:unique name="FileSavePicker_FileType">
<xs:selector xpath="f:Extensions/uap:Extension/uap:FileSavePicker/uap:SupportedFileTypes/uap:FileType"/>
<xs:field xpath="."/>
</xs:unique>
<xs:unique name="AutoPlay_ContentVerb">
<xs:selector xpath="f:Extensions/uap:Extension/uap:AutoPlayContent/uap:LaunchAction"/>
<xs:field xpath="@Verb"/>
</xs:unique>
<xs:unique name="AutoPlay_DeviceVerb">
<xs:selector xpath="f:Extensions/uap:Extension/uap:AutoPlayDevice/uap:LaunchAction"/>
<xs:field xpath="@Verb"/>
</xs:unique>
<xs:unique name="MediaCodec_AppServiceName">
<xs:selector xpath="f:Extensions/uap4:Extension/uap4:MediaCodec"/>
<xs:field xpath="@AppServiceName"/>
</xs:unique>
<xs:key name="ComServer_Class_IdKey">
<xs:selector xpath="f:Extensions/com:Extension/com:ComServer/com:SurrogateServer/com:Class | f:Extensions/com:Extension/com:ComServer/com:ExeServer/com:Class | f:Extensions/com:Extension/com:ComServer/com:TreatAsClass | f:Extensions/com2:Extension/com2:ComServer/com:SurrogateServer/com:Class | f:Extensions/com2:Extension/com2:ComServer/com:ExeServer/com:Class | f:Extensions/com2:Extension/com2:ComServer/com:TreatAsClass"/>
<xs:field xpath="@Id"/>
</xs:key>
<xs:key name="ComServer_SurrogateServer_Class_IdKey">
<xs:selector xpath="f:Extensions/com:Extension/com:ComServer/com:SurrogateServer/com:Class | f:Extensions/com2:Extension/com2:ComServer/com:SurrogateServer/com:Class"/>
<xs:field xpath="@Id"/>
</xs:key>
<xs:keyref name="ThumbnailHandlerRef" refer="ComServer_SurrogateServer_Class_IdKey">
<xs:selector xpath="f:Extensions/uap:Extension/uap:FileTypeAssociation/desktop2:ThumbnailHandler | f:Extensions/uap:Extension/uap3:FileTypeAssociation/desktop2:ThumbnailHandler | f:Extensions/uap3:Extension/uap3:FileTypeAssociation/desktop2:ThumbnailHandler"/>
<xs:field xpath="@Clsid"/>
</xs:keyref>
<xs:keyref name="DesktopPreviewHandlerRef" refer="ComServer_Class_IdKey">
<xs:selector xpath="f:Extensions/uap:Extension/uap:FileTypeAssociation/desktop2:DesktopPreviewHandler | f:Extensions/uap:Extension/uap3:FileTypeAssociation/desktop2:DesktopPreviewHandler | f:Extensions/uap3:Extension/uap3:FileTypeAssociation/desktop2:DesktopPreviewHandler"/>
<xs:field xpath="@Clsid"/>
</xs:keyref>
<xs:keyref name="DesktopPropertyHandlerRef" refer="ComServer_SurrogateServer_Class_IdKey">
<xs:selector xpath="f:Extensions/uap:Extension/uap:FileTypeAssociation/desktop2:DesktopPropertyHandler | f:Extensions/uap:Extension/uap3:FileTypeAssociation/desktop2:DesktopPropertyHandler | f:Extensions/uap3:Extension/uap3:FileTypeAssociation/desktop2:DesktopPropertyHandler"/>
<xs:field xpath="@Clsid"/>
</xs:keyref>
<xs:keyref name="OleClassRef" refer="ComServer_Class_IdKey">
<xs:selector xpath="f:Extensions/uap:Extension/uap:FileTypeAssociation/desktop2:OleClass | f:Extensions/uap:Extension/uap3:FileTypeAssociation/desktop2:OleClass | f:Extensions/uap3:Extension/uap3:FileTypeAssociation/desktop2:OleClass"/>
<xs:field xpath="@Clsid"/>
</xs:keyref>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="VisualElementsChoice" abstract="true"/>
<xs:complexType name="CT_ApplicationExtensions">
<xs:choice minOccurs="0" maxOccurs="10000">
<xs:element ref="ApplicationExtensionChoice"/>
<xs:element ref="ExtensionChoice"/>
</xs:choice>
</xs:complexType>
<xs:element name="ExtensionChoice" abstract="true"/>
<xs:element name="ApplicationExtensionChoice" abstract="true"/>
<xs:element name="Extension" substitutionGroup="ApplicationExtensionChoice">
<xs:complexType>
<xs:choice minOccurs="0">
<xs:element name="BackgroundTasks" type="CT_BackgroundTasks"/>
</xs:choice>
<xs:attribute name="Category" type="t:ST_ApplicationExtensionCategory_Foundation" use="required"/>
<xs:attributeGroup ref="t:ExtensionBaseAttributes"/>
</xs:complexType>
<xs:unique name="BackgroundTasks_Type">
<xs:selector xpath="f:BackgroundTasks/f:Task | f:BackgroundTasks/uap:Task"/>
<xs:field xpath="@Type"/>
</xs:unique>
</xs:element>
<xs:complexType name="CT_BackgroundTasks">
<xs:sequence>
<xs:element ref="BackgroundTaskChoice" minOccurs="0" maxOccurs="17"/>
</xs:sequence>
<xs:attribute name="ServerName" type="t:ST_AsciiWindowsId" use="optional"/>
<xs:attribute ref="uap4:SupportsMultipleInstances" use="optional"/>
</xs:complexType>
<xs:element name="BackgroundTaskChoice" abstract="true"/>
<xs:element name="Task" substitutionGroup="BackgroundTaskChoice">
<xs:complexType>
<xs:attribute name="Type" type="t:ST_BackgroundTasks_Foundation" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>

Просмотреть файл

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- @@BEGIN_SDKSPLIT
THRESHOLD V2 FOUNDATION MANIFEST SCHEMA
This schema extends the elements that are available in the TH Foundation 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/foundation/windows10/2"
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10/2"
xmlns:t="http://schemas.microsoft.com/appx/manifest/types"
xmlns:f="http://schemas.microsoft.com/appx/manifest/foundation/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="Device" type="CT_Device" substitutionGroup="f:AdditionalDeviceChoice"/>
<xs:complexType name="CT_Device">
<xs:sequence>
<xs:element name="Function" maxOccurs="10000">
<xs:complexType>
<xs:attribute name="Type" type="t:ST_DeviceFunction_Foundation" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="t:ST_DeviceId" use="required"/>
</xs:complexType>
</xs:schema>

Просмотреть файл

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- @@BEGIN_SDKSPLIT
THRESHOLD HOLOGRAPHIC MANIFEST SCHEMA
This is the Schema that defines elements and attributes for the Holographic
Platform features in Thresold. These types are imported into the Foundation
schema and included in products that support Holographic.
!!!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/holographic/windows10"
xmlns="http://schemas.microsoft.com/appx/manifest/holographic/windows10"
xmlns:t="http://schemas.microsoft.com/appx/manifest/types"
xmlns:u="http://schemas.microsoft.com/appx/manifest/uap/windows10"
>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/types"/>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/uap/windows10"/>
<xs:element name="HoloContent" substitutionGroup="u:HoloContentChoice" type="t:ST_FileName"/>
</xs:schema>

Просмотреть файл

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- @@BEGIN_SDKSPLIT
THRESHOLD IOT MANIFEST SCHEMA
This is the Schema that defines elements and attributes for the IoT
Platform features in Thresold. These types are imported into the Foundation
schema and included in products that support IoT.
!!!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/iot/windows10"
xmlns="http://schemas.microsoft.com/appx/manifest/iot/windows10"
xmlns:t="http://schemas.microsoft.com/appx/manifest/types"
xmlns:f="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:iot="http://schemas.microsoft.com/appx/manifest/iot/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="Capability" substitutionGroup="f:CapabilityChoice">
<xs:complexType>
<xs:attribute name="Name" type="t:ST_Capability_Iot" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Task" substitutionGroup="f:BackgroundTaskChoice">
<xs:complexType>
<xs:attribute name="Type" type="t:ST_BackgroundTasks_Iot" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>

Просмотреть файл

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- @@BEGIN_SDKSPLIT
THRESHOLD MOBILE MANIFEST SCHEMA
This is the Schema that defines elements and attributes for the Mobile
Platform features in Thresold. These types are imported into the Foundation
schema and included in products that support Mobile.
!!!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/mobile/windows10"
xmlns="http://schemas.microsoft.com/appx/manifest/mobile/windows10"
xmlns:t="http://schemas.microsoft.com/appx/manifest/types"
xmlns:f="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:mobile="http://schemas.microsoft.com/appx/manifest/mobile/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="Capability" substitutionGroup="f:CapabilityChoice">
<xs:complexType>
<xs:attribute name="Name" type="t:ST_Capability_Mobile" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Extension" substitutionGroup="f:ApplicationExtensionChoice">
<xs:complexType>
<xs:choice minOccurs="0">
<xs:element name="AowApp" type="CT_AowApp" />
<xs:element name="MobileMultiScreenProperties" type="CT_MultiScreen"/>
</xs:choice>
<xs:attribute name="Category" type="t:ST_ApplicationExtensionCategory_Mobile" use="required" />
<xs:attributeGroup ref="t:ExtensionBaseAttributes"/>
</xs:complexType>
</xs:element>
<xs:complexType name="CT_AowApp">
<xs:all>
<xs:element name="PayloadName" type="t:ST_NonEmptyString" minOccurs="1"/>
<xs:element name="PayloadVersion" type="t:ST_NonEmptyString" minOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:complexType name="CT_MultiScreen">
<xs:attribute name="RestrictToInternalScreen" type="xs:boolean"/>
</xs:complexType>
</xs:schema>

Просмотреть файл

@ -0,0 +1,70 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- @@BEGIN_SDKSPLIT
THRESHOLD RESTRICED CAPABILITIES MANIFEST SCHEMA
This is the Schema that defines elements and attributes for the Universal App
Platform features in Thresold. These types are imported into the Foundation
schema and included in products that support UAP.
!!!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/foundation/windows10/restrictedcapabilities"
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
xmlns:t="http://schemas.microsoft.com/appx/manifest/types"
xmlns:f="http://schemas.microsoft.com/appx/manifest/foundation/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="Capability" substitutionGroup="f:CapabilityChoice">
<xs:complexType>
<xs:attribute name="Name" type="t:ST_Capability_Windows_Restricted_Party" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Extension" substitutionGroup="f:ApplicationExtensionChoice">
<xs:complexType>
<xs:choice minOccurs="0">
<xs:element name="SettingsApp" type="CT_SettingsApp"/>
</xs:choice>
<xs:attribute name="Category" type="t:ST_ApplicationExtensionCategory_Restricted" use="required"/>
<xs:attributeGroup ref="t:ExtensionBaseAttributes"/>
</xs:complexType>
</xs:element>
<xs:complexType name="CT_SettingsApp">
<xs:sequence>
<xs:element name="AppLinks" type="CT_SettingsExtensionAppLinkCollection" minOccurs="0" maxOccurs="1"/>
<xs:element name="SearchTerms" type="CT_SettingsExtensionAppSearchTermsCollection" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="SettingsPageUri" type="t:ST_SettingsPageUri" use="optional"/>
<xs:attribute name="Category" type="t:ST_SettingsAppCategories" use="optional"/>
</xs:complexType>
<xs:complexType name="CT_SettingsExtensionAppLinkCollection">
<xs:sequence>
<xs:element name="Link" type="CT_SettingsExtensionAppLink" minOccurs="1" maxOccurs="5" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_SettingsExtensionAppLink">
<xs:attribute name="AppActivationMode" type="xs:string"/>
<xs:attribute name="DisplayName" type="xs:string"/>
</xs:complexType>
<xs:complexType name="CT_SettingsExtensionAppSearchTermsCollection">
<xs:sequence>
<xs:element name="Term" type="xs:string" minOccurs="0" maxOccurs="5" />
</xs:sequence>
</xs:complexType>
</xs:schema>

Просмотреть файл

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- @@BEGIN_SDKSPLIT
RS1 RESTRICTED CAPABILITIES MANIFEST SCHEMA
This is the Schema that defines elements and attributes for the Universal App
Platform features in Thresold. These types are imported into the Foundation
schema and included in products that support UAP.
!!!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/foundation/windows10/restrictedcapabilities/2"
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/2"
xmlns:t="http://schemas.microsoft.com/appx/manifest/types"
xmlns:f="http://schemas.microsoft.com/appx/manifest/foundation/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="Extension" substitutionGroup="f:ApplicationExtensionChoice">
<xs:complexType>
<xs:attribute name="Category" type="t:ST_ApplicationExtensionCategory_Restricted2" use="required"/>
<xs:attributeGroup ref="t:ExtensionBaseAttributes"/>
</xs:complexType>
</xs:element>
</xs:schema>

Просмотреть файл

@ -0,0 +1,384 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- @@BEGIN_SDKSPLIT
THRESHOLD SERVER PREVIEW MANIFEST SCHEMA
This is the Schema that defines elements and attributes for Server
features in Thresold. These types are imported into the Foundation
schema and included in products that support Server.
!!!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/serverpreview/windows10"
xmlns="http://schemas.microsoft.com/appx/manifest/serverpreview/windows10"
xmlns:t="http://schemas.microsoft.com/appx/manifest/types"
xmlns:f="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:serverpreview="http://schemas.microsoft.com/appx/manifest/serverpreview/windows10"
>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/types"/>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/foundation/windows10"/>
<!-- Application extensions in the Server Preview namespace -->
<xs:simpleType name="ST_ApplicationExtensionCategory_Server">
<xs:restriction base="xs:string">
<xs:enumeration value="windows.ntServices"/>
<xs:enumeration value="windows.wmiProviders"/>
<xs:enumeration value="windows.performanceProviders"/>
<xs:enumeration value="windows.eventProviders"/>
<xs:enumeration value="windows.iisModules"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="Extension" substitutionGroup="f:ApplicationExtensionChoice">
<xs:complexType>
<xs:choice minOccurs="0">
<xs:element name="IisModules" type="CT_IisModules" minOccurs="0"/>
<xs:element name="NTServices" type="CT_NTServices" minOccurs="0"/>
<xs:element name="WmiProviders" type="CT_WmiProviders" minOccurs="0"/>
<xs:element name="PerformanceProviders" type="CT_PerformanceProviders" minOccurs="0"/>
<xs:element name="EventProviders" type="CT_EventProviders" minOccurs="0"/>
</xs:choice>
<xs:attribute name="Category" type="ST_ApplicationExtensionCategory_Server" use="required"/>
<xs:attributeGroup ref="t:ExtensionBaseAttributes"/>
</xs:complexType>
<xs:unique name="ModuleName">
<xs:selector xpath="serverpreview:IisModules/serverpreview:IisModule" />
<xs:field xpath="@Name" />
</xs:unique>
<xs:unique name="ModuleFileName">
<xs:selector xpath="serverpreview:IisModules/serverpreview:IisModule" />
<xs:field xpath="@ModuleDll" />
</xs:unique>
<xs:unique name="ModuleSchemaName">
<xs:selector xpath="serverpreview:IisModules/serverpreview:IisModule" />
<xs:field xpath="@SchemaFileName" />
</xs:unique>
<xs:unique name="TopLevelSectionDefinitionName">
<xs:selector xpath="serverpreview:IisModules/serverpreview:IisModule/serverpreview:SectionDefinition" />
<xs:field xpath="@Name" />
</xs:unique>
<xs:unique name="ServiceName">
<xs:selector xpath="serverpreview:NTServices/serverpreview:NTService"/>
<xs:field xpath="@Name"/>
</xs:unique>
<xs:unique name="ServiceDependencyName">
<xs:selector xpath="serverpreview:NTServices/serverpreview:NTService/serverpreview:ServiceDependencies/serverpreview:ServiceDependency"/>
<xs:field xpath="@Name"/>
</xs:unique>
<xs:unique name="InstallMofName">
<xs:selector xpath="serverpreview:WmiProviders/serverpreview:WmiProvider/serverpreview:Mof"/>
<xs:field xpath="@InstallMof"/>
</xs:unique>
<xs:unique name="UninstallMofName">
<xs:selector xpath="serverpreview:WmiProviders/serverpreview:WmiProvider/serverpreview:Mof"/>
<xs:field xpath="@UninstallMof"/>
</xs:unique>
<xs:unique name="PerformanceProviderManifestName">
<xs:selector xpath="serverpreview:PerformanceProviders/serverpreview:PerformanceProvider"/>
<xs:field xpath="@ManifestFile"/>
</xs:unique>
<xs:unique name="PerformanceProviderId">
<xs:selector xpath="serverpreview:PerformanceProviders/serverpreview:PerformanceProvider"/>
<xs:field xpath="@Id"/>
</xs:unique>
<xs:unique name="EventProviderManifestName">
<xs:selector xpath="serverpreview:EventProviders/serverpreview:EventProvider"/>
<xs:field xpath="@ManifestFile"/>
</xs:unique>
<xs:unique name="EventProviderId">
<xs:selector xpath="serverpreview:EventProviders/serverpreview:EventProvider"/>
<xs:field xpath="@Id"/>
</xs:unique>
</xs:element>
<!-- TYPES used by elements in the Server Preview namespace -->
<xs:complexType name="CT_IisModule">
<xs:choice maxOccurs="100" minOccurs="0">
<xs:element name="SectionGroupDefinition" type="CT_SectionGroupDefinition" />
<xs:element name="SectionDefinition" type="CT_SectionDefinition" />
<xs:element name="SectionData" type="CT_SectionData" />
</xs:choice>
<xs:attribute name="Name" type="t:ST_NonEmptyString" use="required" />
<xs:attribute name="ModuleDll" type="ST_Dll" use="required" />
<xs:attribute name="SchemaFileName" type="ST_XML" use="optional" />
</xs:complexType>
<xs:simpleType name="ST_OverrideModeDefault">
<xs:restriction base="xs:string">
<xs:enumeration value="allow"/>
<xs:enumeration value="deny"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="CT_SectionDefinition">
<xs:attribute name="Name" type="t:ST_NonEmptyString" use="required" />
<xs:attribute name="OverrideModeDefault" type="ST_OverrideModeDefault" use="optional" />
<xs:attribute name="AllowDefinition" type="ST_AllowDefinition" use="optional" />
</xs:complexType>
<xs:complexType name="CT_SectionData">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="CollectionElement" type="CT_CollectionElement" />
<xs:element name="Attribute" type="CT_Attribute" />
</xs:choice>
<xs:attribute name="SectionPath" type="t:ST_NonEmptyString" use="required" />
<xs:attribute name="SubPath" type="t:ST_NonEmptyString" use="optional" />
</xs:complexType>
<xs:complexType name="CT_CollectionElement">
<xs:anyAttribute processContents="skip"/>
</xs:complexType>
<xs:complexType name="CT_Attribute">
<xs:attribute name="Name" type="t:ST_NonEmptyString" use="required" />
<xs:attribute name="Value" type="t:ST_NonEmptyString" use="required" />
</xs:complexType>
<xs:complexType name="CT_SectionGroupDefinition">
<xs:sequence>
<xs:element name="SectionGroupDefinition" type="CT_SectionGroupDefinition" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="SectionDefinition" type="CT_SectionDefinition" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Name" type="t:ST_NonEmptyString" use="required" />
</xs:complexType>
<xs:simpleType name="ST_AllowDefinition">
<xs:restriction base="xs:string">
<xs:enumeration value="machineOnly"/>
<xs:enumeration value="machineToRootWeb"/>
<xs:enumeration value="appHostOnly"/>
<xs:enumeration value="machineToApplication"/>
<xs:enumeration value="everywhere"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="CT_IisModules">
<xs:sequence>
<xs:element name="IisModule" type="CT_IisModule" maxOccurs="100" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_NTServices">
<xs:sequence>
<xs:element name="NTService" type="CT_NTService" maxOccurs="100"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_WmiProviders">
<xs:sequence>
<xs:element name="WmiProvider" type="CT_WmiProvider" maxOccurs="100"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_PerformanceProviders">
<xs:sequence>
<xs:element name="PerformanceProvider" type="CT_PerformanceProvider" maxOccurs="100"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_EventProviders">
<xs:sequence>
<xs:element name="EventProvider" type="CT_EventProvider" maxOccurs="100"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_NTService">
<xs:all>
<xs:element name="ServiceDependencies" type="CT_ServiceDependencies" minOccurs="0"/>
<xs:element name="ServiceParameters" type=" CT_NTServiceParameters" minOccurs="0"/>
</xs:all>
<xs:attribute name="Name" type="ST_ServiceName" use="required"/>
<xs:attribute name="Executable" type="t:ST_ExecutableAnyCase" use="required"/>
<xs:attribute name="StartupType" type="ST_ServiceStartupType" use="required"/>
<xs:attribute name="StartAccount" type="ST_StartAccount" use="required"/>
<xs:attribute name="DisplayName" type="ST_DisplayName" use="optional"/>
<xs:attribute name="StartErrorAction" type="ST_ServiceStartErrorAction" use="optional"/>
<xs:attribute name="StartParameters" type="t:ST_NonEmptyString" use="optional"/>
<xs:attribute name="Description" type="t:ST_NonEmptyString" use="optional"/>
<xs:attribute name="FailureRecoveryAction" type="ST_FailureRecoveryAction" use="optional"/>
</xs:complexType>
<xs:complexType name ="CT_ServiceDependencies">
<xs:sequence>
<xs:element name="ServiceDependency" maxOccurs="100">
<xs:complexType>
<xs:attribute name="Name" type="ST_ServiceName" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="ST_ServiceName">
<xs:restriction base="t:ST_NonEmptyString">
<xs:maxLength value="256"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_ServiceStartupType">
<xs:restriction base="xs:string">
<xs:enumeration value="auto"/>
<xs:enumeration value="manual"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_DisplayName">
<xs:restriction base="t:ST_NonEmptyString">
<xs:maxLength value="256"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_ServiceStartErrorAction">
<xs:restriction base="xs:string">
<xs:enumeration value="ignoreError"/>
<xs:enumeration value="logError"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_StartAccount">
<xs:restriction base="xs:string">
<xs:enumeration value="localSystem"/>
<xs:enumeration value="localService"/>
<xs:enumeration value="networkService"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_FailureRecoveryAction">
<xs:restriction base="xs:string">
<xs:enumeration value="none"/>
<xs:enumeration value="restartService"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="CT_NTServiceParameters">
<xs:sequence>
<xs:choice minOccurs="1" maxOccurs="100">
<xs:element name="ServiceParameterDword" type="CT_NTServiceParameterDword" minOccurs="1"/>
<xs:element name="ServiceParameterString" type="CT_NTServiceParameterString" minOccurs="1"/>
<xs:element name="ServiceParameterKey" type="CT_NTServiceParameterKey" minOccurs="1"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_NTServiceParameterKey">
<xs:attribute name="Subkey" type="t:ST_FileName" use="required"/>
</xs:complexType>
<xs:complexType name="CT_NTServiceParameterDword">
<xs:attribute name="Name" type="ST_NTServiceParameterName" use="required"/>
<xs:attribute name="Value" type="xs:unsignedInt" use="required"/>
<xs:attribute name="Subkey" type="t:ST_FileName" use="optional"/>
</xs:complexType>
<xs:complexType name="CT_NTServiceParameterString">
<xs:attribute name="Name" type="ST_NTServiceParameterName" use="required"/>
<xs:attribute name="Value" type="t:ST_NonEmptyString" use="required"/>
<xs:attribute name="Subkey" type="t:ST_FileName" use="optional"/>
</xs:complexType>
<xs:simpleType name="ST_NTServiceParameterName">
<xs:restriction base="t:ST_NonEmptyString">
<xs:maxLength value="16383"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="CT_WmiProvider">
<xs:sequence>
<xs:element name="Mof" type="CT_Mof" maxOccurs="100"/>
</xs:sequence>
<xs:attribute name="Name" type="ST_WmiName" use="required"/>
<xs:attribute name="Namespace" type="ST_WmiName" use="required"/>
<xs:attribute name="HostingSpecification" type="ST_HostingSpecification" use="required"/>
<xs:attribute name="HostingGroup" type="ST_HostingGroup" use="optional"/>
<xs:attribute name="DecoupledProviderExecutable" type="t:ST_ExecutableAnyCase" use="optional"/>
</xs:complexType>
<xs:complexType name ="CT_Mof">
<xs:attribute name="InstallMof" type="ST_Mof" use="required"/>
<xs:attribute name="UninstallMof" type="ST_Mof" use="optional"/>
</xs:complexType>
<xs:simpleType name="ST_WmiName">
<xs:restriction base="t:ST_NonEmptyString">
<xs:maxLength value="1024"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_Mof">
<xs:restriction base="t:ST_FileName">
<xs:pattern value=".+\.(mof)"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_HostingSpecification">
<xs:restriction base="xs:string">
<xs:enumeration value="selfHost"/>
<xs:enumeration value="decoupled:Com"/>
<xs:enumeration value="localSystemHost"/>
<xs:enumeration value="localSystemHostOrSelfHost"/>
<xs:enumeration value="networkServiceHost"/>
<xs:enumeration value="localServiceHost"/>
<xs:enumeration value="networkServiceHostOrSelfHost"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_HostingGroup">
<xs:restriction base="t:ST_NonEmptyString">
<xs:maxLength value="256"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="CT_PerformanceProvider">
<xs:attribute name="Id" type="t:ST_GUID" use="required"/>
<xs:attribute name="ManifestFile" type="ST_XML" use="required"/>
<xs:attribute name="ResourceFile" type="ST_ExeOrDll" use="required"/>
</xs:complexType>
<xs:simpleType name="ST_XML">
<xs:restriction base="t:ST_FileName">
<xs:pattern value=".+\.(xml)"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_ExeOrDll">
<xs:restriction base="t:ST_FileName">
<xs:pattern value=".+\.(exe|dll)"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="CT_EventProvider">
<xs:attribute name="Id" type="t:ST_GUID" use="required"/>
<xs:attribute name="ManifestFile" type="ST_MAN" use="required"/>
<xs:attribute name="ResourceFile" type="ST_ExeOrDll" use="required"/>
<xs:attribute name="MessageFile" type="ST_ExeOrDll" use="optional"/>
<xs:attribute name="ParameterFile" type="ST_ExeOrDll" use="optional"/>
</xs:complexType>
<xs:simpleType name="ST_MAN">
<xs:restriction base="t:ST_FileName">
<xs:pattern value=".+\.(man)"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_Dll">
<xs:restriction base="t:ST_FileName">
<xs:pattern value=".+\.(dll)"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>

Просмотреть файл

@ -0,0 +1,338 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- @@BEGIN_SDKSPLIT
THRESHOLD UAP MANIFEST SCHEMA
This is the Schema that defines elements and attributes for the Universal App
Platform features in Thresold. These types are imported into the Foundation
schema and included in products that support UAP.
!!!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/uap/windows10"
xmlns="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:t="http://schemas.microsoft.com/appx/manifest/types"
xmlns:f="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap4="http://schemas.microsoft.com/appx/manifest/uap/windows10/4"
xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5"
xmlns:rescap3="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3"
xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
xmlns:desktop3="http://schemas.microsoft.com/appx/manifest/desktop/windows10/3"
>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/types"/>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/foundation/windows10"/>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/uap/windows10/4"/>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/uap/windows10/5"/>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3"/>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"/>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/desktop/windows10/3"/>
<xs:attribute name="Scale" type="t:ST_Scale_All"/>
<xs:attribute name="DXFeatureLevel" type="t:ST_DXFeatureLevel"/>
<xs:element name="SupportedUsers" type="t:ST_SupportedUsers"/>
<xs:element name="Capability" substitutionGroup="f:CapabilityChoice">
<xs:complexType>
<xs:attribute name="Name" type="t:ST_Capability_Uap" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="VisualElements" type="CT_VisualElements" substitutionGroup="f:VisualElementsChoice">
<xs:unique name="InitialRotationPreference_Name">
<xs:selector xpath="uap:InitialRotationPreference/uap:Rotation"/>
<xs:field xpath="@Preference"/>
</xs:unique>
</xs:element>
<xs:complexType name="CT_VisualElements">
<xs:all>
<xs:element name="DefaultTile" type="CT_DefaultTile" minOccurs="0"/>
<xs:element name="LockScreen" type="t:CT_LockScreen" minOccurs="0"/>
<xs:element name="SplashScreen" type="CT_SplashScreen" minOccurs="0"/>
<xs:element name="InitialRotationPreference" type="CT_InitialRotationPreference" minOccurs="0"/>
</xs:all>
<xs:attribute name="DisplayName" type="t:ST_DisplayName" use="required"/>
<xs:attribute name="Description" type="t:ST_Description" use="required"/>
<xs:attribute name="BackgroundColor" type="t:ST_Color" use="required"/>
<xs:attribute name="Square150x150Logo" type="t:ST_ImageFile" use="required"/>
<xs:attribute name="Square44x44Logo" type="t:ST_ImageFile" use="required"/>
<xs:attribute name="AppListEntry" type="t:ST_AppListEntry" use="optional"/>
</xs:complexType>
<xs:complexType name="CT_DefaultTile">
<xs:all>
<xs:element name="TileUpdate" type="t:CT_TileUpdate" minOccurs="0"/>
<xs:element name="ShowNameOnTiles" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="ShowOn" maxOccurs="4">
<xs:complexType>
<xs:attribute name="Tile" type="t:ST_ShowNameSize" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:unique name="ShowOn_Tile">
<xs:selector xpath="uap:ShowOn"/>
<xs:field xpath="@Tile"/>
</xs:unique>
</xs:element>
<xs:element ref="HoloContentChoice" minOccurs="0"/>
<xs:element ref="uap5:MixedRealityModel" minOccurs="0"/>
</xs:all>
<xs:attribute name="Wide310x150Logo" type="t:ST_ImageFile" use="optional"/>
<xs:attribute name="Square310x310Logo" type="t:ST_ImageFile" use="optional"/>
<xs:attribute name="Square71x71Logo" type="t:ST_ImageFile" use="optional"/>
<xs:attribute name="ShortName" type="t:ST_ShortDisplayName" use="optional"/>
</xs:complexType>
<xs:complexType name="CT_SplashScreen">
<xs:complexContent>
<xs:extension base="t:CT_SplashScreen">
<xs:attributeGroup ref="uap5:SplashScreenAttributes"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="HoloContentChoice" abstract="true"/>
<xs:complexType name="CT_InitialRotationPreference">
<xs:sequence>
<xs:element name="Rotation" maxOccurs="4" type="t:CT_Rotation"/>
</xs:sequence>
</xs:complexType>
<xs:element name="ApplicationContentUriRules">
<xs:complexType>
<xs:sequence>
<xs:element name="Rule" maxOccurs="100">
<xs:complexType>
<xs:attribute name="Type" type="t:ST_RuleType" use="required"/>
<xs:attribute name="Match" type="t:ST_URI" use="required"/>
<xs:attribute name="WindowsRuntimeAccess" type="t:ST_ApplicationContentUriRunTimeAccess_Uap" use="optional"/>
<xs:attributeGroup ref="uap5:ContentUriRuleAttributes"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Extension" substitutionGroup="f:ApplicationExtensionChoice">
<xs:complexType>
<xs:choice minOccurs="0">
<xs:element ref="FileTypeAssociationChoice"/>
<xs:element ref="ProtocolChoice"/>
<xs:element ref="AppServiceChoice"/>
<xs:element name="AutoPlayContent" type="CT_AutoPlayContent"/>
<xs:element name="AutoPlayDevice" type="CT_AutoPlayDevice"/>
<xs:element name="ShareTarget" type="CT_ShareTarget"/>
<xs:element name="FileOpenPicker" type="CT_FilePicker"/>
<xs:element name="FileSavePicker" type="CT_FilePicker"/>
<xs:element name="AppointmentsProvider" type="CT_AppointmentsProvider"/>
<xs:element name="WebAccountProvider" type="CT_WebAccountProvider"/>
<xs:element name="DialProtocol" type="CT_DialProtocol"/>
<xs:element name="MediaPlayback" type="CT_MediaPlayback"/>
<xs:element name="VoipCall" type="CT_VoipCall"/>
</xs:choice>
<xs:attribute name="Category" type="t:ST_ApplicationExtensionCategory_Uap" use="required"/>
<xs:attributeGroup ref="t:ExtensionBaseAttributes"/>
</xs:complexType>
<xs:unique name="AppointmentsProvider_Verb">
<xs:selector xpath="uap:AppointmentsProvider/uap:AppointmentsProviderLaunchActions/uap:LaunchAction"/>
<xs:field xpath="@Verb"/>
</xs:unique>
</xs:element>
<xs:element name="FileTypeAssociationChoice" abstract="true"/>
<xs:element name="FileTypeAssociation" substitutionGroup="FileTypeAssociationChoice" type="CT_FileTypeAssociation"/>
<xs:element name="ProtocolChoice" abstract="true"/>
<xs:element name="Protocol" substitutionGroup="ProtocolChoice" type="CT_Protocol"/>
<xs:element name="AppServiceChoice" abstract="true"/>
<xs:element name="AppService" substitutionGroup="AppServiceChoice" type="CT_AppService"/>
<xs:complexType name="CT_FileTypeAssociation">
<xs:all>
<xs:element name="DisplayName" type="t:ST_DisplayName" minOccurs="0"/>
<xs:element name="Logo" type="t:ST_ImageFile" minOccurs="0"/>
<xs:element name="InfoTip" type="t:ST_FTAInfoTip" minOccurs="0"/>
<xs:element name="EditFlags" minOccurs="0">
<xs:complexType>
<xs:attribute name="OpenIsSafe" type="xs:boolean" use="optional"/>
<xs:attribute name="AlwaysUnsafe" type="xs:boolean" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="SupportedFileTypes" type="CT_FTASupportedFileTypes"/>
<xs:element ref="FileTypeAssociationSupportedVerbsChoice" minOccurs="0"/>
<xs:element ref="uap4:KindMap" minOccurs="0"/>
<xs:element ref="rescap3:MigrationProgIds" minOccurs="0"/>
<xs:element ref="desktop2:ThumbnailHandler" minOccurs="0"/>
<xs:element ref="desktop2:DesktopPreviewHandler" minOccurs="0"/>
<xs:element ref="desktop2:DesktopPropertyHandler" minOccurs="0"/>
<xs:element ref="desktop2:OleClass" minOccurs="0"/>
<xs:element ref="desktop3:PropertyLists" minOccurs="0"/>
</xs:all>
<xs:attribute name="Name" type="t:ST_FTAName" use="required"/>
<xs:attribute name="DesiredView" type="t:ST_DesiredView" use="optional"/>
<xs:attribute ref="desktop2:UseUrl" use="optional"/>
<xs:attribute ref="desktop2:AllowSilentDefaultTakeOver" use="optional"/>
</xs:complexType>
<xs:element name="FileTypeAssociationSupportedVerbsChoice" abstract="true"/>
<xs:complexType name="CT_FTASupportedFileTypes">
<xs:sequence>
<xs:element name="FileType" maxOccurs="1000" >
<xs:complexType>
<xs:simpleContent>
<xs:extension base="t:ST_FileType">
<xs:attribute name="ContentType" type="t:ST_ContentType" use="optional"/>
<xs:attributeGroup ref="uap4:ShellNewAttributes"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_Protocol">
<xs:all>
<xs:element name="Logo" type="t:ST_ImageFile" minOccurs="0"/>
<xs:element name="DisplayName" type="t:ST_DisplayName" minOccurs="0"/>
<xs:element ref="rescap3:MigrationProgIds" minOccurs="0"/>
</xs:all>
<xs:attribute name="Name" type="t:ST_Protocol_2010_v2" use="required"/>
<xs:attribute name="DesiredView" type="t:ST_DesiredView" use="optional"/>
<xs:attribute name="ReturnResults" type="t:ST_ProtocolReturnResults" use="optional"/>
</xs:complexType>
<xs:complexType name="CT_DialProtocol">
<xs:attribute name="Name" type="t:ST_DialProtocol" use="required"/>
</xs:complexType>
<xs:complexType name="CT_AutoPlayContent">
<xs:sequence>
<xs:element name="LaunchAction" maxOccurs="1000">
<xs:complexType>
<xs:attribute name="Verb" type="t:ST_AutoPlayVerb" use="required"/>
<xs:attribute name="ActionDisplayName" type="t:ST_DisplayName" use="required"/>
<xs:attribute name="ContentEvent" type="t:ST_AutoPlayEvent" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_AutoPlayDevice">
<xs:sequence>
<xs:element name="LaunchAction" maxOccurs="1000">
<xs:complexType>
<xs:attribute name="Verb" type="t:ST_AutoPlayVerb" use="required"/>
<xs:attribute name="ActionDisplayName" type="t:ST_DisplayName" use="required"/>
<xs:attribute name="DeviceEvent" type="t:ST_AutoPlayEvent" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_ShareTarget">
<xs:sequence>
<xs:element name="SupportedFileTypes" type="CT_CharmsSupportedFileTypes" minOccurs="0"/>
<xs:element name="DataFormat" type="t:ST_DataFormat" minOccurs="0" maxOccurs="10000"/>
</xs:sequence>
<xs:attribute name="Description" type="t:ST_ShareTargetDescription" use="optional"/>
</xs:complexType>
<xs:complexType name="CT_FilePicker">
<xs:sequence>
<xs:element name="SupportedFileTypes" type="CT_CharmsSupportedFileTypes"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_CharmsSupportedFileTypes">
<xs:choice>
<xs:element name="FileType" minOccurs="1" maxOccurs="10000" type="t:ST_FileType"/>
<xs:element name="SupportsAnyFileType" minOccurs="1" maxOccurs="1"/>
</xs:choice>
</xs:complexType>
<xs:complexType name="CT_AppointmentsProvider">
<xs:all>
<xs:element name="AppointmentsProviderLaunchActions" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element ref="LaunchAction" minOccurs="0" maxOccurs="10"/>
</xs:sequence>
<xs:attribute name="DesiredView" type="t:ST_DesiredView" use="optional"/>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
<xs:element name="LaunchAction">
<xs:complexType>
<xs:attribute name="Verb" type="t:ST_AppointmentsProviderLaunchActionVerbs_Uap" use="required"/>
<xs:attribute name="DesiredView" type="t:ST_DesiredView" use="optional"/>
<xs:attributeGroup ref="t:ExtensionBaseAttributes"/>
</xs:complexType>
</xs:element>
<xs:complexType name="CT_WebAccountProvider">
<xs:sequence>
<xs:element name="ManagedUrls" type="CT_ManagedUrls" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="Url" type="t:ST_WebAccountProviderUrl" use="required"/>
<xs:attribute name="BackgroundEntryPoint" type="t:ST_EntryPoint" use="required"/>
</xs:complexType>
<xs:complexType name="CT_ManagedUrls">
<xs:sequence>
<xs:element name="Url" type="t:ST_WebAccountProviderUrl" minOccurs="1" maxOccurs="200"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_AppService">
<xs:attribute name="Name" type="t:ST_AppServiceName" use="required"/>
<xs:attribute name="ServerName" type="t:ST_AsciiWindowsId" use="optional"/>
<xs:attribute ref="uap4:SupportsMultipleInstances" use="optional"/>
</xs:complexType>
<xs:complexType name="CT_MediaPlayback">
<xs:sequence>
<xs:element name="Codec" minOccurs="1" maxOccurs="100">
<xs:complexType>
<xs:attribute name="Name" type="t:ST_NonEmptyString" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_VoipCall">
<xs:all>
<xs:element name="VoipCallUpgrade" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:attribute name="SeamlessCallUpgrade" type="xs:boolean" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="VoipDialPhoneNumber" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:element name="Task" substitutionGroup="f:BackgroundTaskChoice">
<xs:complexType>
<xs:attribute name="Type" type="t:ST_BackgroundTasks_Uap" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>

Просмотреть файл

@ -0,0 +1,90 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- @@BEGIN_SDKSPLIT
THRESHOLD UAP V2 MANIFEST SCHEMA
This schema extends the elements that are available in the TH UAP 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/uap/windows10/2"
xmlns="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
xmlns:t="http://schemas.microsoft.com/appx/manifest/types"
xmlns:f="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
xmlns:rescap3="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3"
>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/types"/>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/foundation/windows10"/>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/uap/windows10"/>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3"/>
<xs:element name="Capability" substitutionGroup="f:CapabilityChoice">
<xs:complexType>
<xs:attribute name="Name" type="t:ST_Capability_Uap_2" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="SupportedVerbs" substitutionGroup="uap:FileTypeAssociationSupportedVerbsChoice">
<xs:complexType>
<xs:choice>
<xs:element ref="VerbChoice" minOccurs="0" maxOccurs="10000"/>
</xs:choice>
</xs:complexType>
<xs:unique name="UniqueVerbId">
<xs:selector xpath="uap2:Verb | uap3:Verb"/>
<xs:field xpath="@Id"/>
</xs:unique>
</xs:element>
<xs:element name="VerbChoice" abstract="true"/>
<xs:element name="Verb" substitutionGroup="VerbChoice" type="CT_Verb"/>
<xs:complexType name="CT_Verb">
<xs:simpleContent>
<xs:extension base="t:ST_NonEmptyString">
<xs:attribute name="Id" use="required" type="t:ST_FileTypeAssociationSupportedVerbId"/>
<xs:attribute name="Extended" use="optional" type="xs:boolean"/>
<xs:attributeGroup ref="rescap3:DdeExecAttributes"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:element name="Extension" substitutionGroup="f:ApplicationExtensionChoice">
<xs:complexType>
<xs:choice minOccurs="0">
<xs:element name="WebAccountProvider" type="CT_WebAccountProvider"/>
</xs:choice>
<xs:attribute name="Category" type="t:ST_ApplicationExtensionCategory_Uap2" use="required"/>
<xs:attributeGroup ref="t:ExtensionBaseAttributes"/>
</xs:complexType>
</xs:element>
<xs:complexType name="CT_WebAccountProvider">
<xs:sequence>
<xs:element name="ManagedUrls" type="CT_ManagedUrls" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="Url" type="t:ST_WebAccountProviderUrl" use="required"/>
<xs:attribute name="BackgroundEntryPoint" type="t:ST_EntryPoint" use="required"/>
<xs:attribute name="DisplayName" type="t:ST_NonEmptyString" use="optional"/>
<xs:attribute name="DisplayPurpose" type="t:ST_NonEmptyString" use="optional"/>
<xs:attribute name="Square44x44Logo" type="t:ST_ImageFile" use="optional"/>
</xs:complexType>
<xs:complexType name="CT_ManagedUrls">
<xs:sequence>
<xs:element name="Url" type="t:ST_WebAccountProviderUrl" minOccurs="1" maxOccurs="200"/>
</xs:sequence>
</xs:complexType>
</xs:schema>

Просмотреть файл

@ -0,0 +1,177 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- @@BEGIN_SDKSPLIT
REDSTONE UAP V3 MANIFEST SCHEMA
This schema extends the elements that are available in the RS1 UAP 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/uap/windows10/3"
xmlns="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
xmlns:t="http://schemas.microsoft.com/appx/manifest/types"
xmlns:f="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5"
xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/types"/>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/foundation/windows10"/>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/uap/windows10"/>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"/>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"/>
<xs:import namespace="http://schemas.microsoft.com/appx/manifest/uap/windows10/5"/>
<xs:element name="Capability" substitutionGroup="f:CapabilityChoice">
<xs:complexType>
<xs:attribute name="Name" type="t:ST_Capability_Uap_3" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Extension" substitutionGroup="f:ApplicationExtensionChoice">
<xs:complexType>
<xs:choice minOccurs="0">
<xs:element name="AppExtensionHost" type="CT_AppExtensionHost"/>
<xs:element name="AppExtension" type="CT_AppExtension"/>
<xs:element name="AppUriHandler" type="CT_AppUriHandler"/>
<xs:element name="AppointmentDataProvider" type="CT_UserDataProvider"/>
<xs:element name="EmailDataProvider" type="CT_UserDataProvider"/>
<xs:element name="ContactDataProvider" type="CT_UserDataProvider"/>
<xs:element name="AppExecutionAlias" type="CT_AppExecutionAlias"/>
<xs:element name="AppService" type="CT_AppService"/>
<xs:element name="Protocol" type="CT_Protocol"/>
<xs:element name="FileTypeAssociation" type="CT_FileTypeAssociation"/>
</xs:choice>
<xs:attribute name="Category" type="t:ST_ApplicationExtensionCategory_Uap3" use="required"/>
<xs:attributeGroup ref="t:ExtensionBaseAttributes"/>
</xs:complexType>
</xs:element>
<xs:complexType name="CT_AppExecutionAlias">
<xs:sequence>
<xs:element ref="ExecutionAliasChoice" minOccurs="0" maxOccurs="100"/>
</xs:sequence>
</xs:complexType>
<xs:element name="ExecutionAliasChoice" abstract="true"/>
<xs:complexType name="CT_AppExtensionHost">
<xs:sequence>
<xs:element name="Name" type="t:ST_AppServiceName" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_AppExtension">
<xs:sequence>
<xs:element name="Properties" minOccurs="0" maxOccurs="1">
<!-- Under this node, Edge extension developers can put in custom data to pass to Edge,
so we are relaxing schema validations to allow custom data -->
<xs:complexType>
<xs:sequence>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Name" type="t:ST_AppServiceName" use="required"/>
<xs:attribute name="Id" type="t:ST_AppServiceName" use="required"/>
<xs:attribute name="PublicFolder" type="t:ST_FileName" use="required"/>
<xs:attribute name="DisplayName" type="t:ST_DisplayName" use="required"/>
<xs:attribute name="Description" type="t:ST_Description" use="optional"/>
</xs:complexType>
<xs:complexType name="CT_AppUriHandler">
<xs:sequence>
<xs:element name="Host" minOccurs="0" maxOccurs="1000">
<xs:complexType>
<xs:attribute name="Name" type="t:ST_DomainName" use="required"/>
</xs:complexType>
</xs:element>
<xs:element ref="uap5:Host" minOccurs="0" maxOccurs="1000" />
</xs:sequence>
<xs:attribute ref="desktop2:Parameters" use="optional"/>
</xs:complexType>
<xs:complexType name="CT_UserDataProvider">
<xs:attribute name="ServerName" type="t:ST_NonEmptyString" use="optional"/>
</xs:complexType>
<xs:element name="VisualElements" type="CT_VisualElements" substitutionGroup="f:VisualElementsChoice">
<xs:unique name="InitialRotationPreference_Name">
<xs:selector xpath="uap:InitialRotationPreference/uap:Rotation"/>
<xs:field xpath="@Preference"/>
</xs:unique>
</xs:element>
<xs:complexType name="CT_VisualElements">
<xs:complexContent>
<xs:extension base="uap:CT_VisualElements">
<xs:attribute name="VisualGroup" type="t:ST_NonPathDisplayName" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="MainPackageDependency" substitutionGroup="f:MainPackageDependencyChoice">
<xs:complexType>
<xs:attribute name="Name" type="t:ST_PackageName" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="FileTypeAssociation" type="CT_FileTypeAssociation" substitutionGroup="uap:FileTypeAssociationChoice"/>
<xs:complexType name="CT_FileTypeAssociation">
<xs:complexContent>
<xs:extension base="uap:CT_FileTypeAssociation">
<xs:attribute name="Parameters" type="t:ST_Parameters" use="optional"/>
<xs:attribute name="MultiSelectModel" type ="ST_MultiSelectModel" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="Protocol" substitutionGroup="uap:ProtocolChoice" type="CT_Protocol"/>
<xs:complexType name="CT_Protocol">
<xs:complexContent>
<xs:extension base="uap:CT_Protocol">
<xs:attribute name="Parameters" type="t:ST_Parameters" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="Verb" substitutionGroup="uap2:VerbChoice" type="CT_Verb"/>
<xs:complexType name="CT_Verb">
<xs:simpleContent>
<xs:extension base="uap2:CT_Verb">
<xs:attribute name="Parameters" type="t:ST_Parameters" use="optional"/>
<xs:attribute name="MultiSelectModel" type ="ST_MultiSelectModel" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:simpleType name="ST_MultiSelectModel">
<xs:restriction base="xs:string">
<xs:enumeration value="Player"/>
<xs:enumeration value="Document"/>
<xs:enumeration value="Single"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="AppService" substitutionGroup="uap:AppServiceChoice" type="CT_AppService"/>
<xs:complexType name="CT_AppService">
<xs:complexContent>
<xs:extension base="uap:CT_AppService">
<xs:attribute name="SupportsRemoteSystems" type="xs:boolean" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>

Просмотреть файл

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- @@BEGIN_SDKSPLIT
THRESHOLD WINDOWS CAPABILITIES MANIFEST SCHEMA
This is the Schema that defines elements and attributes for the Universal App
Platform features in Thresold. These types are imported into the Foundation
schema and included in products that support UAP.
!!!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/foundation/windows10/windowscapabilities"
xmlns:t="http://schemas.microsoft.com/appx/manifest/types"
xmlns:f="http://schemas.microsoft.com/appx/manifest/foundation/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="Capability" substitutionGroup="f:CapabilityChoice">
<xs:complexType>
<xs:attribute name="Name" type="t:ST_Capability_Windows_Restricted_Party" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>

Просмотреть файл

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- @@BEGIN_SDKSPLIT
RS1 WINDOWS CAPABILITIES MANIFEST SCHEMA
This is the Schema that defines elements and attributes that are internal to
the Windows platform for RS1 release.
!!!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/foundation/windows10/windowscapabilities/2"
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10/windowscapabilities/2"
xmlns:t="http://schemas.microsoft.com/appx/manifest/types"
xmlns:f="http://schemas.microsoft.com/appx/manifest/foundation/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="Extension" substitutionGroup="f:ApplicationExtensionChoice">
<xs:complexType>
<xs:attribute name="Category" type="t:ST_ApplicationExtensionCategory_Windows_Restricted_Party2" use="required"/>
<xs:attributeGroup ref="t:ExtensionBaseAttributes"/>
</xs:complexType>
</xs:element>
</xs:schema>

Просмотреть файл

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- @@BEGIN_SDKSPLIT
THRESHOLD XBOX MANIFEST SCHEMA
This is the Schema that defines elements and attributes for features specific
to Xbox in Thresold. These types are imported into the Foundation schema and
included in the Xbox product.
!!!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/xbox/thresholdpreview"
xmlns="http://schemas.microsoft.com/appx/manifest/xbox/thresholdpreview"
>
<xs:simpleType name="ST_SupportedViewStates">
<xs:restriction base="xs:string">
<xs:enumeration value="snapped"/>
<xs:enumeration value="filled"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="ViewStates">
<xs:complexType>
<xs:sequence>
<xs:element name="ViewState" minOccurs="1" maxOccurs="2">
<xs:complexType>
<xs:attribute name="Name" type="ST_SupportedViewStates" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

Просмотреть файл

@ -117,8 +117,8 @@ SET(LIB_SOURCES
)
# Copy out public headers
CONFIGURE_FILE(../inc/MSIXWindows.hpp ${CMAKE_CURRENT_BINARY_DIR}/MSIXWindows.hpp )
CONFIGURE_FILE(../inc/AppxPackaging.hpp ${CMAKE_CURRENT_BINARY_DIR}/AppxPackaging.hpp)
CONFIGURE_FILE(../inc/MSIXWindows.hpp ${CMAKE_CURRENT_BINARY_DIR}/MSIXWindows.hpp )
CONFIGURE_FILE(../inc/AppxPackaging.hpp ${CMAKE_CURRENT_BINARY_DIR}/AppxPackaging.hpp)
# Define the library
ADD_LIBRARY(${LIBRARY_NAME} SHARED ${LIB_SOURCES} ${LIB_PUBLIC_HEADERS} ${LIB_PRIVATE_HEADERS})

Просмотреть файл

@ -322,7 +322,9 @@ public:
return ComPtr<IXmlDom>::Make<MSXMLDom>(stream, xmlNamespaces[footPrintType], &blockMapSchema);
}
case XmlContentType::AppxManifestXml:
return ComPtr<IXmlDom>::Make<MSXMLDom>(stream, xmlNamespaces[footPrintType]);
{ auto appxManifestSchema = GetResources(m_factory, Resource::Type::AppxManifest);
return ComPtr<IXmlDom>::Make<MSXMLDom>(stream, xmlNamespaces[footPrintType], &appxManifestSchema);
}
case XmlContentType::ContentTypeXml:
{ auto contentTypeSchema = GetResources(m_factory, Resource::Type::ContentType);
return ComPtr<IXmlDom>::Make<MSXMLDom>(stream, xmlNamespaces[footPrintType], &contentTypeSchema);