<xs:schema id="OfficeAppManifest" elementFormDefault="qualified" version="1.0" targetNamespace="http://schemas.microsoft.com/office/appforoffice/1.0" xmlns="http://schemas.microsoft.com/office/appforoffice/1.0" xmlns:ver="http://schemas.microsoft.com/office/appforoffice/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="NonEmptyString">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ShortString">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="125"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="LongString">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="250"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="URL">
<xs:restriction base="xs:anyURI">
<xs:minLength value="1"/>
<xs:maxLength value="2048"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="LocaleOverride">
<xs:attribute name="Locale" type="CultureName" use="required"/>
<xs:attribute name="Value" type="NonEmptyString" use="required"/>
</xs:complexType>
<xs:complexType name="ShortLocaleOverride">
<xs:attribute name="Locale" type="CultureName" use="required"/>
<xs:attribute name="Value" type="ShortString" use="required"/>
</xs:complexType>
<xs:complexType name="LongLocaleOverride">
<xs:attribute name="Locale" type="CultureName" use="required"/>
<xs:attribute name="Value" type="LongString" use="required"/>
</xs:complexType>
<xs:complexType name="URLLocaleOverride">
<xs:attribute name="Locale" type="CultureName" use="required"/>
<xs:attribute name="Value" type="URL" use="required"/>
</xs:complexType>
<xs:complexType name="LocaleAwareSetting">
<xs:sequence>
<xs:element name="Override" type="LocaleOverride" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="DefaultValue" type="NonEmptyString" use="required"/>
</xs:complexType>
<xs:complexType name="ShortLocaleAwareSetting">
<xs:sequence>
<xs:element name="Override" type="ShortLocaleOverride" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="DefaultValue" type="ShortString" use="required"/>
</xs:complexType>
<xs:complexType name="LongLocaleAwareSetting">
<xs:sequence>
<xs:element name="Override" type="LongLocaleOverride" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="DefaultValue" type="LongString" use="required"/>
</xs:complexType>
<xs:complexType name="URLLocaleAwareSetting">
<xs:sequence>
<xs:element name="Override" type="URLLocaleOverride" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="DefaultValue" type="URL" use="required"/>
</xs:complexType>
<xs:simpleType name="UUID">
<xs:restriction base="xs:string">
<xs:pattern value="(urn:uuid:)?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}|\{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="AlternateId">
<xs:restriction base="xs:string">
<xs:pattern value=".{5,12}\\WA[0-9]{9}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="CultureName">
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z]{2,3}-[a-zA-Z0-9]{3,8}(-[a-zA-Z]{2,3})?|[a-zA-Z]{2,3}(-[a-zA-Z]{2,3}(_tradnl|\.pseudo|-[a-zA-Z]{4,8})?)?"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Version">
<xs:restriction base="xs:string">
<xs:pattern value="([0-9]{1,5})(\.[0-9]{1,5}){0,3}?"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_RequestedWidth">
<xs:restriction base="xs:integer">
<xs:minInclusive value="32"/>
<xs:maxInclusive value="1000"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_RequestedHeight">
<xs:restriction base="xs:integer">
<xs:minInclusive value="32"/>
<xs:maxInclusive value="1000"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ContentAppSettings">
<xs:sequence>
<xs:element name="SourceLocation" type="URLLocaleAwareSetting" minOccurs="1" maxOccurs="1"/>
<xs:element name="RequestedWidth" minOccurs="0" maxOccurs="1" type="ver:ST_RequestedWidth"/>
<xs:element name="RequestedHeight" minOccurs="0" maxOccurs="1" type="ver:ST_RequestedHeight"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TaskPaneAppSettings">
<xs:sequence>
<xs:element name="SourceLocation" type="URLLocaleAwareSetting" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="ST_RequestedHeight1">
<xs:restriction base="xs:integer">
<xs:minInclusive value="32"/>
<xs:maxInclusive value="450"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="DesktopMailAppSettings">
<xs:sequence>
<xs:element name="SourceLocation" type="URLLocaleAwareSetting" minOccurs="1" maxOccurs="1"/>
<xs:element name="RequestedHeight" minOccurs="1" maxOccurs="1" type="ver:ST_RequestedHeight1"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="ST_RequestedHeight2">
<xs:restriction base="xs:integer">
<xs:minInclusive value="32"/>
<xs:maxInclusive value="450"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="TabletMailAppSettings">
<xs:sequence>
<xs:element name="SourceLocation" type="URLLocaleAwareSetting" minOccurs="1" maxOccurs="1"/>
<xs:element name="RequestedHeight" minOccurs="1" maxOccurs="1" type="ver:ST_RequestedHeight2"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PhoneMailAppSettings">
<xs:sequence>
<xs:element name="SourceLocation" type="URLLocaleAwareSetting" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Rule" abstract="true"/>
<xs:complexType name="ItemIs">
<xs:complexContent>
<xs:extension base="Rule">
<xs:attribute name="ItemType" type="ItemType" use="required"/>
<xs:attribute name="ItemClass" type="NonEmptyString" use="optional"/>
<xs:attribute name="IncludeSubClasses" type="xs:boolean" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="ItemType">
<xs:restriction base="xs:string">
<xs:enumeration value="Message"/>
<xs:enumeration value="Appointment"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="KnownEntityType">
<xs:restriction base="xs:string">
<xs:enumeration value="MeetingSuggestion"/>
<xs:enumeration value="TaskSuggestion"/>
<xs:enumeration value="Address"/>
<xs:enumeration value="Url"/>
<xs:enumeration value="PhoneNumber"/>
<xs:enumeration value="EmailAddress"/>
<xs:enumeration value="Contact"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ItemHasKnownEntity">
<xs:complexContent>
<xs:extension base="Rule">
<xs:attribute name="EntityType" type="KnownEntityType" use="required"/>
<xs:attribute name="RegExFilter" type="NonEmptyString" use="optional"/>
<xs:attribute name="FilterName" type="NonEmptyString" use="optional"/>
<xs:attribute name="IgnoreCase" type="xs:boolean" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="PropertyName">
<xs:restriction base="xs:string">
<xs:enumeration value="Subject"/>
<xs:enumeration value="BodyAsPlaintext"/>
<xs:enumeration value="BodyAsHTML"/>
<xs:enumeration value="SenderSMTPAddress"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ItemHasRegularExpressionMatch">
<xs:complexContent>
<xs:extension base="Rule">
<xs:attribute name="RegExName" type="NonEmptyString" use="required"/>
<xs:attribute name="RegExValue" type="NonEmptyString" use="required"/>
<xs:attribute name="PropertyName" type="PropertyName" use="required"/>
<xs:attribute name="IgnoreCase" type="xs:boolean" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ItemHasAttachment">
<xs:complexContent>
<xs:extension base="Rule"/>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="LogicalOperator">
<xs:restriction base="xs:string">
<xs:enumeration value="And"/>
<xs:enumeration value="Or"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="RuleCollection">
<xs:complexContent>
<xs:extension base="Rule">
<xs:sequence>
<xs:element name="Rule" type="Rule" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Mode" type="LogicalOperator" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="AppDomains">
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element name="AppDomain" type="LongString"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="OfficeApp" abstract="true">
<xs:sequence>
<xs:element name="Id" type="UUID" minOccurs="1" maxOccurs="1"/>
<xs:element name="AlternateId" type="AlternateId" minOccurs="0" maxOccurs="1"/>
<xs:element name="Version" type="Version" minOccurs="1" maxOccurs="1"/>
<xs:element name="ProviderName" type="ShortString" minOccurs="1" maxOccurs="1"/>
<xs:element name="DefaultLocale" type="CultureName" minOccurs="1" maxOccurs="1"/>
<xs:element name="DisplayName" type="ShortLocaleAwareSetting" minOccurs="1" maxOccurs="1"/>
<xs:element name="Description" type="LongLocaleAwareSetting" minOccurs="1" maxOccurs="1"/>
<xs:element name="IconUrl" type="URLLocaleAwareSetting" minOccurs="0" maxOccurs="1"/>
<xs:element name="SupportUrl" type="URLLocaleAwareSetting" minOccurs="0" maxOccurs="1"/>
<xs:element name="AppDomains" type="AppDomains" minOccurs="0" maxOccurs="1"/>
<xs:element name="VersionOverrides" xmlns="http://schemas.microsoft.com/office/versionoverrides/1.0" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="ContentAppCapabilities">
<xs:restriction base="xs:string">
<xs:enumeration value="Workbook"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ContentAppCapability">
<xs:attribute name="Name" type="ContentAppCapabilities" use="required"/>
</xs:complexType>
<xs:complexType name="CT_Capabilities">
<xs:sequence>
<xs:element name="Capability" type="ContentAppCapability" minOccurs="1" maxOccurs="3"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="ST_Permissions">
<xs:restriction base="xs:string">
<xs:enumeration value="Restricted"/>
<xs:enumeration value="ReadDocument"/>
<xs:enumeration value="WriteDocument"/>
<xs:enumeration value="ReadWriteDocument"/>
<xs:enumeration value="ReadAllDocument"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ContentApp">
<xs:complexContent>
<xs:extension base="OfficeApp">
<xs:sequence>
<xs:element name="Capabilities" minOccurs="1" maxOccurs="1" type="ver:CT_Capabilities"/>
<xs:element name="DefaultSettings" type="ContentAppSettings" minOccurs="1" maxOccurs="1"/>
<xs:element name="Permissions" minOccurs="1" maxOccurs="1" type="ver:ST_Permissions"/>
<xs:element name="AllowSnapshot" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
<xs:any id="ContentAppSignature" minOccurs="0" maxOccurs="1" namespace="http://www.w3.org/2000/09/xmldsig#" processContents="lax"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="Dictionary">
<xs:sequence>
<xs:element name="TargetDialects" type="TargetDialects" minOccurs="1" maxOccurs="1"/>
<xs:element name="QueryUri" type="URLLocaleAwareSetting" minOccurs="1" maxOccurs="1"/>
<xs:element name="CitationText" type="ShortLocaleAwareSetting" minOccurs="1" maxOccurs="1"/>
<xs:element name="DictionaryName" type="ShortLocaleAwareSetting" minOccurs="1" maxOccurs="1"/>
<xs:element name="DictionaryHomePage" type="URLLocaleAwareSetting" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TargetDialects">
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element name="TargetDialect" type="CultureName"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="TaskPaneAppCapabilities">
<xs:restriction base="xs:string">
<xs:enumeration value="Document"/>
<xs:enumeration value="Project"/>
<xs:enumeration value="Workbook"/>
<xs:enumeration value="Presentation"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="TaskPaneAppCapability">
<xs:attribute name="Name" type="TaskPaneAppCapabilities" use="required"/>
</xs:complexType>
<xs:complexType name="CT_Capabilities1">
<xs:sequence>
<xs:element name="Capability" type="TaskPaneAppCapability" minOccurs="1" maxOccurs="4"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="ST_Permissions1">
<xs:restriction base="xs:string">
<xs:enumeration value="Restricted"/>
<xs:enumeration value="ReadDocument"/>
<xs:enumeration value="ReadAllDocument"/>
<xs:enumeration value="WriteDocument"/>
<xs:enumeration value="ReadWriteDocument"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="TaskPaneApp">
<xs:complexContent>
<xs:extension base="OfficeApp">
<xs:sequence>
<xs:element name="Capabilities" minOccurs="1" maxOccurs="1" type="ver:CT_Capabilities1"/>
<xs:element name="DefaultSettings" type="TaskPaneAppSettings" minOccurs="1" maxOccurs="1"/>
<xs:element name="Permissions" minOccurs="1" maxOccurs="1" type="ver:ST_Permissions1"/>
<xs:element name="Dictionary" type="Dictionary" minOccurs="0" maxOccurs="1"/>
<xs:any id="TaskPaneAppSignature" minOccurs="0" maxOccurs="1" namespace="http://www.w3.org/2000/09/xmldsig#" processContents="lax"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="MailAppCapabilities">
<xs:restriction base="xs:string">
<xs:enumeration value="Mailbox"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="MailAppCapability">
<xs:attribute name="Name" type="MailAppCapabilities" use="required"/>
</xs:complexType>
<xs:complexType name="CT_Capabilities2">
<xs:sequence>
<xs:element name="Capability" type="MailAppCapability" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="ST_Permissions2">
<xs:restriction base="xs:string">
<xs:enumeration value="Restricted"/>
<xs:enumeration value="ReadItem"/>
<xs:enumeration value="ReadWriteMailbox"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="MailApp">
<xs:complexContent>
<xs:extension base="OfficeApp">
<xs:sequence>
<xs:element name="Capabilities" minOccurs="1" maxOccurs="1" type="ver:CT_Capabilities2"/>
<xs:element name="DesktopSettings" type="DesktopMailAppSettings" minOccurs="1" maxOccurs="1"/>
<xs:element name="TabletSettings" type="TabletMailAppSettings" minOccurs="0" maxOccurs="1"/>
<xs:element name="PhoneSettings" type="PhoneMailAppSettings" minOccurs="0" maxOccurs="1"/>
<xs:element name="Permissions" minOccurs="1" maxOccurs="1" type="ver:ST_Permissions2"/>
<xs:element name="Rule" type="Rule" minOccurs="1" maxOccurs="1"/>
<xs:element name="DisableEntityHighlighting" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
<xs:any id="MailAppSignature" minOccurs="0" maxOccurs="1" namespace="http://www.w3.org/2000/09/xmldsig#" processContents="lax"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="OfficeApp" type="OfficeApp"/>
</xs:schema>