<?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:annotation> <xsd:documentation xml:lang="en"> Epiphany Web Browser extension metadata schema. Copyright (c) 2004 Adam Hooper </xsd:documentation> </xsd:annotation> <xsd:element name="extension-list" type="ExtensionListType"/> <xsd:complexType name="ExtensionListType"> <xsd:annotation> <xsd:documentation xml:lang="en"> List of extensions. Each extension has its set of metadata. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="extension" type="ExtensionType" minOccurs="1"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ExtensionType"> <xsd:annotation> <xsd:documentation xml:lang="en"> Metadata about an extension. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="filename" type="ExtensionFilenameType" minOccurs="1" maxOccurs="1"/> <xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/> <xsd:element name="description" type="xsd:string" minOccurs="1" maxOccurs="1"/> <xsd:element name="version" type="ExtensionVersionType" minOccurs="1" maxOccurs="1"/> <!-- <xsd:element name="min-epiphany-version" type="EpiphanyVersionType" maxOccurs="1"/> <xsd:element name="max-epiphany-version" type="EpiphanyVersionType" maxOccurs="1"/> <xsd:element name="min-mozilla-version" type="MozillaVersionType" maxOccurs="1"/> <xsd:element name="max-mozilla-version" type="MozillaVersionType" maxOccurs="1"/> --> <xsd:element name="author" type="AuthorType"/> <xsd:element name="url" type="xsd:anyURI"/> </xsd:sequence> </xsd:complexType> <xsd:simpleType name="ExtensionFilenameType"> <xsd:annotation> <xsd:documentation xml:lang="en"> The "core" of the extension's filename. For example, use "gestures" for an extension with a shared object name of "libgesturesextension.so". </xsd:documentation> </xsd:annotation> <xsd:restriction base="xsd:string"> <xsd:pattern value="[a-zA-Z0-9_-]+"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="ExtensionVersionType"> <xsd:annotation> <xsd:documentation xml:lang="en"> The version of the extension's API. For most extensions, this number will remain at "1" indefinitely. The only reason to increase it would be if any GObject classess within the extension change parents. </xsd:documentation> </xsd:annotation> <xsd:restriction base="xsd:positiveInteger"/> </xsd:simpleType> <!-- <xsd:complexType name="EpiphanyVersionType"> <xsd:annotation> <xsd:documentation xml:lang="en"> An Epiphany version (major.minor.micro). Extensions may function properly across a range of Epiphany versions, as long as the relevant parts of the Epiphany API have not changed. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="major" type="xsd:positiveInteger" minOccurs="1" maxOccurs="1"/> <xsd:element name="minor" type="xsd:positiveInteger" minOccurs="1" maxOccurs="1"/> <xsd:element name="micro" type="xsd:positiveInteger" minOccurs="1" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="MozillaVersionType"> <xsd:annotation> <xsd:documentation xml:lang="en"> A Mozilla version (major, minor, type, micro). Extensions my function properly across a range of Mozilla versions, as long as the relevant parts of the Mozilla API have not changed. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="major" type="xsd:positiveInteger" minOccurs="1" maxOccurs="1"/> <xsd:element name="minor" type="xsd:positiveInteger" minOccurs="1" maxOccurs="1"/> <xsd:element name="type" type="MozillaVersionTypeType" minOccurs="1" maxOccurs="1"/> <xsd:element name="micro" type="xsd:positiveInteger" minOccurs="1" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> <xsd:simpleType name="MozillaVersionTypeType"> <xsd:annotation> <xsd:documentation xml:lang="en"> The "type" of a Mozilla version. 1 means Alpha, 2 means Beta, 3 means RC and 4 means release. </xsd:documentation> </xsd:annotation> <xsd:restriction base="xsd:positiveInteger"> <xsd:minInclusive value="1"/> <xsd:maxInclusive value="4"/> </xsd:restriction> </xsd:simpleType> --> <xsd:complexType name="AuthorType"> <xsd:annotation> <xsd:documentation xml:lang="en"> An extension author -- a name and (optionally) an email address. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="name" type="xsd:normalizedString" minOccurs="1" maxOccurs="1"/> <xsd:element name="email" type="EmailType" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> <xsd:simpleType name="EmailType"> <xsd:annotation> <xsd:documentation xml:lang="en"> An email address </xsd:documentation> </xsd:annotation> <xsd:restriction base="xsd:string"> <xsd:pattern value="[\.a-zA-Z0-9_-]+@([a-zA-Z0-9_-])+(([a-zA-Z0-9_-])*\.([a-zA-Z0-9_-])+)+"/> </xsd:restriction> </xsd:simpleType> </xsd:schema>