summaryrefslogtreecommitdiffstats
path: root/addons/xbmc.addon
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 18:07:22 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 18:07:22 +0000
commitc04dcc2e7d834218ef2d4194331e383402495ae1 (patch)
tree7333e38d10d75386e60f336b80c2443c1166031d /addons/xbmc.addon
parentInitial commit. (diff)
downloadkodi-c04dcc2e7d834218ef2d4194331e383402495ae1.tar.xz
kodi-c04dcc2e7d834218ef2d4194331e383402495ae1.zip
Adding upstream version 2:20.4+dfsg.upstream/2%20.4+dfsg
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'addons/xbmc.addon')
-rw-r--r--addons/xbmc.addon/addon.xml.in9
-rw-r--r--addons/xbmc.addon/metadata.xsd85
-rw-r--r--addons/xbmc.addon/repository.xsd44
3 files changed, 138 insertions, 0 deletions
diff --git a/addons/xbmc.addon/addon.xml.in b/addons/xbmc.addon/addon.xml.in
new file mode 100644
index 0000000..9409cbf
--- /dev/null
+++ b/addons/xbmc.addon/addon.xml.in
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<addon id="xbmc.addon" version="@APP_ADDON_API@" provider-name="Team XBMC">
+ <backwards-compatibility abi="12.0"/>
+ <requires>
+ <import addon="xbmc.core" version="0.1.0"/>
+ </requires>
+ <extension-point id="metadata" schema="metadata.xsd"/>
+ <extension-point id="repository" schema="repository.xsd"/>
+</addon>
diff --git a/addons/xbmc.addon/metadata.xsd b/addons/xbmc.addon/metadata.xsd
new file mode 100644
index 0000000..86a867e
--- /dev/null
+++ b/addons/xbmc.addon/metadata.xsd
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd">
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:element name="extension">
+ <xs:complexType>
+ <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" maxOccurs="unbounded"/>
+ <xs:element name="platform" type="platformList" minOccurs="0"/>
+ <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="lifecyclestate" type="translatedLifecycleState" minOccurs="0" maxOccurs="unbounded"/>
+ <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"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:simpleType name="simpleIdentifier">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="(kodi|xbmc)\.addon\.metadata"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="translatedString">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="lang" type="langIdentifier" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="translatedLifecycleState">
+ <xs:simpleContent>
+ <xs:extension base="nonEmptyStringCapped">
+ <xs:attribute name="type" type="lifecycleStateType" use="required"/>
+ <xs:attribute name="lang" type="langIdentifier"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:simpleType name="platformType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="linux"/>
+ <xs:enumeration value="osx"/>
+ <xs:enumeration value="osx64"/>
+ <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="langIdentifier">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[a-z]{2,3}(_[A-Z]{2}(@\S+)?)?"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="lifecycleStateType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="normal"/>
+ <xs:enumeration value="deprecated"/>
+ <xs:enumeration value="broken"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <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>
diff --git a/addons/xbmc.addon/repository.xsd b/addons/xbmc.addon/repository.xsd
new file mode 100644
index 0000000..8ff271c
--- /dev/null
+++ b/addons/xbmc.addon/repository.xsd
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd">
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:element name="extension">
+ <xs:complexType>
+ <xs:all>
+ <xs:element name="info" type="infoItem" minOccurs="1"/>
+ <xs:element name="checksum" type="checksumItem" minOccurs="1"/>
+ <xs:element name="datadir" type="datadirItem" minOccurs="1"/>
+ <xs:element name="artdir" type="xs:string"/>
+ <xs:element name="hashes" type="xs:string"/>
+ </xs:all>
+ <xs:attribute name="point" type="xs:string" use="required"/>
+ <xs:attribute name="id" type="simpleIdentifier"/>
+ <xs:attribute name="name" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="checksumItem">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="verify" type="xs:string"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="infoItem">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="compressed" type="xs:boolean"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="datadirItem">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="zip" type="xs:boolean"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:simpleType name="simpleIdentifier">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="xbmc\.addon\.repository"/>
+ </xs:restriction>
+ </xs:simpleType>
+</xs:schema>