Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="utf-16"?>
- <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
- <!--Branding enum-->
- <xsd:simpleType name="brandingToken">
- <xsd:restriction base="xsd:token">
- <xsd:pattern value="[Nn][Oo][Nn][Ee]" />
- <xsd:pattern value="[Ll][Oo][Gg][Oo]" />
- <xsd:pattern value="[Nn][Aa][Mm][Ee]" />
- <xsd:pattern value="[Nn][Aa][Mm][Ee][Aa][Nn][Dd][Ll][Oo][Gg][Oo]" />
- </xsd:restriction>
- </xsd:simpleType>
- <!--UAP Template names-->
- <xsd:simpleType name="templateNamesUap">
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="TileSmall" />
- <xsd:enumeration value="TileMedium" />
- <xsd:enumeration value="TileWide" />
- <xsd:enumeration value="TileTall" />
- <xsd:enumeration value="TileLarge" />
- <xsd:enumeration value="TileGeneric" />
- <xsd:enumeration value="ToastGeneric" />
- </xsd:restriction>
- </xsd:simpleType>
- <!--Activation types enum-->
- <xsd:simpleType name="activationTypes">
- <xsd:restriction base="xsd:token">
- <xsd:enumeration value="foreground" />
- <xsd:enumeration value="background" />
- <xsd:enumeration value="protocol" />
- </xsd:restriction>
- </xsd:simpleType>
- <!--Audio Element definition-->
- <xsd:complexType name="audioType">
- <xsd:attribute name="src" type="xsd:string" use="optional" />
- <xsd:attribute name="loop" type="xsd:boolean" use="optional" />
- <xsd:attribute name="silent" type="xsd:string" use="optional" />
- </xsd:complexType>
- <!--Commands scenarios enum-->
- <xsd:simpleType name="commandsScenarios">
- <xsd:restriction base="xsd:token">
- <xsd:enumeration value="alarm" />
- <xsd:enumeration value="incomingCall" />
- </xsd:restriction>
- </xsd:simpleType>
- <!--Command ID enum-->
- <xsd:simpleType name="commandIds">
- <xsd:restriction base="xsd:token">
- <xsd:enumeration value="snooze" />
- <xsd:enumeration value="dismiss" />
- <xsd:enumeration value="video" />
- <xsd:enumeration value="voice" />
- <xsd:enumeration value="decline" />
- </xsd:restriction>
- </xsd:simpleType>
- <!--Command Element definition-->
- <xsd:complexType name="commandType">
- <xsd:attribute name="id" type="commandIds" use="optional" />
- <xsd:attribute name="arguments" type="xsd:string" use="optional" />
- </xsd:complexType>
- <!--Commands element definition-->
- <xsd:complexType name="commandsType">
- <xsd:sequence minOccurs="0" maxOccurs="unbounded">
- <xsd:element ref="command" />
- </xsd:sequence>
- <xsd:attribute name="scenario" type="commandsScenarios" use="optional" />
- </xsd:complexType>
- <!--Input type enum-->
- <xsd:simpleType name="inputTypes">
- <xsd:restriction base="xsd:token">
- <xsd:enumeration value="text" />
- <xsd:enumeration value="selection" />
- </xsd:restriction>
- </xsd:simpleType>
- <!--Input Element Definition-->
- <xsd:complexType name="inputType">
- <xsd:sequence minOccurs="0" maxOccurs="5">
- <xsd:element ref="selection" />
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:string" use="required" />
- <xsd:attribute name="type" type="inputTypes" use="required" />
- <xsd:attribute name="title" type="xsd:string" use="optional" />
- <xsd:attribute name="placeholderContent" type="xsd:string" use="optional" />
- <xsd:attribute name="defaultSelection" type="xsd:string" use="optional" />
- <xsd:anyAttribute processContents="skip" />
- </xsd:complexType>
- <!--Selection Element Definition-->
- <xsd:complexType name="selectionType">
- <xsd:attribute name="id" type="xsd:string" use="required" />
- <xsd:attribute name="content" type="xsd:string" use="required" />
- <xsd:anyAttribute processContents="skip" />
- </xsd:complexType>
- <!--Action Element definition-->
- <xsd:complexType name="actionType">
- <xsd:attribute name="content" type="xsd:string" use="required" />
- <xsd:attribute name="arguments" type="xsd:string" use="required" />
- <xsd:attribute name="activationType" type="activationTypes" use="optional" />
- <xsd:anyAttribute processContents="skip" />
- </xsd:complexType>
- <!--Actions Element Definition-->
- <xsd:complexType name="actionsType">
- <xsd:sequence>
- <xsd:element minOccurs="0" maxOccurs="1" ref="input" />
- <xsd:element minOccurs="1" maxOccurs="5" ref="action" />
- </xsd:sequence>
- </xsd:complexType>
- <!-- Text Element Definition -->
- <xsd:complexType name="textType">
- <xsd:simpleContent>
- <xsd:extension base="xsd:string">
- <xsd:attribute name="id" use="optional" type="xsd:nonNegativeInteger" />
- <xsd:attribute name="lang" use="optional" type="xsd:string" />
- <xsd:anyAttribute processContents="skip" />
- </xsd:extension>
- </xsd:simpleContent>
- </xsd:complexType>
- <!-- Image Element Definition -->
- <xsd:complexType name="imageType">
- <xsd:attribute name="id" use="optional" type="xsd:nonNegativeInteger" />
- <xsd:attribute name="src" use="required" type="xsd:anyURI" />
- <xsd:attribute name="placement" use="optional" type="xsd:string" />
- <xsd:attribute name="alt" use="optional" type="xsd:string" />
- <xsd:attribute name="addImageQuery" use="optional" type="xsd:boolean" />
- <xsd:anyAttribute processContents="skip" />
- </xsd:complexType>
- <!-- Subgroup Element Definition -->
- <xsd:complexType name="subgroupType">
- <xsd:choice minOccurs="0" maxOccurs="unbounded">
- <xsd:element ref="text" />
- <xsd:element ref="image" />
- </xsd:choice>
- <xsd:attribute name="id" use="optional" type="xsd:string" />
- <xsd:anyAttribute processContents="skip" />
- </xsd:complexType>
- <!-- Group Element Definition -->
- <xsd:complexType name="groupType">
- <xsd:sequence>
- <xsd:element minOccurs="1" maxOccurs="unbounded" ref="subgroup" />
- </xsd:sequence>
- <xsd:attribute name="id" use="optional" type="xsd:string" />
- <xsd:anyAttribute processContents="skip" />
- </xsd:complexType>
- <!-- Binding Element Definition -->
- <xsd:complexType name="bindingType">
- <xsd:choice minOccurs="0" maxOccurs="unbounded" >
- <xsd:element ref="text" />
- <xsd:element ref="image" />
- <xsd:element ref="group" />
- </xsd:choice>
- <xsd:attribute name="template" use="required" type="xsd:string" />
- <!--TODO: Work through fallback usage, it won't work with UAP templates since there are no text IDs-->
- <xsd:attribute name="fallback" use="optional" type="xsd:string" />
- <xsd:attribute name="lang" use="optional" type="xsd:string" />
- <xsd:attribute name="baseUri" use="optional" type="xsd:anyURI" />
- <xsd:attribute name="branding" use="optional" type="brandingToken" />
- <xsd:attribute name="addImageQuery" use="optional" type="xsd:boolean" />
- <xsd:attribute name="contentId" use="optional" type="xsd:string" />
- <xsd:attribute name="displayName" use="optional" type="xsd:string" />
- <xsd:anyAttribute processContents="skip" />
- </xsd:complexType>
- <!-- Visual Element Definition -->
- <xsd:complexType name="visualType">
- <xsd:sequence minOccurs="1" maxOccurs="unbounded">
- <xsd:element ref="binding" />
- </xsd:sequence>
- <xsd:attribute name="version">
- <xsd:simpleType>
- <xsd:restriction base="xsd:nonNegativeInteger" />
- </xsd:simpleType>
- </xsd:attribute>
- <xsd:attribute name="lang" use="optional" type="xsd:string" />
- <xsd:attribute name="baseUri" use="optional" type="xsd:anyURI" />
- <xsd:attribute name="branding" use="optional" type="brandingToken" />
- <xsd:attribute name="addImageQuery" use="optional" type="xsd:boolean" />
- <xsd:attribute name="contentId" use="optional" type="xsd:string" />
- <xsd:anyAttribute processContents="skip" />
- </xsd:complexType>
- <!-- Tile Element Definition -->
- <xsd:complexType name="tileType">
- <xsd:sequence minOccurs="1" maxOccurs="1">
- <xsd:element ref="visual" />
- </xsd:sequence>
- <xsd:anyAttribute processContents="skip" />
- </xsd:complexType>
- <!-- Toast Element Definition -->
- <xsd:complexType name="toastType">
- <xsd:sequence>
- <xsd:element minOccurs="1" maxOccurs="1" ref="visual" />
- <xsd:element minOccurs="0" maxOccurs="1" ref="audio" />
- <xsd:choice minOccurs="0" maxOccurs="1">
- <xsd:element ref="actions" />
- <xsd:element ref="commands" />
- </xsd:choice>
- </xsd:sequence>
- <xsd:attribute name="launch" use="optional" type="xsd:string" />
- <xsd:attribute name="duration" use="optional" type="xsd:string" />
- <xsd:attribute name="activationType" use="optional" type="activationTypes" />
- <xsd:anyAttribute processContents="skip" />
- </xsd:complexType>
- <!-- Global elements -->
- <xsd:element name="command" type="commandType" />
- <xsd:element name="commands" type="commandsType" />
- <xsd:element name="selection" type="selectionType" />
- <xsd:element name="input" type="inputType" />
- <xsd:element name="audio" type="audioType" />
- <xsd:element name="actions" type="actionsType" />
- <xsd:element name="action" type="actionType" />
- <xsd:element name="text" type="textType" />
- <xsd:element name="image" type="imageType" />
- <xsd:element name="subgroup" type="subgroupType" />
- <xsd:element name="group" type="groupType" />
- <xsd:element name="binding" type="bindingType" />
- <xsd:element name="visual" type="visualType" />
- <xsd:element name="tile" type="tileType" />
- <xsd:element name="toast" type="toastType" />
- </xsd:schema>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement