Advertisement
FrayxRulez

UAP Toast & Tiles XSD

Feb 17th, 2015
282
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 9.50 KB | None | 0 0
  1. <?xml version="1.0" encoding="utf-16"?>
  2. <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  3.  
  4.   <!--Branding enum-->
  5.   <xsd:simpleType name="brandingToken">
  6.     <xsd:restriction base="xsd:token">
  7.       <xsd:pattern value="[Nn][Oo][Nn][Ee]" />
  8.       <xsd:pattern value="[Ll][Oo][Gg][Oo]" />
  9.       <xsd:pattern value="[Nn][Aa][Mm][Ee]" />
  10.       <xsd:pattern value="[Nn][Aa][Mm][Ee][Aa][Nn][Dd][Ll][Oo][Gg][Oo]" />
  11.     </xsd:restriction>
  12.   </xsd:simpleType>
  13.  
  14.   <!--UAP Template names-->
  15.   <xsd:simpleType name="templateNamesUap">
  16.     <xsd:restriction base="xsd:string">
  17.       <xsd:enumeration value="TileSmall" />
  18.       <xsd:enumeration value="TileMedium" />
  19.       <xsd:enumeration value="TileWide" />
  20.       <xsd:enumeration value="TileTall" />
  21.       <xsd:enumeration value="TileLarge" />
  22.       <xsd:enumeration value="TileGeneric" />
  23.       <xsd:enumeration value="ToastGeneric" />
  24.     </xsd:restriction>
  25.   </xsd:simpleType>
  26.  
  27.   <!--Activation types enum-->
  28.   <xsd:simpleType name="activationTypes">
  29.     <xsd:restriction base="xsd:token">
  30.       <xsd:enumeration value="foreground" />
  31.       <xsd:enumeration value="background" />
  32.       <xsd:enumeration value="protocol" />
  33.     </xsd:restriction>
  34.   </xsd:simpleType>
  35.  
  36.   <!--Audio Element definition-->
  37.   <xsd:complexType name="audioType">
  38.     <xsd:attribute name="src" type="xsd:string" use="optional" />
  39.     <xsd:attribute name="loop" type="xsd:boolean" use="optional" />
  40.     <xsd:attribute name="silent" type="xsd:string" use="optional" />
  41.   </xsd:complexType>
  42.  
  43.   <!--Commands scenarios enum-->
  44.   <xsd:simpleType name="commandsScenarios">
  45.     <xsd:restriction base="xsd:token">
  46.       <xsd:enumeration value="alarm" />
  47.       <xsd:enumeration value="incomingCall" />
  48.     </xsd:restriction>
  49.   </xsd:simpleType>
  50.  
  51.   <!--Command ID enum-->
  52.   <xsd:simpleType name="commandIds">
  53.     <xsd:restriction base="xsd:token">
  54.       <xsd:enumeration value="snooze" />
  55.       <xsd:enumeration value="dismiss" />
  56.       <xsd:enumeration value="video" />
  57.       <xsd:enumeration value="voice" />
  58.       <xsd:enumeration value="decline" />
  59.     </xsd:restriction>
  60.   </xsd:simpleType>
  61.  
  62.   <!--Command Element definition-->
  63.   <xsd:complexType name="commandType">
  64.     <xsd:attribute name="id" type="commandIds" use="optional" />
  65.     <xsd:attribute name="arguments" type="xsd:string" use="optional" />
  66.   </xsd:complexType>
  67.  
  68.   <!--Commands element definition-->
  69.   <xsd:complexType name="commandsType">
  70.     <xsd:sequence minOccurs="0" maxOccurs="unbounded">
  71.       <xsd:element ref="command" />
  72.     </xsd:sequence>
  73.     <xsd:attribute name="scenario" type="commandsScenarios" use="optional" />
  74.   </xsd:complexType>
  75.  
  76.   <!--Input type enum-->
  77.   <xsd:simpleType name="inputTypes">
  78.     <xsd:restriction base="xsd:token">
  79.       <xsd:enumeration value="text" />
  80.       <xsd:enumeration value="selection" />
  81.     </xsd:restriction>
  82.   </xsd:simpleType>
  83.  
  84.   <!--Input Element Definition-->
  85.   <xsd:complexType name="inputType">
  86.     <xsd:sequence minOccurs="0" maxOccurs="5">
  87.       <xsd:element ref="selection" />
  88.     </xsd:sequence>
  89.     <xsd:attribute name="id" type="xsd:string" use="required" />
  90.     <xsd:attribute name="type" type="inputTypes" use="required" />
  91.     <xsd:attribute name="title" type="xsd:string" use="optional" />
  92.     <xsd:attribute name="placeholderContent" type="xsd:string" use="optional" />
  93.     <xsd:attribute name="defaultSelection" type="xsd:string" use="optional" />
  94.     <xsd:anyAttribute processContents="skip" />
  95.   </xsd:complexType>
  96.  
  97.   <!--Selection Element Definition-->
  98.   <xsd:complexType name="selectionType">
  99.     <xsd:attribute name="id" type="xsd:string" use="required" />
  100.     <xsd:attribute name="content" type="xsd:string" use="required" />
  101.     <xsd:anyAttribute processContents="skip" />
  102.   </xsd:complexType>
  103.  
  104.   <!--Action Element definition-->
  105.   <xsd:complexType name="actionType">
  106.     <xsd:attribute name="content" type="xsd:string" use="required" />
  107.     <xsd:attribute name="arguments" type="xsd:string" use="required" />
  108.     <xsd:attribute name="activationType" type="activationTypes" use="optional" />
  109.     <xsd:anyAttribute processContents="skip" />
  110.   </xsd:complexType>
  111.  
  112.   <!--Actions Element Definition-->
  113.   <xsd:complexType name="actionsType">
  114.     <xsd:sequence>
  115.       <xsd:element minOccurs="0" maxOccurs="1" ref="input" />
  116.       <xsd:element minOccurs="1" maxOccurs="5" ref="action" />
  117.     </xsd:sequence>
  118.   </xsd:complexType>
  119.  
  120.  
  121.   <!-- Text Element Definition -->
  122.   <xsd:complexType name="textType">
  123.     <xsd:simpleContent>
  124.       <xsd:extension base="xsd:string">
  125.         <xsd:attribute name="id" use="optional" type="xsd:nonNegativeInteger" />
  126.         <xsd:attribute name="lang" use="optional" type="xsd:string" />
  127.         <xsd:anyAttribute processContents="skip" />
  128.       </xsd:extension>
  129.     </xsd:simpleContent>
  130.   </xsd:complexType>
  131.  
  132.   <!-- Image Element Definition -->
  133.   <xsd:complexType name="imageType">
  134.     <xsd:attribute name="id" use="optional" type="xsd:nonNegativeInteger" />
  135.     <xsd:attribute name="src" use="required" type="xsd:anyURI" />
  136.     <xsd:attribute name="placement" use="optional" type="xsd:string" />
  137.     <xsd:attribute name="alt" use="optional" type="xsd:string" />
  138.     <xsd:attribute name="addImageQuery" use="optional" type="xsd:boolean" />
  139.     <xsd:anyAttribute processContents="skip" />
  140.   </xsd:complexType>
  141.  
  142.   <!-- Subgroup Element Definition -->
  143.   <xsd:complexType name="subgroupType">
  144.     <xsd:choice minOccurs="0" maxOccurs="unbounded">
  145.       <xsd:element ref="text" />
  146.       <xsd:element ref="image" />
  147.     </xsd:choice>
  148.     <xsd:attribute name="id" use="optional" type="xsd:string" />
  149.     <xsd:anyAttribute processContents="skip" />
  150.   </xsd:complexType>
  151.  
  152.   <!-- Group Element Definition -->
  153.   <xsd:complexType name="groupType">
  154.     <xsd:sequence>
  155.       <xsd:element minOccurs="1" maxOccurs="unbounded" ref="subgroup" />
  156.     </xsd:sequence>
  157.     <xsd:attribute name="id" use="optional" type="xsd:string" />
  158.     <xsd:anyAttribute processContents="skip" />
  159.   </xsd:complexType>
  160.  
  161.  
  162.   <!-- Binding Element Definition -->
  163.   <xsd:complexType name="bindingType">
  164.     <xsd:choice minOccurs="0" maxOccurs="unbounded" >
  165.       <xsd:element ref="text" />
  166.       <xsd:element ref="image" />
  167.       <xsd:element ref="group" />
  168.     </xsd:choice>
  169.     <xsd:attribute name="template" use="required" type="xsd:string" />
  170.     <!--TODO: Work through fallback usage, it won't work with UAP templates since there are no text IDs-->
  171.     <xsd:attribute name="fallback" use="optional" type="xsd:string" />
  172.     <xsd:attribute name="lang" use="optional" type="xsd:string" />
  173.     <xsd:attribute name="baseUri" use="optional" type="xsd:anyURI" />
  174.     <xsd:attribute name="branding" use="optional" type="brandingToken" />
  175.     <xsd:attribute name="addImageQuery" use="optional" type="xsd:boolean" />
  176.     <xsd:attribute name="contentId" use="optional" type="xsd:string" />
  177.     <xsd:attribute name="displayName" use="optional" type="xsd:string" />
  178.     <xsd:anyAttribute processContents="skip" />
  179.   </xsd:complexType>
  180.  
  181.   <!-- Visual Element Definition -->
  182.   <xsd:complexType name="visualType">
  183.     <xsd:sequence minOccurs="1" maxOccurs="unbounded">
  184.       <xsd:element ref="binding" />
  185.     </xsd:sequence>
  186.     <xsd:attribute name="version">
  187.       <xsd:simpleType>
  188.         <xsd:restriction base="xsd:nonNegativeInteger" />
  189.       </xsd:simpleType>
  190.     </xsd:attribute>
  191.     <xsd:attribute name="lang" use="optional" type="xsd:string" />
  192.     <xsd:attribute name="baseUri" use="optional" type="xsd:anyURI" />
  193.     <xsd:attribute name="branding" use="optional" type="brandingToken" />
  194.     <xsd:attribute name="addImageQuery" use="optional" type="xsd:boolean" />
  195.     <xsd:attribute name="contentId" use="optional" type="xsd:string" />
  196.     <xsd:anyAttribute processContents="skip" />
  197.   </xsd:complexType>
  198.  
  199.  
  200.  
  201.   <!-- Tile Element Definition -->
  202.   <xsd:complexType name="tileType">
  203.     <xsd:sequence minOccurs="1" maxOccurs="1">
  204.       <xsd:element ref="visual" />
  205.     </xsd:sequence>
  206.     <xsd:anyAttribute processContents="skip" />
  207.   </xsd:complexType>
  208.  
  209.   <!-- Toast Element Definition -->
  210.   <xsd:complexType name="toastType">
  211.     <xsd:sequence>
  212.       <xsd:element minOccurs="1" maxOccurs="1" ref="visual" />
  213.       <xsd:element minOccurs="0" maxOccurs="1" ref="audio" />
  214.       <xsd:choice minOccurs="0" maxOccurs="1">
  215.         <xsd:element ref="actions" />
  216.         <xsd:element ref="commands" />
  217.       </xsd:choice>
  218.     </xsd:sequence>
  219.     <xsd:attribute name="launch" use="optional" type="xsd:string" />
  220.     <xsd:attribute name="duration" use="optional" type="xsd:string" />
  221.     <xsd:attribute name="activationType" use="optional" type="activationTypes" />
  222.     <xsd:anyAttribute processContents="skip" />
  223.   </xsd:complexType>
  224.  
  225.  
  226.   <!-- Global elements -->
  227.   <xsd:element name="command" type="commandType" />
  228.   <xsd:element name="commands" type="commandsType" />
  229.   <xsd:element name="selection" type="selectionType" />
  230.   <xsd:element name="input" type="inputType" />
  231.   <xsd:element name="audio" type="audioType" />
  232.   <xsd:element name="actions" type="actionsType" />
  233.   <xsd:element name="action" type="actionType" />
  234.   <xsd:element name="text" type="textType" />
  235.   <xsd:element name="image" type="imageType" />
  236.   <xsd:element name="subgroup" type="subgroupType" />
  237.   <xsd:element name="group" type="groupType" />
  238.   <xsd:element name="binding" type="bindingType" />
  239.   <xsd:element name="visual" type="visualType" />
  240.   <xsd:element name="tile" type="tileType" />
  241.   <xsd:element name="toast" type="toastType" />
  242. </xsd:schema>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement