123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671 |
- <?xml version="1.0"?>
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- elementFormDefault="qualified" attributeFormDefault="unqualified">
- <xs:element name="info">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="id" type="id" minOccurs="1" maxOccurs="1"/>
- <xs:element name="name" type="l10n-string" minOccurs="1"
- maxOccurs="unbounded"/>
- <xs:element name="summary" type="l10n-string" minOccurs="1"
- maxOccurs="unbounded"/>
- <xs:element name="description" type="l10n-text" minOccurs="1"
- maxOccurs="unbounded"/>
- <xs:element name="version" type="semver"
- minOccurs="1" maxOccurs="1"/>
- <xs:element name="licence" type="licence" minOccurs="1"
- maxOccurs="unbounded"/>
- <xs:element name="author" type="author" minOccurs="1"
- maxOccurs="unbounded"/>
- <xs:element name="namespace" type="limited-string"
- minOccurs="0" maxOccurs="1"/>
- <xs:element name="default_enable" minOccurs="0"
- maxOccurs="1"/>
- <xs:element name="types" type="types" minOccurs="0"
- maxOccurs="1"/>
- <xs:element name="documentation" type="documentation"
- minOccurs="0" maxOccurs="1"/>
- <xs:element name="category" type="category" minOccurs="1"
- maxOccurs="unbounded"/>
- <xs:element name="website" type="url" minOccurs="0"
- maxOccurs="1"/>
- <xs:element name="discussion" type="url" minOccurs="0"
- maxOccurs="1"/>
- <xs:element name="bugs" type="url" minOccurs="1"
- maxOccurs="1"/>
- <xs:element name="repository" type="repository" minOccurs="0"
- maxOccurs="1"/>
- <xs:element name="screenshot" type="screenshot" minOccurs="0"
- maxOccurs="10"/>
- <xs:element name="dependencies" type="dependencies"
- minOccurs="1" maxOccurs="1"/>
- <xs:element name="background-jobs" type="jobs"
- minOccurs="0" maxOccurs="1"/>
- <xs:element name="repair-steps" type="repair-steps"
- minOccurs="0" maxOccurs="1"/>
- <xs:element name="two-factor-providers"
- type="two-factor-providers"
- minOccurs="0" maxOccurs="1"/>
- <xs:element name="commands" type="commands"
- minOccurs="0" maxOccurs="1"/>
- <xs:element name="settings" type="settings" minOccurs="0"
- maxOccurs="1"/>
- <xs:element name="activity" type="activity" minOccurs="0"
- maxOccurs="1"/>
- <xs:element name="navigations" type="navigations" minOccurs="0"
- maxOccurs="1"/>
- <xs:element name="contactsmenu" type="contactsmenu" minOccurs="0"
- maxOccurs="1"/>
- <xs:element name="collaboration" type="collaboration" minOccurs="0"
- maxOccurs="1" />
- <xs:element name="sabre" type="sabre" minOccurs="0"
- maxOccurs="1" />
- <xs:element name="public" type="public" minOccurs="0"
- maxOccurs="1" />
- </xs:sequence>
- </xs:complexType>
- <xs:unique name="uniqueNameL10n">
- <xs:selector xpath="name"/>
- <xs:field xpath="@lang"/>
- </xs:unique>
- <xs:unique name="uniqueSummaryL10n">
- <xs:selector xpath="summary"/>
- <xs:field xpath="@lang"/>
- </xs:unique>
- <xs:unique name="uniqueDescriptionL10n">
- <xs:selector xpath="description"/>
- <xs:field xpath="@lang"/>
- </xs:unique>
- <xs:unique name="uniqueLicense">
- <xs:selector xpath="licence"/>
- <xs:field xpath="."/>
- </xs:unique>
- <xs:unique name="uniqueTypes">
- <xs:selector xpath="types/type"/>
- <xs:field xpath="."/>
- </xs:unique>
- <xs:unique name="uniqueCategory">
- <xs:selector xpath="category"/>
- <xs:field xpath="."/>
- </xs:unique>
- <xs:unique name="uniqueDatabase">
- <xs:selector xpath="dependencies/database"/>
- <xs:field xpath="."/>
- </xs:unique>
- <xs:unique name="uniqueLib">
- <xs:selector xpath="dependencies/lib"/>
- <xs:field xpath="."/>
- </xs:unique>
- <xs:unique name="uniqueCommand">
- <xs:selector xpath="dependencies/command"/>
- <xs:field xpath="."/>
- </xs:unique>
- </xs:element>
- <!-- basic types -->
- <xs:simpleType name="empty-string">
- <xs:restriction base="xs:string">
- <xs:maxLength value="0"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="non-empty-string">
- <xs:restriction base="xs:string">
- <xs:minLength value="1"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="limited-string">
- <xs:restriction base="non-empty-string">
- <xs:maxLength value="256"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:complexType name="l10n-text">
- <xs:simpleContent>
- <xs:extension base="non-empty-string">
- <xs:attribute name="lang" type="l10n-code" default="en"
- use="optional"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="l10n-string">
- <xs:simpleContent>
- <xs:restriction base="l10n-text">
- <xs:maxLength value="128"/>
- </xs:restriction>
- </xs:simpleContent>
- </xs:complexType>
- <xs:simpleType name="l10n-code">
- <xs:restriction base="xs:string">
- <xs:enumeration value="af"/>
- <xs:enumeration value="ar"/>
- <xs:enumeration value="ast"/>
- <xs:enumeration value="az"/>
- <xs:enumeration value="bg"/>
- <xs:enumeration value="be"/>
- <xs:enumeration value="bn"/>
- <xs:enumeration value="br"/>
- <xs:enumeration value="bs"/>
- <xs:enumeration value="ca"/>
- <xs:enumeration value="cs"/>
- <xs:enumeration value="cy"/>
- <xs:enumeration value="da"/>
- <xs:enumeration value="de"/>
- <xs:enumeration value="el"/>
- <xs:enumeration value="en"/>
- <xs:enumeration value="eo"/>
- <xs:enumeration value="es"/>
- <xs:enumeration value="es-ar"/>
- <xs:enumeration value="es-co"/>
- <xs:enumeration value="es-mx"/>
- <xs:enumeration value="es-ni"/>
- <xs:enumeration value="es-ve"/>
- <xs:enumeration value="et"/>
- <xs:enumeration value="eu"/>
- <xs:enumeration value="fa"/>
- <xs:enumeration value="fi"/>
- <xs:enumeration value="fr"/>
- <xs:enumeration value="fy"/>
- <xs:enumeration value="ga"/>
- <xs:enumeration value="gd"/>
- <xs:enumeration value="gl"/>
- <xs:enumeration value="he"/>
- <xs:enumeration value="hi"/>
- <xs:enumeration value="hr"/>
- <xs:enumeration value="hu"/>
- <xs:enumeration value="ia"/>
- <xs:enumeration value="id"/>
- <xs:enumeration value="io"/>
- <xs:enumeration value="is"/>
- <xs:enumeration value="it"/>
- <xs:enumeration value="ja"/>
- <xs:enumeration value="ka"/>
- <xs:enumeration value="kk"/>
- <xs:enumeration value="km"/>
- <xs:enumeration value="kn"/>
- <xs:enumeration value="ko"/>
- <xs:enumeration value="lb"/>
- <xs:enumeration value="lt"/>
- <xs:enumeration value="lv"/>
- <xs:enumeration value="mk"/>
- <xs:enumeration value="ml"/>
- <xs:enumeration value="mn"/>
- <xs:enumeration value="mr"/>
- <xs:enumeration value="my"/>
- <xs:enumeration value="nb"/>
- <xs:enumeration value="ne"/>
- <xs:enumeration value="nl"/>
- <xs:enumeration value="nn"/>
- <xs:enumeration value="os"/>
- <xs:enumeration value="pa"/>
- <xs:enumeration value="pl"/>
- <xs:enumeration value="pt"/>
- <xs:enumeration value="pt-br"/>
- <xs:enumeration value="ro"/>
- <xs:enumeration value="ru"/>
- <xs:enumeration value="sk"/>
- <xs:enumeration value="sl"/>
- <xs:enumeration value="sq"/>
- <xs:enumeration value="sr"/>
- <xs:enumeration value="sr-latn"/>
- <xs:enumeration value="sv"/>
- <xs:enumeration value="sw"/>
- <xs:enumeration value="ta"/>
- <xs:enumeration value="te"/>
- <xs:enumeration value="th"/>
- <xs:enumeration value="tr"/>
- <xs:enumeration value="tt"/>
- <xs:enumeration value="udm"/>
- <xs:enumeration value="uk"/>
- <xs:enumeration value="ur"/>
- <xs:enumeration value="vi"/>
- <xs:enumeration value="zh-hans"/>
- <xs:enumeration value="zh-hant"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="semver">
- <xs:restriction base="limited-string">
- <xs:pattern
- value="(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(\-([0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*))?"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="version">
- <xs:restriction base="limited-string">
- <xs:pattern value="[0-9]+(\.[0-9]+){0,2}"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="url">
- <xs:restriction base="xs:anyURI">
- <xs:pattern value="https?://.+"/>
- <xs:maxLength value="256"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="doc-user-url">
- <xs:restriction base="non-empty-string">
- <xs:pattern value="https://.+|user-[a-z]+[\-a-z]*[a-z]+"/>
- <xs:maxLength value="256"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="doc-admin-url">
- <xs:restriction base="non-empty-string">
- <xs:pattern value="https://.+|admin-[a-z]+[\-a-z]*[a-z]+"/>
- <xs:maxLength value="256"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="doc-developer-url">
- <xs:restriction base="non-empty-string">
- <xs:pattern value="https://.+|developer-[a-z]+[\-a-z]*[a-z]+"/>
- <xs:maxLength value="256"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="secure-url">
- <xs:restriction base="xs:anyURI">
- <xs:pattern value="https://.+"/>
- <xs:maxLength value="256"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="email">
- <xs:restriction base="limited-string">
- <xs:pattern value="[^@]+@[^\.]+\..+"/>
- </xs:restriction>
- </xs:simpleType>
- <!-- first level elements -->
- <xs:complexType name="screenshot">
- <xs:simpleContent>
- <xs:extension base="secure-url">
- <xs:attribute name="small-thumbnail" use="optional"
- type="secure-url"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- <xs:simpleType name="id">
- <xs:restriction base="limited-string">
- <xs:pattern value="[a-z]+[a-z0-9_]*[a-z0-9]+"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:complexType name="author">
- <xs:simpleContent>
- <xs:extension base="limited-string">
- <xs:attribute name="mail" type="email" use="optional"/>
- <xs:attribute name="homepage" type="url" use="optional"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="repository">
- <xs:simpleContent>
- <xs:extension base="url">
- <xs:attribute name="type" type="vcs" use="optional"
- default="git"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- <xs:simpleType name="vcs">
- <xs:restriction base="xs:string">
- <xs:enumeration value="git"/>
- <xs:enumeration value="mercurial"/>
- <xs:enumeration value="subversion"/>
- <xs:enumeration value="bzr"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:complexType name="types">
- <xs:sequence>
- <xs:element name="prelogin" minOccurs="0" maxOccurs="1"/>
- <xs:element name="filesystem" minOccurs="0" maxOccurs="1"/>
- <xs:element name="authentication" minOccurs="0" maxOccurs="1"/>
- <xs:element name="logging" minOccurs="0" maxOccurs="1"/>
- <xs:element name="dav" minOccurs="0" maxOccurs="1"/>
- <xs:element name="prevent_group_restriction" minOccurs="0"
- maxOccurs="1"/>
- </xs:sequence>
- </xs:complexType>
- <xs:simpleType name="category">
- <xs:restriction base="xs:string">
- <xs:enumeration value="security"/>
- <xs:enumeration value="customization"/>
- <xs:enumeration value="files"/>
- <xs:enumeration value="integration"/>
- <xs:enumeration value="monitoring"/>
- <xs:enumeration value="multimedia"/>
- <xs:enumeration value="office"/>
- <xs:enumeration value="organization"/>
- <xs:enumeration value="social"/>
- <xs:enumeration value="tools"/>
- <xs:enumeration value="games"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="licence">
- <xs:restriction base="xs:string">
- <xs:enumeration value="agpl"/>
- <xs:enumeration value="mpl"/>
- <xs:enumeration value="apache"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="databases">
- <xs:restriction base="xs:string">
- <xs:enumeration value="sqlite"/>
- <xs:enumeration value="mysql"/>
- <xs:enumeration value="pgsql"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:complexType name="documentation">
- <xs:sequence>
- <xs:element name="user" type="doc-user-url" minOccurs="0" maxOccurs="1"/>
- <xs:element name="admin" type="doc-admin-url" minOccurs="0" maxOccurs="1"/>
- <xs:element name="developer" type="doc-developer-url" minOccurs="0"
- maxOccurs="1"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="settings">
- <xs:sequence>
- <xs:element name="admin" type="php-class" minOccurs="0"
- maxOccurs="unbounded"/>
- <xs:element name="admin-section" type="php-class" minOccurs="0"
- maxOccurs="unbounded"/>
- <xs:element name="personal" type="php-class" minOccurs="0"
- maxOccurs="unbounded"/>
- <xs:element name="personal-section" type="php-class" minOccurs="0"
- maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="activity">
- <xs:sequence>
- <xs:element name="settings" type="activity-settings" minOccurs="0"
- maxOccurs="1"/>
- <xs:element name="filters" type="activity-filters" minOccurs="0" maxOccurs="1"/>
- <xs:element name="providers" type="activity-providers" minOccurs="0"
- maxOccurs="1"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="activity-settings">
- <xs:sequence>
- <xs:element name="setting" type="php-class" minOccurs="1"
- maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="activity-filters">
- <xs:sequence>
- <xs:element name="filter" type="php-class" minOccurs="1"
- maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="activity-providers">
- <xs:sequence>
- <xs:element name="provider" type="php-class" minOccurs="1"
- maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="navigations">
- <xs:sequence>
- <xs:element name="navigation" type="navigation" minOccurs="1"
- maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="navigation">
- <xs:sequence>
- <xs:element name="id" type="id" minOccurs="0" maxOccurs="1"/>
- <xs:element name="name" type="non-empty-string" minOccurs="1" maxOccurs="1"/>
- <xs:element name="route" type="route" minOccurs="1" maxOccurs="1"/>
- <xs:element name="icon" type="xs:anyURI" minOccurs="0" maxOccurs="1"/>
- <xs:element name="order" type="xs:int" minOccurs="0" maxOccurs="1"/>
- <xs:element name="type" type="navigation-type" minOccurs="0" maxOccurs="1"/>
- </xs:sequence>
- <xs:attribute name="role" type="navigation-role" default="all" use="optional"/>
- </xs:complexType>
- <xs:simpleType name="navigation-role">
- <xs:restriction base="xs:string">
- <xs:enumeration value="all"/>
- <xs:enumeration value="admin"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="navigation-type">
- <xs:restriction base="xs:string">
- <xs:enumeration value="link"/>
- <xs:enumeration value="settings"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="route">
- <xs:restriction base="non-empty-string">
- <xs:pattern value="[0-9a-zA-Z_]+(\.[0-9a-zA-Z_]+){2}"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:complexType name="contactsmenu">
- <xs:sequence>
- <xs:element name="provider" type="php-class" minOccurs="1"
- maxOccurs="1"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="collaboration">
- <xs:sequence>
- <xs:element name="plugins" type="collaboration-plugins" minOccurs="0" maxOccurs="1">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="collaboration-plugins">
- <xs:sequence>
- <xs:element name="plugin" type="collaboration-plugins-plugin" minOccurs="1" maxOccurs="unbounded">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="collaboration-plugins-plugin">
- <xs:simpleContent>
- <xs:extension base="php-class">
- <xs:attribute name="type" type="collaboration-plugin-type" use="required"/>
- <xs:attribute name="share-type" type="share-type" />
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- <xs:simpleType name="collaboration-plugin-type">
- <xs:restriction base="xs:string">
- <xs:enumeration value="collaborator-search"/>
- <xs:enumeration value="autocomplete-sort"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:complexType name="sabre">
- <xs:sequence>
- <xs:element name="collections" type="sabre-collections" minOccurs="0" maxOccurs="1"/>
- <xs:element name="plugins" type="sabre-plugins" minOccurs="0" maxOccurs="1"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="sabre-collections">
- <xs:sequence>
- <xs:element name="collection" type="php-class" minOccurs="1" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="sabre-plugins">
- <xs:sequence>
- <xs:element name="plugin" type="php-class" minOccurs="1" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- <xs:simpleType name="share-type">
- <xs:restriction base="xs:string">
- <xs:enumeration value="SHARE_TYPE_USER"/>
- <xs:enumeration value="SHARE_TYPE_GROUP"/>
- <xs:enumeration value="SHARE_TYPE_LINK"/>
- <xs:enumeration value="SHARE_TYPE_EMAIL"/>
- <xs:enumeration value="SHARE_TYPE_CONTACT"/>
- <xs:enumeration value="SHARE_TYPE_REMOTE"/>
- <xs:enumeration value="SHARE_TYPE_CIRCLE"/>
- <xs:enumeration value="SHARE_TYPE_GUEST"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:complexType name="public">
- <xs:sequence>
- <xs:element name="webdav" type="path" minOccurs="0" maxOccurs="1"/>
- <xs:element name="files" type="path" minOccurs="0" maxOccurs="1"/>
- </xs:sequence>
- </xs:complexType>
- <!-- dependencies -->
- <xs:complexType name="dependencies">
- <xs:sequence>
- <xs:element name="php" type="php" minOccurs="0" maxOccurs="1"/>
- <xs:element name="database" type="database" minOccurs="0"
- maxOccurs="unbounded"/>
- <xs:element name="command" type="shell-command" minOccurs="0"
- maxOccurs="unbounded"/>
- <xs:element name="lib" type="min-max-version" minOccurs="0"
- maxOccurs="unbounded"/>
- <xs:element name="owncloud" type="owncloud" minOccurs="0"
- maxOccurs="1"/>
- <xs:element name="nextcloud" type="nextcloud" minOccurs="1"
- maxOccurs="1"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="owncloud">
- <xs:attribute name="min-version" type="version" use="required"/>
- <xs:attribute name="max-version" type="version" use="optional"/>
- </xs:complexType>
- <xs:complexType name="nextcloud">
- <xs:attribute name="min-version" type="version" use="required"/>
- <xs:attribute name="max-version" type="version" use="required"/>
- </xs:complexType>
- <xs:simpleType name="shell-command">
- <xs:restriction base="limited-string">
- <xs:pattern value="[a-zA-Z\-_]+"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:complexType name="min-max-version">
- <xs:simpleContent>
- <xs:extension base="limited-string">
- <xs:attribute name="min-version" type="version"
- use="optional"/>
- <xs:attribute name="max-version" type="version"
- use="optional"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="database">
- <xs:simpleContent>
- <xs:extension base="databases">
- <xs:attribute name="min-version" type="version"
- use="optional"/>
- <xs:attribute name="max-version" type="version"
- use="optional"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="php">
- <xs:simpleContent>
- <xs:extension base="empty-string">
- <xs:attribute name="min-int-size" type="bits" use="optional"
- default="32"/>
- <xs:attribute name="min-version" type="version"
- use="optional"/>
- <xs:attribute name="max-version" type="version"
- use="optional"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- <xs:simpleType name="bits">
- <xs:restriction base="xs:int">
- <xs:enumeration value="32"/>
- <xs:enumeration value="64"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:complexType name="repair-steps">
- <xs:sequence>
- <xs:element name="pre-migration" type="steps" minOccurs="0"
- maxOccurs="1"/>
- <xs:element name="post-migration" type="steps" minOccurs="0"
- maxOccurs="1"/>
- <xs:element name="live-migration" type="steps" minOccurs="0"
- maxOccurs="1"/>
- <xs:element name="install" type="steps" minOccurs="0"
- maxOccurs="1"/>
- <xs:element name="uninstall" type="steps" minOccurs="0"
- maxOccurs="1"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="jobs">
- <xs:sequence>
- <xs:element name="job" type="php-class" minOccurs="1"
- maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="steps">
- <xs:sequence>
- <xs:element name="step" type="php-class" minOccurs="1"
- maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="two-factor-providers">
- <xs:sequence>
- <xs:element name="provider" type="php-class" minOccurs="1"
- maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="commands">
- <xs:sequence>
- <xs:element name="command" type="php-class" minOccurs="1"
- maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- <xs:simpleType name="php-class">
- <xs:restriction base="xs:string">
- <xs:pattern
- value="[a-zA-Z_][0-9a-zA-Z_]*(\\[a-zA-Z_][0-9a-zA-Z_]*)*"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="path">
- <xs:restriction base="xs:string">
- <xs:pattern
- value="[a-zA-Z_][0-9a-zA-Z_]*(/[a-zA-Z_][0-9a-zA-Z_]*)*\.php"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:schema>
|