Schema map (app manifest schema v1.0)

apps for Office

This topic shows the schema version 1.0 definition for manifests of apps for Office.

Last modified: November 13, 2013

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

Show:
© 2015 Microsoft