Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!
Guest

doconnor

By: a guest on Mar 14th, 2008  |  syntax: None  |  size: 19.98 KB  |  views: 70  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <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">
  3.  <xs:annotation>
  4.   <xs:appinfo>
  5.    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  6.     <rdf:Description rdf:about="">
  7.      <data-view:namespaceTransformation rdf:resource="grokPEAR.xsl" />
  8.     </rdf:Description>
  9.    </rdf:RDF>
  10.   </xs:appinfo>
  11.  </xs:annotation>
  12.  <xs:element name="package">
  13.   <xs:complexType>
  14.    <xs:sequence>
  15.     <xs:element ref="name"/>
  16.     <xs:choice>
  17.      <xs:element ref="channel"/>
  18.      <xs:element ref="uri"/>
  19.     </xs:choice>
  20.     <xs:element ref="extends" minOccurs="0"/>
  21.     <xs:element ref="summary"/>
  22.     <xs:element ref="description"/>
  23.     <xs:element ref="lead" maxOccurs="unbounded"/>
  24.     <xs:element ref="developer" minOccurs="0" maxOccurs="unbounded"/>
  25.     <xs:element ref="contributor" minOccurs="0" maxOccurs="unbounded"/>
  26.     <xs:element ref="helper" minOccurs="0" maxOccurs="unbounded"/>
  27.     <xs:element ref="date"/>
  28.     <xs:element ref="time" minOccurs="0"/>
  29.     <xs:element ref="version"/>
  30.     <xs:element ref="stability"/>
  31.     <xs:element ref="license"/>
  32.     <xs:element ref="notes"/>
  33.     <xs:element ref="contents"/>
  34.     <xs:element ref="compatible" minOccurs="0" maxOccurs="unbounded"/>
  35.     <xs:element ref="dependencies"/>
  36.     <xs:element ref="providesextension" minOccurs="0" maxOccurs="unbounded"/>
  37.     <xs:element ref="usesrole" minOccurs="0" maxOccurs="unbounded"/>
  38.     <xs:element ref="usestask" minOccurs="0" maxOccurs="unbounded"/>
  39.     <xs:choice minOccurs="0">
  40.      <xs:element ref="srcpackage"/>
  41.      <xs:element name="srcuri" type="xs:anyURI">
  42.       <xs:annotation>
  43.        <xs:documentation>uri of the package that contains the source of this extension</xs:documentation>
  44.       </xs:annotation>
  45.      </xs:element>
  46.     </xs:choice>
  47.     <xs:choice>
  48.      <xs:element ref="phprelease" maxOccurs="unbounded"/>
  49.      <xs:element ref="extsrcrelease" maxOccurs="unbounded"/>
  50.      <xs:element ref="extbinrelease" maxOccurs="unbounded"/>
  51.      <xs:element ref="bundle"/>
  52.     </xs:choice>
  53.     <xs:element ref="changelog" minOccurs="0"/>
  54.    </xs:sequence>
  55.    <xs:attribute name="version" type="xs:string" fixed="2.0"/>
  56.    <xs:attribute name="packagerversion" type="version"/>
  57.   </xs:complexType>
  58.  </xs:element>
  59.  <xs:element name="name" type="xs:string">
  60.   <xs:annotation>
  61.    <xs:documentation>this is ignored if the release type is bundle</xs:documentation>
  62.   </xs:annotation>
  63.  </xs:element>
  64.  <xs:element name="summary" type="xs:string"/>
  65.  <xs:element name="description" type="xs:string"/>
  66.  <xs:element name="lead">
  67.   <xs:complexType>
  68.    <xs:sequence>
  69.     <xs:element ref="name"/>
  70.     <xs:element ref="user"/>
  71.     <xs:element ref="email"/>
  72.     <xs:element ref="active"/>
  73.    </xs:sequence>
  74.   </xs:complexType>
  75.  </xs:element>
  76.  <xs:element name="developer">
  77.   <xs:complexType>
  78.    <xs:sequence>
  79.     <xs:element ref="name"/>
  80.     <xs:element ref="user"/>
  81.     <xs:element ref="email"/>
  82.     <xs:element ref="active"/>
  83.    </xs:sequence>
  84.   </xs:complexType>
  85.  </xs:element>
  86.  <xs:element name="contributor">
  87.   <xs:complexType>
  88.    <xs:sequence>
  89.     <xs:element ref="name"/>
  90.     <xs:element ref="user"/>
  91.     <xs:element ref="email"/>
  92.     <xs:element ref="active"/>
  93.    </xs:sequence>
  94.   </xs:complexType>
  95.  </xs:element>
  96.  <xs:element name="helper">
  97.   <xs:complexType>
  98.    <xs:sequence>
  99.     <xs:element ref="name"/>
  100.     <xs:element ref="user"/>
  101.     <xs:element ref="email"/>
  102.     <xs:element ref="active"/>
  103.    </xs:sequence>
  104.   </xs:complexType>
  105.  </xs:element>
  106.  <xs:element name="date" type="xs:date"/>
  107.  <xs:element name="version">
  108.   <xs:complexType>
  109.    <xs:sequence>
  110.     <xs:element name="release" type="version"/>
  111.     <xs:element name="api" type="version"/>
  112.    </xs:sequence>
  113.   </xs:complexType>
  114.  </xs:element>
  115.  <xs:element name="license">
  116.   <xs:complexType>
  117.    <xs:simpleContent>
  118.     <xs:extension base="xs:string">
  119.      <xs:attribute name="uri" type="xs:anyURI"/>
  120.      <xs:attribute name="filesource" type="xs:string"/>
  121.     </xs:extension>
  122.    </xs:simpleContent>
  123.   </xs:complexType>
  124.  </xs:element>
  125.  <xs:element name="stability">
  126.   <xs:complexType>
  127.    <xs:sequence>
  128.     <xs:element name="release">
  129.      <xs:simpleType>
  130.       <xs:restriction base="xs:string">
  131.        <xs:enumeration value="snapshot"/>
  132.        <xs:enumeration value="devel"/>
  133.        <xs:enumeration value="alpha"/>
  134.        <xs:enumeration value="beta"/>
  135.        <xs:enumeration value="stable"/>
  136.       </xs:restriction>
  137.      </xs:simpleType>
  138.     </xs:element>
  139.     <xs:element name="api">
  140.      <xs:simpleType>
  141.       <xs:restriction base="xs:string">
  142.        <xs:enumeration value="devel"/>
  143.        <xs:enumeration value="alpha"/>
  144.        <xs:enumeration value="beta"/>
  145.        <xs:enumeration value="stable"/>
  146.       </xs:restriction>
  147.      </xs:simpleType>
  148.     </xs:element>
  149.    </xs:sequence>
  150.   </xs:complexType>
  151.  </xs:element>
  152.  <xs:element name="notes" type="xs:string"/>
  153.  <xs:element name="contents">
  154.   <xs:complexType>
  155.    <xs:choice>
  156.     <xs:element ref="dir" maxOccurs="unbounded"/>
  157.     <xs:element ref="bundledpackage" maxOccurs="unbounded"/>
  158.    </xs:choice>
  159.   </xs:complexType>
  160.  </xs:element>
  161.  <xs:element name="dir">
  162.   <xs:complexType>
  163.    <xs:choice>
  164.     <xs:sequence maxOccurs="unbounded">
  165.      <xs:element ref="dir" maxOccurs="unbounded"/>
  166.      <xs:element ref="file" maxOccurs="unbounded"/>
  167.     </xs:sequence>
  168.     <xs:sequence maxOccurs="unbounded">
  169.      <xs:element ref="file" maxOccurs="unbounded"/>
  170.      <xs:element ref="dir" minOccurs="0" maxOccurs="unbounded"/>
  171.     </xs:sequence>
  172.    </xs:choice>
  173.    <xs:attribute name="baseinstalldir" type="xs:string"/>
  174.    <xs:attribute name="name" type="xs:string" use="required"/>
  175.   </xs:complexType>
  176.  </xs:element>
  177.  <xs:element name="file">
  178.   <xs:complexType>
  179.    <xs:choice>
  180.     <xs:any namespace="http://pear.php.net/dtd/tasks-1.0" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
  181.    </xs:choice>
  182.    <xs:attribute name="name" type="xs:string" use="required"/>
  183.    <xs:attribute name="role" type="xs:string" use="required"/>
  184.    <xs:attribute name="baseinstalldir" type="xs:string"/>
  185.    <xs:attribute name="md5sum" type="xs:string"/>
  186.   </xs:complexType>
  187.  </xs:element>
  188.  <xs:element name="install">
  189.   <xs:complexType>
  190.    <xs:attribute name="name" type="xs:string" use="required"/>
  191.    <xs:attribute name="as" type="xs:string" use="required"/>
  192.   </xs:complexType>
  193.  </xs:element>
  194.  <xs:element name="ignore">
  195.   <xs:complexType>
  196.    <xs:attribute name="name" type="xs:string"/>
  197.   </xs:complexType>
  198.  </xs:element>
  199.  <xs:element name="phprelease">
  200.   <xs:annotation>
  201.    <xs:documentation>for php script releases</xs:documentation>
  202.   </xs:annotation>
  203.   <xs:complexType>
  204.    <xs:sequence>
  205.     <xs:element ref="installconditions" minOccurs="0"/>
  206.     <xs:element ref="filelist" minOccurs="0"/>
  207.    </xs:sequence>
  208.   </xs:complexType>
  209.  </xs:element>
  210.  <xs:element name="extsrcrelease">
  211.   <xs:annotation>
  212.    <xs:documentation>for extension source releases</xs:documentation>
  213.   </xs:annotation>
  214.   <xs:complexType>
  215.    <xs:sequence>
  216.     <xs:element ref="installconditions" minOccurs="0"/>
  217.     <xs:element ref="configureoption" minOccurs="0" maxOccurs="unbounded"/>
  218.     <xs:element name="binarypackage" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
  219.     <xs:element ref="filelist" minOccurs="0"/>
  220.    </xs:sequence>
  221.   </xs:complexType>
  222.  </xs:element>
  223.  <xs:element name="extbinrelease">
  224.   <xs:annotation>
  225.    <xs:documentation>for compiled extension source releases</xs:documentation>
  226.   </xs:annotation>
  227.   <xs:complexType>
  228.    <xs:sequence>
  229.     <xs:element ref="installconditions" minOccurs="0"/>
  230.     <xs:element ref="filelist" minOccurs="0"/>
  231.    </xs:sequence>
  232.   </xs:complexType>
  233.  </xs:element>
  234.  <xs:element name="bundle">
  235.   <xs:annotation>
  236.    <xs:documentation>for bundling several releases together in one release</xs:documentation>
  237.   </xs:annotation>
  238.   <xs:complexType/>
  239.  </xs:element>
  240.  <xs:element name="filelist">
  241.   <xs:complexType>
  242.    <xs:sequence>
  243.     <xs:element ref="install" minOccurs="0" maxOccurs="unbounded"/>
  244.     <xs:element ref="ignore" minOccurs="0" maxOccurs="unbounded"/>
  245.    </xs:sequence>
  246.   </xs:complexType>
  247.  </xs:element>
  248.  <xs:element name="dependencies">
  249.   <xs:complexType>
  250.    <xs:sequence>
  251.     <xs:element ref="required"/>
  252.     <xs:element ref="optional" minOccurs="0"/>
  253.     <xs:element ref="group" minOccurs="0" maxOccurs="unbounded"/>
  254.    </xs:sequence>
  255.   </xs:complexType>
  256.  </xs:element>
  257.  <xs:element name="nodefault">
  258.   <xs:annotation>
  259.    <xs:documentation>tells the installer not to install the default dependency group</xs:documentation>
  260.   </xs:annotation>
  261.  </xs:element>
  262.  <xs:element name="required">
  263.   <xs:annotation>
  264.    <xs:documentation>absolute required dependencies</xs:documentation>
  265.   </xs:annotation>
  266.   <xs:complexType>
  267.    <xs:sequence>
  268.     <xs:element ref="php"/>
  269.     <xs:element ref="pearinstaller"/>
  270.     <xs:element name="package" minOccurs="0" maxOccurs="unbounded">
  271.      <xs:complexType>
  272.       <xs:sequence>
  273.        <xs:element ref="name"/>
  274.        <xs:choice>
  275.         <xs:sequence>
  276.          <xs:element ref="channel"/>
  277.          <xs:element ref="min" minOccurs="0"/>
  278.          <xs:element ref="max" minOccurs="0"/>
  279.          <xs:element ref="recommended" minOccurs="0"/>
  280.          <xs:element ref="exclude" minOccurs="0" maxOccurs="unbounded"/>
  281.          <xs:element ref="nodefault" minOccurs="0"/>
  282.         </xs:sequence>
  283.         <xs:element ref="uri"/>
  284.        </xs:choice>
  285.        <xs:element ref="conflicts" minOccurs="0"/>
  286.        <xs:element ref="providesextension" minOccurs="0" maxOccurs="unbounded"/>
  287.       </xs:sequence>
  288.      </xs:complexType>
  289.     </xs:element>
  290.     <xs:element name="subpackage" minOccurs="0" maxOccurs="unbounded">
  291.      <xs:complexType>
  292.       <xs:sequence>
  293.        <xs:element ref="name"/>
  294.        <xs:choice>
  295.         <xs:sequence>
  296.          <xs:element ref="channel"/>
  297.          <xs:element ref="min" minOccurs="0"/>
  298.          <xs:element ref="max" minOccurs="0"/>
  299.          <xs:element ref="recommended" minOccurs="0"/>
  300.          <xs:element ref="exclude" minOccurs="0" maxOccurs="unbounded"/>
  301.          <xs:element ref="nodefault" minOccurs="0"/>
  302.         </xs:sequence>
  303.         <xs:element ref="uri"/>
  304.        </xs:choice>
  305.        <xs:element ref="conflicts" minOccurs="0"/>
  306.        <xs:element ref="providesextension" minOccurs="0" maxOccurs="unbounded"/>
  307.       </xs:sequence>
  308.      </xs:complexType>
  309.     </xs:element>
  310.     <xs:element ref="extension" minOccurs="0" maxOccurs="unbounded"/>
  311.     <xs:element ref="os" minOccurs="0" maxOccurs="unbounded"/>
  312.     <xs:element ref="arch" minOccurs="0" maxOccurs="unbounded"/>
  313.    </xs:sequence>
  314.   </xs:complexType>
  315.  </xs:element>
  316.  <xs:element name="group">
  317.   <xs:annotation>
  318.    <xs:documentation>all other optional dependency groups</xs:documentation>
  319.   </xs:annotation>
  320.   <xs:complexType>
  321.    <xs:sequence>
  322.     <xs:element name="package" minOccurs="0" maxOccurs="unbounded">
  323.      <xs:complexType>
  324.       <xs:sequence>
  325.        <xs:element ref="name"/>
  326.        <xs:choice>
  327.         <xs:sequence>
  328.          <xs:element ref="channel"/>
  329.          <xs:element ref="min" minOccurs="0"/>
  330.          <xs:element ref="max" minOccurs="0"/>
  331.          <xs:element ref="recommended" minOccurs="0"/>
  332.          <xs:element ref="exclude" minOccurs="0" maxOccurs="unbounded"/>
  333.          <xs:element ref="nodefault" minOccurs="0"/>
  334.         </xs:sequence>
  335.         <xs:element ref="uri"/>
  336.        </xs:choice>
  337.        <xs:element ref="providesextension" minOccurs="0" maxOccurs="unbounded"/>
  338.       </xs:sequence>
  339.      </xs:complexType>
  340.     </xs:element>
  341.     <xs:element name="subpackage" minOccurs="0" maxOccurs="unbounded">
  342.      <xs:complexType>
  343.       <xs:sequence>
  344.        <xs:element ref="name"/>
  345.        <xs:choice>
  346.         <xs:sequence>
  347.          <xs:element ref="channel"/>
  348.          <xs:element ref="min" minOccurs="0"/>
  349.          <xs:element ref="max" minOccurs="0"/>
  350.          <xs:element ref="recommended" minOccurs="0"/>
  351.          <xs:element ref="exclude" minOccurs="0" maxOccurs="unbounded"/>
  352.          <xs:element ref="nodefault" minOccurs="0"/>
  353.         </xs:sequence>
  354.         <xs:element ref="uri"/>
  355.        </xs:choice>
  356.        <xs:element ref="providesextension" minOccurs="0" maxOccurs="unbounded"/>
  357.       </xs:sequence>
  358.      </xs:complexType>
  359.     </xs:element>
  360.     <xs:element ref="extension" minOccurs="0" maxOccurs="unbounded"/>
  361.    </xs:sequence>
  362.    <xs:attribute name="name" type="xs:string" use="required"/>
  363.    <xs:attribute name="hint" type="xs:string" use="required"/>
  364.   </xs:complexType>
  365.  </xs:element>
  366.  <xs:element name="optional">
  367.   <xs:annotation>
  368.    <xs:documentation>simple optional dependencies</xs:documentation>
  369.   </xs:annotation>
  370.   <xs:complexType>
  371.    <xs:sequence>
  372.     <xs:element name="package" minOccurs="0" maxOccurs="unbounded">
  373.      <xs:complexType>
  374.       <xs:sequence>
  375.        <xs:element ref="name"/>
  376.        <xs:choice>
  377.         <xs:sequence>
  378.          <xs:element ref="channel"/>
  379.          <xs:element ref="min" minOccurs="0"/>
  380.          <xs:element ref="max" minOccurs="0"/>
  381.          <xs:element ref="recommended" minOccurs="0"/>
  382.          <xs:element ref="exclude" minOccurs="0" maxOccurs="unbounded"/>
  383.          <xs:element ref="nodefault" minOccurs="0"/>
  384.         </xs:sequence>
  385.         <xs:element ref="uri"/>
  386.        </xs:choice>
  387.        <xs:element ref="providesextension" minOccurs="0" maxOccurs="unbounded"/>
  388.       </xs:sequence>
  389.      </xs:complexType>
  390.     </xs:element>
  391.     <xs:element name="subpackage" minOccurs="0" maxOccurs="unbounded">
  392.      <xs:complexType>
  393.       <xs:sequence>
  394.        <xs:element ref="name"/>
  395.        <xs:choice>
  396.         <xs:sequence>
  397.          <xs:element ref="channel"/>
  398.          <xs:element ref="min" minOccurs="0"/>
  399.          <xs:element ref="max" minOccurs="0"/>
  400.          <xs:element ref="recommended" minOccurs="0"/>
  401.          <xs:element ref="exclude" minOccurs="0" maxOccurs="unbounded"/>
  402.          <xs:element ref="nodefault" minOccurs="0"/>
  403.         </xs:sequence>
  404.         <xs:element ref="uri"/>
  405.        </xs:choice>
  406.        <xs:element ref="conflicts" minOccurs="0"/>
  407.       </xs:sequence>
  408.      </xs:complexType>
  409.     </xs:element>
  410.     <xs:element ref="extension" minOccurs="0" maxOccurs="unbounded"/>
  411.    </xs:sequence>
  412.   </xs:complexType>
  413.  </xs:element>
  414.  <xs:element name="changelog">
  415.   <xs:complexType>
  416.    <xs:sequence>
  417.     <xs:element name="release" minOccurs="1" maxOccurs="unbounded">
  418.      <xs:complexType>
  419.       <xs:sequence>
  420.        <xs:element ref="lead" minOccurs="0" maxOccurs="unbounded"/>
  421.        <xs:element ref="developer" minOccurs="0" maxOccurs="unbounded"/>
  422.        <xs:element ref="version"/>
  423.        <xs:element ref="stability"/>
  424.        <xs:element ref="date"/>
  425.        <xs:element ref="license"/>
  426.        <xs:element ref="notes"/>
  427.       </xs:sequence>
  428.      </xs:complexType>
  429.     </xs:element>
  430.    </xs:sequence>
  431.   </xs:complexType>
  432.  </xs:element>
  433.  <xs:simpleType name="version">
  434.   <xs:annotation>
  435.    <xs:documentation>version string regex</xs:documentation>
  436.   </xs:annotation>
  437.   <xs:restriction base="xs:string">
  438.    <xs:pattern value="[0-9]+(\.[0-9]+)*([a-zA-Z]+[0-9]*)?"/>
  439.   </xs:restriction>
  440.  </xs:simpleType>
  441.  <xs:element name="extension">
  442.   <xs:complexType>
  443.    <xs:sequence>
  444.     <xs:element ref="name"/>
  445.     <xs:element ref="min" minOccurs="0"/>
  446.     <xs:element ref="max" minOccurs="0"/>
  447.     <xs:element ref="recommended" minOccurs="0"/>
  448.     <xs:element ref="exclude" minOccurs="0" maxOccurs="unbounded"/>
  449.     <xs:element ref="conflicts" minOccurs="0"/>
  450.    </xs:sequence>
  451.   </xs:complexType>
  452.  </xs:element>
  453.  <xs:element name="pearinstaller">
  454.   <xs:complexType>
  455.    <xs:sequence>
  456.     <xs:element ref="min"/>
  457.     <xs:element ref="max" minOccurs="0"/>
  458.     <xs:element ref="recommended" minOccurs="0"/>
  459.     <xs:element ref="exclude" minOccurs="0" maxOccurs="unbounded"/>
  460.    </xs:sequence>
  461.   </xs:complexType>
  462.  </xs:element>
  463.  <xs:element name="php">
  464.   <xs:complexType>
  465.    <xs:sequence>
  466.     <xs:element ref="min"/>
  467.     <xs:element ref="max" minOccurs="0"/>
  468.     <xs:element ref="exclude" minOccurs="0" maxOccurs="unbounded"/>
  469.    </xs:sequence>
  470.   </xs:complexType>
  471.  </xs:element>
  472.  <xs:element name="installconditions">
  473.   <xs:complexType>
  474.    <xs:sequence>
  475.     <xs:element ref="php" minOccurs="0"/>
  476.     <xs:element ref="extension" minOccurs="0" maxOccurs="unbounded"/>
  477.     <xs:element ref="os" minOccurs="0"/>
  478.     <xs:element ref="arch" minOccurs="0"/>
  479.    </xs:sequence>
  480.   </xs:complexType>
  481.  </xs:element>
  482.  <xs:element name="exclude" type="version"/>
  483.  <xs:element name="configureoption">
  484.   <xs:complexType>
  485.    <xs:attribute name="name" type="xs:string" use="required"/>
  486.    <xs:attribute name="default" type="xs:string"/>
  487.    <xs:attribute name="prompt" type="xs:string" use="required"/>
  488.   </xs:complexType>
  489.  </xs:element>
  490.  <xs:element name="arch">
  491.   <xs:complexType>
  492.    <xs:sequence>
  493.     <xs:element ref="pattern"/>
  494.     <xs:element ref="conflicts" minOccurs="0"/>
  495.    </xs:sequence>
  496.   </xs:complexType>
  497.  </xs:element>
  498.  <xs:element name="extends" type="xs:string"/>
  499.  <xs:element name="time" type="xs:time"/>
  500.  <xs:element name="compatible">
  501.   <xs:complexType>
  502.    <xs:sequence>
  503.     <xs:element name="name"/>
  504.     <xs:element name="channel"/>
  505.     <xs:element ref="min"/>
  506.     <xs:element ref="max"/>
  507.     <xs:element ref="exclude" minOccurs="0" maxOccurs="unbounded"/>
  508.    </xs:sequence>
  509.   </xs:complexType>
  510.  </xs:element>
  511.  <xs:element name="min" type="version"/>
  512.  <xs:element name="max" type="version"/>
  513.  <xs:element name="user" type="xs:string"/>
  514.  <xs:element name="email" type="xs:string"/>
  515.  <xs:element name="active">
  516.   <xs:simpleType>
  517.    <xs:restriction base="xs:string">
  518.     <xs:enumeration value="yes"/>
  519.     <xs:enumeration value="no"/>
  520.    </xs:restriction>
  521.   </xs:simpleType>
  522.  </xs:element>
  523.  <xs:element name="recommended" type="version"/>
  524.  <xs:element name="channel">
  525.   <xs:simpleType>
  526.    <xs:restriction base="xs:string">
  527.     <xs:pattern value="[A-Za-z][a-zA-Z0-9_.]+"/>
  528.    </xs:restriction>
  529.   </xs:simpleType>
  530.  </xs:element>
  531.  <xs:element name="uri" type="xs:anyURI"/>
  532.  <xs:element name="pattern" type="xs:string"/>
  533.  <xs:element name="conflicts"/>
  534.  <xs:element name="os">
  535.   <xs:complexType>
  536.    <xs:sequence>
  537.     <xs:element ref="name"/>
  538.     <xs:element ref="conflicts" minOccurs="0"/>
  539.    </xs:sequence>
  540.   </xs:complexType>
  541.  </xs:element>
  542.  <xs:element name="srcpackage" type="xs:string">
  543.   <xs:annotation>
  544.    <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>
  545.   </xs:annotation>
  546.  </xs:element>
  547.  <xs:element name="srcchannel" type="xs:string"/>
  548.  <xs:element name="bundledpackage" type="xs:string"/>
  549.  <xs:element name="filename" type="xs:string"/>
  550.  <xs:element name="providesextension" type="xs:string">
  551.   <xs:annotation>
  552.    <xs:documentation>if a package can provide one or more compatible extensions (dblib/sybase/mssql for instance)</xs:documentation>
  553.   </xs:annotation>
  554.  </xs:element>
  555.  <xs:element name="usesrole">
  556.   <xs:complexType>
  557.    <xs:sequence>
  558.     <xs:element ref="role"/>
  559.     <xs:choice>
  560.      <xs:sequence>
  561.       <xs:element name="package" type="xs:string"/>
  562.       <xs:element ref="channel"/>
  563.      </xs:sequence>
  564.      <xs:element ref="uri"/>
  565.     </xs:choice>
  566.    </xs:sequence>
  567.   </xs:complexType>
  568.  </xs:element>
  569.  <xs:element name="usestask">
  570.   <xs:complexType>
  571.    <xs:sequence>
  572.     <xs:element ref="task"/>
  573.     <xs:choice>
  574.      <xs:sequence>
  575.       <xs:element name="package" type="xs:string"/>
  576.       <xs:element ref="channel"/>
  577.      </xs:sequence>
  578.      <xs:element ref="uri"/>
  579.     </xs:choice>
  580.    </xs:sequence>
  581.   </xs:complexType>
  582.  </xs:element>
  583.  <xs:element name="role" type="xs:string"/>
  584.  <xs:element name="task" type="xs:string"/>
  585. </xs:schema>