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 / patch.rng < prev    next >
Encoding:
Extensible Markup Language  |  2006-11-29  |  8.3 KB  |  309 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <grammar xmlns:yum="http://linux.duke.edu/metadata/common" ns="http://novell.com/package/metadata/suse/patch" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
  3.   <include href="suse-primary.rng">
  4.     <start>
  5.       <ref name="element-patch"/>
  6.     </start>
  7.     <!-- patches use localized summary and description fields -->
  8.     <define name="element-summary">
  9.       <oneOrMore>
  10.         <element name="summary">
  11.           <ref name="localized-string"/>
  12.         </element>
  13.       </oneOrMore>
  14.     </define>
  15.     <define name="element-description">
  16.       <oneOrMore>
  17.         <element name="description">
  18.           <ref name="localized-string"/>
  19.         </element>
  20.       </oneOrMore>
  21.     </define>
  22.     <define name="element-license-to-confirm">
  23.       <element name="license-to-confirm">
  24.         <ref name="localized-string"/>
  25.       </element>
  26.     </define>
  27.     <!-- packages in patches have an additional rpmfiles element -->
  28.     <define name="element-package">
  29.       <element name="yum:package">
  30.         <interleave>
  31.           <ref name="package"/>
  32.           <ref name="element-pkgfiles"/>
  33.           <optional>
  34.             <element name="license-to-confirm">
  35.               <ref name="localized-string"/>
  36.             </element>
  37.           </optional>
  38.         </interleave>
  39.       </element>
  40.     </define>
  41.   </include>
  42.   <define name="element-patch">
  43.     <element name="patch">
  44.       <ref name="patch"/>
  45.     </element>
  46.   </define>
  47.   <define name="patch">
  48.     <attribute name="patchid"/>
  49.     <attribute name="timestamp">
  50.       <data type="nonNegativeInteger"/>
  51.     </attribute>
  52.     <attribute name="engine"/>
  53.     <ref name="element-name"/>
  54.     <ref name="element-summary"/>
  55.     <ref name="element-description"/>
  56.     <zeroOrMore>
  57.       <ref name="element-license-to-confirm"/>
  58.     </zeroOrMore>
  59.     <ref name="element-version"/>
  60.     <zeroOrMore>
  61.       <choice>
  62.         <ref name="element-provides"/>
  63.         <ref name="element-conflicts"/>
  64.         <ref name="element-obsoletes"/>
  65.         <ref name="element-requires"/>
  66.         <ref name="element-freshens"/>
  67.         <ref name="element-recommends"/>
  68.         <ref name="element-suggests"/>
  69.         <ref name="element-supplements"/>
  70.         <ref name="element-enhances"/>
  71.       </choice>
  72.     </zeroOrMore>
  73.     <ref name="element-category"/>
  74.     <optional>
  75.       <element name="reboot-needed">
  76.         <empty/>
  77.       </element>
  78.     </optional>
  79.     <optional>
  80.       <element name="package-manager">
  81.         <empty/>
  82.       </element>
  83.     </optional>
  84.     <optional>
  85.       <ref name="element-update-script"/>
  86.     </optional>
  87.     <oneOrMore>
  88.       <element name="atoms">
  89.         <oneOrMore>
  90.           <choice>
  91.             <ref name="element-package"/>
  92.             <ref name="element-script"/>
  93.             <ref name="element-message"/>
  94.           </choice>
  95.         </oneOrMore>
  96.       </element>
  97.     </oneOrMore>
  98.   </define>
  99.   <!-- shortcut since all atoms have the same dependency section -->
  100.   <define name="dependency-block">
  101.     <zeroOrMore>
  102.       <choice>
  103.         <ref name="element-provides"/>
  104.         <ref name="element-conflicts"/>
  105.         <ref name="element-obsoletes"/>
  106.         <ref name="element-requires"/>
  107.         <ref name="element-freshens"/>
  108.         <ref name="element-recommends"/>
  109.         <ref name="element-suggests"/>
  110.         <ref name="element-supplements"/>
  111.         <ref name="element-enhances"/>
  112.       </choice>
  113.     </zeroOrMore>
  114.   </define>
  115.   <define name="element-category">
  116.     <element name="category">
  117.       <choice>
  118.         <value>youfix</value>
  119.         <value>security</value>
  120.         <value>recommended</value>
  121.         <value>bonus</value>
  122.         <value>beta</value>
  123.       </choice>
  124.     </element>
  125.   </define>
  126.   <define name="element-update-script">
  127.     <element name="update-script">
  128.       <text/>
  129.     </element>
  130.   </define>
  131.   <define name="element-script">
  132.     <element name="script">
  133.       <ref name="element-name"/>
  134.       <ref name="element-version"/>
  135.       <optional>
  136.         <element name="do">
  137.           <data type="string"/>
  138.         </element>
  139.       </optional>
  140.       <optional>
  141.         <element name="undo">
  142.           <data type="string"/>
  143.         </element>
  144.       </optional>
  145.       <optional>
  146.         <element name="do-location">
  147.           <optional>
  148.             <attribute name="xml:base">
  149.               <data type="anyURI"/>
  150.             </attribute>
  151.           </optional>
  152.           <attribute name="href">
  153.             <data type="anyURI"/>
  154.           </attribute>
  155.           <empty/>
  156.         </element>
  157.       </optional>
  158.       <optional>
  159.         <element name="do-checksum">
  160.           <attribute name="type">
  161.             <choice>
  162.               <value>md5</value>
  163.               <value>sha</value>
  164.             </choice>
  165.           </attribute>
  166.           <text/>
  167.         </element>
  168.       </optional>
  169.       <optional>
  170.         <element name="undo-location">
  171.           <optional>
  172.             <attribute name="xml:base">
  173.               <data type="anyURI"/>
  174.             </attribute>
  175.           </optional>
  176.           <attribute name="href">
  177.             <data type="anyURI"/>
  178.           </attribute>
  179.           <empty/>
  180.         </element>
  181.       </optional>
  182.       <optional>
  183.         <element name="undo-checksum">
  184.           <attribute name="type">
  185.             <choice>
  186.               <value>md5</value>
  187.               <value>sha</value>
  188.             </choice>
  189.           </attribute>
  190.           <text/>
  191.         </element>
  192.       </optional>
  193.       <ref name="dependency-block"/>
  194.     </element>
  195.   </define>
  196.   <define name="element-message">
  197.     <element name="message">
  198.       <ref name="element-name"/>
  199.       <ref name="element-version"/>
  200.       <oneOrMore>
  201.         <element name="text">
  202.           <ref name="localized-string"/>
  203.         </element>
  204.       </oneOrMore>
  205.       <ref name="dependency-block"/>
  206.     </element>
  207.   </define>
  208.   <define name="element-pkgfiles">
  209.     <element name="pkgfiles">
  210.       <zeroOrMore>
  211.         <choice>
  212.           <ref name="element-deltarpm"/>
  213.           <ref name="element-patchrpm"/>
  214.           <ref name="element-plainrpm"/>
  215.         </choice>
  216.       </zeroOrMore>
  217.     </element>
  218.   </define>
  219.   <define name="element-plainrpm">
  220.     <element name="plainrpm">
  221.       <ref name="shared-rpmfile-attributes"/>
  222.     </element>
  223.   </define>
  224.   <define name="element-patchrpm">
  225.     <element name="patchrpm">
  226.       <ref name="shared-rpmfile-attributes"/>
  227.       <element name="location">
  228.         <optional>
  229.           <attribute name="xml:base">
  230.             <data type="anyURI"/>
  231.           </attribute>
  232.         </optional>
  233.         <attribute name="href">
  234.           <data type="anyURI"/>
  235.         </attribute>
  236.         <empty/>
  237.       </element>
  238.       <element name="checksum">
  239.         <attribute name="type">
  240.           <choice>
  241.             <value>md5</value>
  242.             <value>sha</value>
  243.           </choice>
  244.         </attribute>
  245.         <text/>
  246.       </element>
  247.       <ref name="element-time"/>
  248.       <ref name="element-size"/>
  249.       <oneOrMore>
  250.         <ref name="element-base-version"/>
  251.       </oneOrMore>
  252.     </element>
  253.   </define>
  254.   <define name="element-deltarpm">
  255.     <element name="deltarpm">
  256.       <ref name="shared-rpmfile-attributes"/>
  257.       <element name="location">
  258.         <optional>
  259.           <attribute name="xml:base">
  260.             <data type="anyURI"/>
  261.           </attribute>
  262.         </optional>
  263.         <attribute name="href">
  264.           <data type="anyURI"/>
  265.         </attribute>
  266.         <empty/>
  267.       </element>
  268.       <element name="checksum">
  269.         <attribute name="type">
  270.           <choice>
  271.             <value>md5</value>
  272.             <value>sha</value>
  273.           </choice>
  274.         </attribute>
  275.         <text/>
  276.       </element>
  277.       <ref name="element-time"/>
  278.       <ref name="element-size"/>
  279.       <ref name="element-delta-base-version"/>
  280.     </element>
  281.   </define>
  282.   <define name="shared-rpmfile-attributes">
  283.     <attribute name="arch">
  284.       <ref name="arch"/>
  285.     </attribute>
  286.     <attribute name="filename"/>
  287.     <attribute name="downloadsize"/>
  288.     <optional>
  289.       <attribute name="md5sum"/>
  290.     </optional>
  291.     <optional>
  292.       <attribute name="buildtime"/>
  293.     </optional>
  294.   </define>
  295.   <define name="element-base-version">
  296.     <element name="base-version">
  297.       <ref name="version"/>
  298.     </element>
  299.   </define>
  300.   <define name="element-delta-base-version">
  301.     <element name="base-version">
  302.       <ref name="version"/>
  303.       <attribute name="md5sum"/>
  304.       <attribute name="buildtime"/>
  305.       <attribute name="sequence_info"/>
  306.     </element>
  307.   </define>
  308. </grammar>
  309.