diff options
author | enen92 <92enen@gmail.com> | 2018-07-28 14:07:39 +0100 |
---|---|---|
committer | enen92 <92enen@gmail.com> | 2018-08-02 16:22:58 +0100 |
commit | 88bd60cd54e1a6d4c7de3e2d75f8685e24233e9f (patch) | |
tree | f2d91d42d6d083f1fb2f0250ab25eb6e2be1f317 /addons/xbmc.addon | |
parent | 8e1073336dd4c22e38d017b3c398ed523a8d7302 (diff) |
[schemas] Update addon metadata XSD schema
Diffstat (limited to 'addons/xbmc.addon')
-rw-r--r-- | addons/xbmc.addon/metadata.xsd | 54 |
1 files changed, 31 insertions, 23 deletions
diff --git a/addons/xbmc.addon/metadata.xsd b/addons/xbmc.addon/metadata.xsd index 18c5559987..0dcdab69a3 100644 --- a/addons/xbmc.addon/metadata.xsd +++ b/addons/xbmc.addon/metadata.xsd @@ -3,20 +3,22 @@ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="extension"> <xs:complexType> - <xs:sequence> + <xs:choice maxOccurs="unbounded"> <xs:element name="summary" type="translatedString" minOccurs="1" maxOccurs="unbounded"/> <xs:element name="description" type="translatedString" minOccurs="0" maxOccurs="unbounded"/> - <xs:element name="disclaimer" type="translatedString" minOccurs="0"/> + <xs:element name="disclaimer" type="translatedString" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="platform" type="platformList" minOccurs="0"/> - <xs:element name="supportedcontent" type="contentList" minOccurs="0"/> - <xs:element name="language" type="xs:string" minOccurs="0"/> - <xs:element name="license" type="xs:string" minOccurs="0"/> - <xs:element name="forum" type="xs:string" minOccurs="0"/> - <xs:element name="website" type="xs:string" minOccurs="0"/> - <xs:element name="source" type="xs:string" minOccurs="0"/> - <xs:element name="email" type="xs:string" minOccurs="0"/> - <xs:element name="broken" type="xs:string" minOccurs="0"/> - </xs:sequence> + <xs:element name="language" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="license" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="forum" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="website" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="source" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="email" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="broken" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="news" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="reuselanguageinvoker" type="xs:boolean" minOccurs="0" maxOccurs="1"/> + <xs:element name="assets" type="assetsList" minOccurs="0" maxOccurs="1"/> + </xs:choice> <xs:attribute name="point" type="xs:string" use="required"/> <xs:attribute name="id" type="simpleIdentifier"/> <xs:attribute name="name" type="xs:string"/> @@ -30,7 +32,7 @@ <xs:complexType name="translatedString"> <xs:simpleContent> <xs:extension base="xs:string"> - <xs:attribute name="lang" type="xs:string"/> + <xs:attribute name="lang" type="langIdentifier" use="required"/> </xs:extension> </xs:simpleContent> </xs:complexType> @@ -42,22 +44,28 @@ <xs:enumeration value="osx32"/> <xs:enumeration value="ios"/> <xs:enumeration value="windx"/> + <xs:enumeration value="windows"/> + <xs:enumeration value="windowsstore"/> <xs:enumeration value="android"/> + <xs:enumeration value="freebsd"/> + <xs:enumeration value="all"/> </xs:restriction> </xs:simpleType> - <xs:simpleType name="platformList"> - <xs:list itemType="platformType"/> - </xs:simpleType> - <xs:simpleType name="contentType"> + <xs:simpleType name="langIdentifier"> <xs:restriction base="xs:string"> - <xs:enumeration value="albums"/> - <xs:enumeration value="artists"/> - <xs:enumeration value="movies"/> - <xs:enumeration value="tvshows"/> - <xs:enumeration value="musicvideos"/> + <xs:pattern value="[a-z]{2}(_[A-Z]{2}(@\S+)?)?"/> </xs:restriction> </xs:simpleType> - <xs:simpleType name="contentList"> - <xs:list itemType="contentType"/> + <xs:complexType name="assetsList"> + <xs:choice maxOccurs="unbounded"> + <xs:element name="icon" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="fanart" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="screenshot" type="xs:string" minOccurs="0"/> + <xs:element name="clearlogo" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="banner" type="xs:string" minOccurs="0" maxOccurs="1"/> + </xs:choice> + </xs:complexType> + <xs:simpleType name="platformList"> + <xs:list itemType="platformType"/> </xs:simpleType> </xs:schema> |