[FileItem] Fix mimetype content lookup
[xbmc.git] / addons / xbmc.addon / metadata.xsd
blob86a867e919df31e85cfa5de8c660872d82aecb8c
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd">
3 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
4 <xs:element name="extension">
5 <xs:complexType>
6 <xs:choice maxOccurs="unbounded">
7 <xs:element name="summary" type="translatedString" minOccurs="1" maxOccurs="unbounded"/>
8 <xs:element name="description" type="translatedString" minOccurs="0" maxOccurs="unbounded"/>
9 <xs:element name="disclaimer" type="translatedString" minOccurs="0" maxOccurs="unbounded"/>
10 <xs:element name="platform" type="platformList" minOccurs="0"/>
11 <xs:element name="language" type="xs:string" minOccurs="0" maxOccurs="1"/>
12 <xs:element name="license" type="xs:string" minOccurs="0" maxOccurs="1" />
13 <xs:element name="forum" type="xs:string" minOccurs="0" maxOccurs="1"/>
14 <xs:element name="website" type="xs:string" minOccurs="0" maxOccurs="1"/>
15 <xs:element name="source" type="xs:string" minOccurs="0" maxOccurs="1"/>
16 <xs:element name="email" type="xs:string" minOccurs="0" maxOccurs="1"/>
17 <xs:element name="lifecyclestate" type="translatedLifecycleState" minOccurs="0" maxOccurs="unbounded"/>
18 <xs:element name="news" type="xs:string" minOccurs="0" maxOccurs="1"/>
19 <xs:element name="reuselanguageinvoker" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
20 <xs:element name="assets" type="assetsList" minOccurs="0" maxOccurs="1"/>
21 </xs:choice>
22 <xs:attribute name="point" type="xs:string" use="required"/>
23 <xs:attribute name="id" type="simpleIdentifier"/>
24 <xs:attribute name="name" type="xs:string"/>
25 </xs:complexType>
26 </xs:element>
27 <xs:simpleType name="simpleIdentifier">
28 <xs:restriction base="xs:string">
29 <xs:pattern value="(kodi|xbmc)\.addon\.metadata"/>
30 </xs:restriction>
31 </xs:simpleType>
32 <xs:complexType name="translatedString">
33 <xs:simpleContent>
34 <xs:extension base="xs:string">
35 <xs:attribute name="lang" type="langIdentifier" use="required"/>
36 </xs:extension>
37 </xs:simpleContent>
38 </xs:complexType>
39 <xs:complexType name="translatedLifecycleState">
40 <xs:simpleContent>
41 <xs:extension base="nonEmptyStringCapped">
42 <xs:attribute name="type" type="lifecycleStateType" use="required"/>
43 <xs:attribute name="lang" type="langIdentifier"/>
44 </xs:extension>
45 </xs:simpleContent>
46 </xs:complexType>
47 <xs:simpleType name="platformType">
48 <xs:restriction base="xs:string">
49 <xs:enumeration value="linux"/>
50 <xs:enumeration value="osx"/>
51 <xs:enumeration value="osx64"/>
52 <xs:enumeration value="ios"/>
53 <xs:enumeration value="windx"/>
54 <xs:enumeration value="windows"/>
55 <xs:enumeration value="windowsstore"/>
56 <xs:enumeration value="android"/>
57 <xs:enumeration value="freebsd"/>
58 <xs:enumeration value="all"/>
59 </xs:restriction>
60 </xs:simpleType>
61 <xs:simpleType name="langIdentifier">
62 <xs:restriction base="xs:string">
63 <xs:pattern value="[a-z]{2,3}(_[A-Z]{2}(@\S+)?)?"/>
64 </xs:restriction>
65 </xs:simpleType>
66 <xs:simpleType name="lifecycleStateType">
67 <xs:restriction base="xs:string">
68 <xs:enumeration value="normal"/>
69 <xs:enumeration value="deprecated"/>
70 <xs:enumeration value="broken"/>
71 </xs:restriction>
72 </xs:simpleType>
73 <xs:complexType name="assetsList">
74 <xs:choice maxOccurs="unbounded">
75 <xs:element name="icon" type="xs:string" minOccurs="0" maxOccurs="1"/>
76 <xs:element name="fanart" type="xs:string" minOccurs="0" maxOccurs="1"/>
77 <xs:element name="screenshot" type="xs:string" minOccurs="0"/>
78 <xs:element name="clearlogo" type="xs:string" minOccurs="0" maxOccurs="1"/>
79 <xs:element name="banner" type="xs:string" minOccurs="0" maxOccurs="1"/>
80 </xs:choice>
81 </xs:complexType>
82 <xs:simpleType name="platformList">
83 <xs:list itemType="platformType"/>
84 </xs:simpleType>
85 </xs:schema>