home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / boot / i386 / root / usr / share / zypp / schema / yum / rpm-ns.rng < prev    next >
Encoding:
Extensible Markup Language  |  2006-11-29  |  8.0 KB  |  328 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <grammar xmlns:ns1="http://linux.duke.edu/metadata/common" xmlns:rpm="http://linux.duke.edu/metadata/rpm" ns="http://linux.duke.edu/metadata/rpm" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
  3.   <define name="element-format">
  4.     <element name="ns1:format">
  5.       <ref name="format"/>
  6.     </element>
  7.   </define>
  8.   <define name="format">
  9.     <interleave>
  10.       <ref name="element-license"/>
  11.       <ref name="element-vendor"/>
  12.       <ref name="element-group"/>
  13.       <ref name="element-buildhost"/>
  14.       <ref name="element-sourcerpm"/>
  15.       <ref name="element-header-range"/>
  16.     </interleave>
  17.     <zeroOrMore>
  18.       <choice>
  19.         <ref name="element-provides"/>
  20.         <ref name="element-conflicts"/>
  21.         <ref name="element-obsoletes"/>
  22.         <ref name="element-requires"/>
  23.         <ref name="element-recommends"/>
  24.         <ref name="element-enhances"/>
  25.         <ref name="element-supplements"/>
  26.         <ref name="element-suggests"/>
  27.       </choice>
  28.     </zeroOrMore>
  29.     <zeroOrMore>
  30.       <ref name="element-file"/>
  31.     </zeroOrMore>
  32.   </define>
  33.   <define name="element-license">
  34.     <element name="license">
  35.       <text/>
  36.     </element>
  37.   </define>
  38.   <define name="element-vendor">
  39.     <element name="vendor">
  40.       <text/>
  41.     </element>
  42.   </define>
  43.   <define name="element-group">
  44.     <element name="group">
  45.       <text/>
  46.     </element>
  47.   </define>
  48.   <define name="element-buildhost">
  49.     <element name="buildhost">
  50.       <text/>
  51.     </element>
  52.   </define>
  53.   <define name="element-sourcerpm">
  54.     <element name="sourcerpm">
  55.       <text/>
  56.     </element>
  57.   </define>
  58.   <define name="element-header-range">
  59.     <element name="header-range">
  60.       <ref name="header-range"/>
  61.     </element>
  62.   </define>
  63.   <define name="header-range">
  64.     <attribute name="start">
  65.       <data type="nonNegativeInteger"/>
  66.     </attribute>
  67.     <attribute name="end">
  68.       <data type="nonNegativeInteger"/>
  69.     </attribute>
  70.     <empty/>
  71.   </define>
  72.   <!-- rel="1" flags="LE" pre="1" ver="4.0" name -->
  73.   <define name="attribute-kind">
  74.     <attribute name="kind">
  75.       <choice>
  76.         <value>package</value>
  77.         <value>patch</value>
  78.         <value>script</value>
  79.         <value>message</value>
  80.         <value>product</value>
  81.         <value>atom</value>
  82.       </choice>
  83.     </attribute>
  84.   </define>
  85.   <define name="attribute-flags-provides">
  86.     <attribute name="flags">
  87.       <choice>
  88.         <value>EQ</value>
  89.         <value>LE</value>
  90.         <value>GE</value>
  91.       </choice>
  92.     </attribute>
  93.   </define>
  94.   <define name="attribute-flags-obsoletes">
  95.     <attribute name="flags">
  96.       <choice>
  97.         <value>EQ</value>
  98.         <value>LE</value>
  99.         <value>GE</value>
  100.         <value>LT</value>
  101.       </choice>
  102.     </attribute>
  103.   </define>
  104.   <define name="attribute-flags">
  105.     <attribute name="flags">
  106.       <choice>
  107.         <value>EQ</value>
  108.         <value>LE</value>
  109.         <value>GE</value>
  110.         <value>LT</value>
  111.         <value>GT</value>
  112.       </choice>
  113.     </attribute>
  114.   </define>
  115.   <define name="attribute-name">
  116.     <attribute name="name"/>
  117.   </define>
  118.   <define name="shared-entry-attributes">
  119.     <interleave>
  120.       <optional>
  121.         <ref name="attribute-kind"/>
  122.       </optional>
  123.       <ref name="attribute-name"/>
  124.       <optional>
  125.         <attribute name="epoch">
  126.           <data type="nonNegativeInteger"/>
  127.         </attribute>
  128.       </optional>
  129.       <optional>
  130.         <attribute name="rel"/>
  131.       </optional>
  132.       <optional>
  133.         <attribute name="ver"/>
  134.       </optional>
  135.     </interleave>
  136.   </define>
  137.   <define name="usual-entry-content">
  138.     <interleave>
  139.       <ref name="shared-entry-attributes"/>
  140.       <optional>
  141.         <ref name="attribute-flags"/>
  142.       </optional>
  143.     </interleave>
  144.     <empty/>
  145.   </define>
  146.   <define name="element-obsoletes-entry">
  147.     <element name="entry">
  148.       <interleave>
  149.         <ref name="shared-entry-attributes"/>
  150.         <optional>
  151.           <ref name="attribute-flags-obsoletes"/>
  152.         </optional>
  153.       </interleave>
  154.       <empty/>
  155.     </element>
  156.   </define>
  157.   <define name="element-provides-entry">
  158.     <element name="entry">
  159.       <interleave>
  160.         <ref name="shared-entry-attributes"/>
  161.         <optional>
  162.           <ref name="attribute-flags-provides"/>
  163.         </optional>
  164.       </interleave>
  165.       <empty/>
  166.     </element>
  167.   </define>
  168.   <define name="element-requires-entry">
  169.     <element name="entry">
  170.       <interleave>
  171.         <ref name="shared-entry-attributes"/>
  172.         <optional>
  173.           <ref name="attribute-flags"/>
  174.         </optional>
  175.         <optional>
  176.           <attribute name="pre">
  177.             <choice>
  178.               <value>1</value>
  179.               <value>0</value>
  180.             </choice>
  181.           </attribute>
  182.         </optional>
  183.       </interleave>
  184.       <empty/>
  185.     </element>
  186.   </define>
  187.   <define name="element-entry">
  188.     <element name="entry">
  189.       <ref name="usual-entry-content"/>
  190.     </element>
  191.   </define>
  192.   <define name="element-provides">
  193.     <element name="provides">
  194.       <ref name="provides"/>
  195.     </element>
  196.   </define>
  197.   <define name="provides">
  198.     <zeroOrMore>
  199.       <ref name="element-provides-entry"/>
  200.     </zeroOrMore>
  201.   </define>
  202.   <define name="element-conflicts">
  203.     <element name="conflicts">
  204.       <ref name="conflicts"/>
  205.     </element>
  206.   </define>
  207.   <define name="conflicts">
  208.     <zeroOrMore>
  209.       <ref name="element-entry"/>
  210.     </zeroOrMore>
  211.   </define>
  212.   <define name="element-obsoletes">
  213.     <element name="obsoletes">
  214.       <ref name="obsoletes"/>
  215.     </element>
  216.   </define>
  217.   <define name="obsoletes">
  218.     <zeroOrMore>
  219.       <ref name="element-obsoletes-entry"/>
  220.     </zeroOrMore>
  221.   </define>
  222.   <define name="element-requires">
  223.     <element name="requires">
  224.       <ref name="requires"/>
  225.     </element>
  226.   </define>
  227.   <define name="requires">
  228.     <zeroOrMore>
  229.       <ref name="element-requires-entry"/>
  230.     </zeroOrMore>
  231.   </define>
  232.   <define name="element-suggests">
  233.     <element name="suggests">
  234.       <ref name="suggests"/>
  235.     </element>
  236.   </define>
  237.   <define name="suggests">
  238.     <zeroOrMore>
  239.       <ref name="element-entry"/>
  240.     </zeroOrMore>
  241.   </define>
  242.   <define name="element-recommends">
  243.     <element name="recommends">
  244.       <ref name="recommends"/>
  245.     </element>
  246.   </define>
  247.   <define name="recommends">
  248.     <zeroOrMore>
  249.       <ref name="element-entry"/>
  250.     </zeroOrMore>
  251.   </define>
  252.   <define name="element-enhances">
  253.     <element name="enhances">
  254.       <ref name="enhances"/>
  255.     </element>
  256.   </define>
  257.   <define name="enhances">
  258.     <zeroOrMore>
  259.       <ref name="element-entry"/>
  260.     </zeroOrMore>
  261.   </define>
  262.   <define name="element-supplements">
  263.     <element name="supplements">
  264.       <ref name="supplements"/>
  265.     </element>
  266.   </define>
  267.   <define name="supplements">
  268.     <zeroOrMore>
  269.       <ref name="element-entry"/>
  270.     </zeroOrMore>
  271.   </define>
  272.   <define name="element-file">
  273.     <element name="ns1:file">
  274.       <ref name="file"/>
  275.     </element>
  276.   </define>
  277.   <define name="file">
  278.     <optional>
  279.       <attribute name="type">
  280.         <choice>
  281.           <value>dir</value>
  282.           <value>ghost</value>
  283.         </choice>
  284.       </attribute>
  285.     </optional>
  286.     <text/>
  287.   </define>
  288.   <define name="dependencies">
  289.     <interleave>
  290.       <optional>
  291.         <ref name="element-provides"/>
  292.       </optional>
  293.       <optional>
  294.         <ref name="element-conflicts"/>
  295.       </optional>
  296.       <optional>
  297.         <ref name="element-obsoletes"/>
  298.       </optional>
  299.       <optional>
  300.         <ref name="element-requires"/>
  301.       </optional>
  302.       <optional>
  303.         <ref name="element-suggests"/>
  304.       </optional>
  305.       <optional>
  306.         <ref name="element-enhances"/>
  307.       </optional>
  308.       <optional>
  309.         <ref name="element-supplements"/>
  310.       </optional>
  311.       <optional>
  312.         <ref name="element-recommends"/>
  313.       </optional>
  314.     </interleave>
  315.   </define>
  316. </grammar>
  317. <!--
  318.   dependencies =
  319.      element-provides?,
  320.      element-conflicts?,
  321.      element-obsoletes?,
  322.      element-requires?,
  323.      element-suggests?,
  324.      element-enhances?,
  325.      element-supplements?,
  326.      element-recommends?
  327. -->
  328.