diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 18:07:22 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 18:07:22 +0000 |
commit | c04dcc2e7d834218ef2d4194331e383402495ae1 (patch) | |
tree | 7333e38d10d75386e60f336b80c2443c1166031d /addons/xbmc.addon | |
parent | Initial commit. (diff) | |
download | kodi-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.in | 9 | ||||
-rw-r--r-- | addons/xbmc.addon/metadata.xsd | 85 | ||||
-rw-r--r-- | addons/xbmc.addon/repository.xsd | 44 |
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> |