Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="UTF-8"?>
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" targetNamespace="http://pear.php.net/dtd/package-2.0" elementFormDefault="qualified" attributeFormDefault="unqualified" xml:lang="EN" xmlns:data-view="http://www.w3.org/2003/g/data-view#" data-view:transformation="http://www.w3.org/2003/g/embeddedRDF.xsl">
- <xs:annotation>
- <xs:appinfo>
- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
- <rdf:Description rdf:about="">
- <data-view:namespaceTransformation rdf:resource="grokPEAR.xsl" />
- </rdf:Description>
- </rdf:RDF>
- </xs:appinfo>
- </xs:annotation>
- <xs:element name="package">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="name"/>
- <xs:choice>
- <xs:element ref="channel"/>
- <xs:element ref="uri"/>
- </xs:choice>
- <xs:element ref="extends" minOccurs="0"/>
- <xs:element ref="summary"/>
- <xs:element ref="description"/>
- <xs:element ref="lead" maxOccurs="unbounded"/>
- <xs:element ref="developer" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element ref="contributor" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element ref="helper" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element ref="date"/>
- <xs:element ref="time" minOccurs="0"/>
- <xs:element ref="version"/>
- <xs:element ref="stability"/>
- <xs:element ref="license"/>
- <xs:element ref="notes"/>
- <xs:element ref="contents"/>
- <xs:element ref="compatible" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element ref="dependencies"/>
- <xs:element ref="providesextension" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element ref="usesrole" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element ref="usestask" minOccurs="0" maxOccurs="unbounded"/>
- <xs:choice minOccurs="0">
- <xs:element ref="srcpackage"/>
- <xs:element name="srcuri" type="xs:anyURI">
- <xs:annotation>
- <xs:documentation>uri of the package that contains the source of this extension</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:choice>
- <xs:choice>
- <xs:element ref="phprelease" maxOccurs="unbounded"/>
- <xs:element ref="extsrcrelease" maxOccurs="unbounded"/>
- <xs:element ref="extbinrelease" maxOccurs="unbounded"/>
- <xs:element ref="bundle"/>
- </xs:choice>
- <xs:element ref="changelog" minOccurs="0"/>
- </xs:sequence>
- <xs:attribute name="version" type="xs:string" fixed="2.0"/>
- <xs:attribute name="packagerversion" type="version"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="name" type="xs:string">
- <xs:annotation>
- <xs:documentation>this is ignored if the release type is bundle</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="summary" type="xs:string"/>
- <xs:element name="description" type="xs:string"/>
- <xs:element name="lead">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="name"/>
- <xs:element ref="user"/>
- <xs:element ref="email"/>
- <xs:element ref="active"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="developer">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="name"/>
- <xs:element ref="user"/>
- <xs:element ref="email"/>
- <xs:element ref="active"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="contributor">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="name"/>
- <xs:element ref="user"/>
- <xs:element ref="email"/>
- <xs:element ref="active"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="helper">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="name"/>
- <xs:element ref="user"/>
- <xs:element ref="email"/>
- <xs:element ref="active"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="date" type="xs:date"/>
- <xs:element name="version">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="release" type="version"/>
- <xs:element name="api" type="version"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="license">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:attribute name="uri" type="xs:anyURI"/>
- <xs:attribute name="filesource" type="xs:string"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="stability">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="release">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="snapshot"/>
- <xs:enumeration value="devel"/>
- <xs:enumeration value="alpha"/>
- <xs:enumeration value="beta"/>
- <xs:enumeration value="stable"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="api">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="devel"/>
- <xs:enumeration value="alpha"/>
- <xs:enumeration value="beta"/>
- <xs:enumeration value="stable"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="notes" type="xs:string"/>
- <xs:element name="contents">
- <xs:complexType>
- <xs:choice>
- <xs:element ref="dir" maxOccurs="unbounded"/>
- <xs:element ref="bundledpackage" maxOccurs="unbounded"/>
- </xs:choice>
- </xs:complexType>
- </xs:element>
- <xs:element name="dir">
- <xs:complexType>
- <xs:choice>
- <xs:sequence maxOccurs="unbounded">
- <xs:element ref="dir" maxOccurs="unbounded"/>
- <xs:element ref="file" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:sequence maxOccurs="unbounded">
- <xs:element ref="file" maxOccurs="unbounded"/>
- <xs:element ref="dir" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:choice>
- <xs:attribute name="baseinstalldir" type="xs:string"/>
- <xs:attribute name="name" type="xs:string" use="required"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="file">
- <xs:complexType>
- <xs:choice>
- <xs:any namespace="http://pear.php.net/dtd/tasks-1.0" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </xs:choice>
- <xs:attribute name="name" type="xs:string" use="required"/>
- <xs:attribute name="role" type="xs:string" use="required"/>
- <xs:attribute name="baseinstalldir" type="xs:string"/>
- <xs:attribute name="md5sum" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="install">
- <xs:complexType>
- <xs:attribute name="name" type="xs:string" use="required"/>
- <xs:attribute name="as" type="xs:string" use="required"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="ignore">
- <xs:complexType>
- <xs:attribute name="name" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="phprelease">
- <xs:annotation>
- <xs:documentation>for php script releases</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="installconditions" minOccurs="0"/>
- <xs:element ref="filelist" minOccurs="0"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="extsrcrelease">
- <xs:annotation>
- <xs:documentation>for extension source releases</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="installconditions" minOccurs="0"/>
- <xs:element ref="configureoption" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element name="binarypackage" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element ref="filelist" minOccurs="0"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="extbinrelease">
- <xs:annotation>
- <xs:documentation>for compiled extension source releases</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="installconditions" minOccurs="0"/>
- <xs:element ref="filelist" minOccurs="0"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="bundle">
- <xs:annotation>
- <xs:documentation>for bundling several releases together in one release</xs:documentation>
- </xs:annotation>
- <xs:complexType/>
- </xs:element>
- <xs:element name="filelist">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="install" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element ref="ignore" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="dependencies">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="required"/>
- <xs:element ref="optional" minOccurs="0"/>
- <xs:element ref="group" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="nodefault">
- <xs:annotation>
- <xs:documentation>tells the installer not to install the default dependency group</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="required">
- <xs:annotation>
- <xs:documentation>absolute required dependencies</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="php"/>
- <xs:element ref="pearinstaller"/>
- <xs:element name="package" minOccurs="0" maxOccurs="unbounded">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="name"/>
- <xs:choice>
- <xs:sequence>
- <xs:element ref="channel"/>
- <xs:element ref="min" minOccurs="0"/>
- <xs:element ref="max" minOccurs="0"/>
- <xs:element ref="recommended" minOccurs="0"/>
- <xs:element ref="exclude" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element ref="nodefault" minOccurs="0"/>
- </xs:sequence>
- <xs:element ref="uri"/>
- </xs:choice>
- <xs:element ref="conflicts" minOccurs="0"/>
- <xs:element ref="providesextension" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="subpackage" minOccurs="0" maxOccurs="unbounded">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="name"/>
- <xs:choice>
- <xs:sequence>
- <xs:element ref="channel"/>
- <xs:element ref="min" minOccurs="0"/>
- <xs:element ref="max" minOccurs="0"/>
- <xs:element ref="recommended" minOccurs="0"/>
- <xs:element ref="exclude" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element ref="nodefault" minOccurs="0"/>
- </xs:sequence>
- <xs:element ref="uri"/>
- </xs:choice>
- <xs:element ref="conflicts" minOccurs="0"/>
- <xs:element ref="providesextension" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element ref="extension" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element ref="os" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element ref="arch" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="group">
- <xs:annotation>
- <xs:documentation>all other optional dependency groups</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element name="package" minOccurs="0" maxOccurs="unbounded">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="name"/>
- <xs:choice>
- <xs:sequence>
- <xs:element ref="channel"/>
- <xs:element ref="min" minOccurs="0"/>
- <xs:element ref="max" minOccurs="0"/>
- <xs:element ref="recommended" minOccurs="0"/>
- <xs:element ref="exclude" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element ref="nodefault" minOccurs="0"/>
- </xs:sequence>
- <xs:element ref="uri"/>
- </xs:choice>
- <xs:element ref="providesextension" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="subpackage" minOccurs="0" maxOccurs="unbounded">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="name"/>
- <xs:choice>
- <xs:sequence>
- <xs:element ref="channel"/>
- <xs:element ref="min" minOccurs="0"/>
- <xs:element ref="max" minOccurs="0"/>
- <xs:element ref="recommended" minOccurs="0"/>
- <xs:element ref="exclude" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element ref="nodefault" minOccurs="0"/>
- </xs:sequence>
- <xs:element ref="uri"/>
- </xs:choice>
- <xs:element ref="providesextension" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element ref="extension" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute name="name" type="xs:string" use="required"/>
- <xs:attribute name="hint" type="xs:string" use="required"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="optional">
- <xs:annotation>
- <xs:documentation>simple optional dependencies</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element name="package" minOccurs="0" maxOccurs="unbounded">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="name"/>
- <xs:choice>
- <xs:sequence>
- <xs:element ref="channel"/>
- <xs:element ref="min" minOccurs="0"/>
- <xs:element ref="max" minOccurs="0"/>
- <xs:element ref="recommended" minOccurs="0"/>
- <xs:element ref="exclude" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element ref="nodefault" minOccurs="0"/>
- </xs:sequence>
- <xs:element ref="uri"/>
- </xs:choice>
- <xs:element ref="providesextension" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="subpackage" minOccurs="0" maxOccurs="unbounded">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="name"/>
- <xs:choice>
- <xs:sequence>
- <xs:element ref="channel"/>
- <xs:element ref="min" minOccurs="0"/>
- <xs:element ref="max" minOccurs="0"/>
- <xs:element ref="recommended" minOccurs="0"/>
- <xs:element ref="exclude" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element ref="nodefault" minOccurs="0"/>
- </xs:sequence>
- <xs:element ref="uri"/>
- </xs:choice>
- <xs:element ref="conflicts" minOccurs="0"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element ref="extension" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="changelog">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="release" minOccurs="1" maxOccurs="unbounded">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="lead" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element ref="developer" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element ref="version"/>
- <xs:element ref="stability"/>
- <xs:element ref="date"/>
- <xs:element ref="license"/>
- <xs:element ref="notes"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:simpleType name="version">
- <xs:annotation>
- <xs:documentation>version string regex</xs:documentation>
- </xs:annotation>
- <xs:restriction base="xs:string">
- <xs:pattern value="[0-9]+(\.[0-9]+)*([a-zA-Z]+[0-9]*)?"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:element name="extension">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="name"/>
- <xs:element ref="min" minOccurs="0"/>
- <xs:element ref="max" minOccurs="0"/>
- <xs:element ref="recommended" minOccurs="0"/>
- <xs:element ref="exclude" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element ref="conflicts" minOccurs="0"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="pearinstaller">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="min"/>
- <xs:element ref="max" minOccurs="0"/>
- <xs:element ref="recommended" minOccurs="0"/>
- <xs:element ref="exclude" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="php">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="min"/>
- <xs:element ref="max" minOccurs="0"/>
- <xs:element ref="exclude" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="installconditions">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="php" minOccurs="0"/>
- <xs:element ref="extension" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element ref="os" minOccurs="0"/>
- <xs:element ref="arch" minOccurs="0"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="exclude" type="version"/>
- <xs:element name="configureoption">
- <xs:complexType>
- <xs:attribute name="name" type="xs:string" use="required"/>
- <xs:attribute name="default" type="xs:string"/>
- <xs:attribute name="prompt" type="xs:string" use="required"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="arch">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="pattern"/>
- <xs:element ref="conflicts" minOccurs="0"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="extends" type="xs:string"/>
- <xs:element name="time" type="xs:time"/>
- <xs:element name="compatible">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="name"/>
- <xs:element name="channel"/>
- <xs:element ref="min"/>
- <xs:element ref="max"/>
- <xs:element ref="exclude" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="min" type="version"/>
- <xs:element name="max" type="version"/>
- <xs:element name="user" type="xs:string"/>
- <xs:element name="email" type="xs:string"/>
- <xs:element name="active">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="yes"/>
- <xs:enumeration value="no"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="recommended" type="version"/>
- <xs:element name="channel">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:pattern value="[A-Za-z][a-zA-Z0-9_.]+"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="uri" type="xs:anyURI"/>
- <xs:element name="pattern" type="xs:string"/>
- <xs:element name="conflicts"/>
- <xs:element name="os">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="name"/>
- <xs:element ref="conflicts" minOccurs="0"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="srcpackage" type="xs:string">
- <xs:annotation>
- <xs:documentation>name of the package that contains the source of this extension (can be the same if the source and binaries are in the same package)</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="srcchannel" type="xs:string"/>
- <xs:element name="bundledpackage" type="xs:string"/>
- <xs:element name="filename" type="xs:string"/>
- <xs:element name="providesextension" type="xs:string">
- <xs:annotation>
- <xs:documentation>if a package can provide one or more compatible extensions (dblib/sybase/mssql for instance)</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="usesrole">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="role"/>
- <xs:choice>
- <xs:sequence>
- <xs:element name="package" type="xs:string"/>
- <xs:element ref="channel"/>
- </xs:sequence>
- <xs:element ref="uri"/>
- </xs:choice>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="usestask">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="task"/>
- <xs:choice>
- <xs:sequence>
- <xs:element name="package" type="xs:string"/>
- <xs:element ref="channel"/>
- </xs:sequence>
- <xs:element ref="uri"/>
- </xs:choice>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="role" type="xs:string"/>
- <xs:element name="task" type="xs:string"/>
- </xs:schema>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement