properly override included definitions
authorMartin Vidner <mvidner@suse.cz>
Thu, 2 Mar 2006 14:55:22 +0000 (14:55 +0000)
committerMartin Vidner <mvidner@suse.cz>
Thu, 2 Mar 2006 14:55:22 +0000 (14:55 +0000)
(there is still one error)
brought rng back to sync

zypp/parser/yum/schema/patterns.rng
zypp/parser/yum/schema/product.rng
zypp/parser/yum/schema/rpm-ns.rng
zypp/parser/yum/schema/suse-primary.rnc
zypp/parser/yum/schema/suse-primary.rng

index 34b8f54..4f956d8 100644 (file)
         <text/>
       </element>
     </oneOrMore>
-    <optional>
-      <ref name="element-provides"/>
-    </optional>
-    <optional>
-      <ref name="element-conflicts"/>
-    </optional>
-    <optional>
-      <ref name="element-obsoletes"/>
-    </optional>
-    <optional>
-      <ref name="element-freshen"/>
-    </optional>
-    <optional>
-      <ref name="element-requires"/>
-    </optional>
-    <optional>
-      <ref name="element-suggests"/>
-    </optional>
-    <optional>
-      <ref name="element-enhances"/>
-    </optional>
-    <optional>
-      <ref name="element-supplements"/>
-    </optional>
-    <optional>
-      <ref name="element-recommends"/>
-    </optional>
+    <ref name="dependencies"/>
   </define>
 </grammar>
index 5c92fd3..0834afd 100644 (file)
@@ -1,29 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <grammar xmlns:ns1="http://novell.com/package/metadata/suse/product" ns="http://linux.duke.edu/metadata/rpm" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
   <include href="rpm-ns.rng"/>
-  <define name="attribute-kind">
-    <attribute name="kind">
-      <choice>
-        <value>package</value>
-        <value>patch</value>
-        <value>script</value>
-        <value>message</value>
-        <value>product</value>
-      </choice>
-    </attribute>
-  </define>
-  <define name="usual-entry-content">
-    <optional>
-      <ref name="attribute-kind"/>
-    </optional>
-    <!-- new compared to rpm-ns -->
-    <ref name="attribute-name"/>
-    <optional>
-      <ref name="shared-entry-attributes"/>
-      <ref name="attribute-flags"/>
-    </optional>
-    <empty/>
-  </define>
   <start>
     <element name="ns1:product">
       <attribute name="type"/>
       <optional>
         <element name="provides">
           <oneOrMore>
-            <element name="entry">
-              <optional>
-                <ref name="attribute-kind"/>
-              </optional>
-              <ref name="attribute-name"/>
-              <optional>
-                <ref name="shared-entry-attributes"/>
-                <ref name="attribute-flags-provides"/>
-              </optional>
-              <empty/>
-            </element>
+            <choice>
+              <element name="entry">
+                <optional>
+                  <ref name="attribute-kind"/>
+                </optional>
+                <ref name="attribute-name"/>
+                <optional>
+                  <ref name="shared-entry-attributes"/>
+                  <ref name="attribute-flags-provides"/>
+                </optional>
+                <empty/>
+              </element>
+              <ref name="element-capability"/>
+            </choice>
           </oneOrMore>
         </element>
       </optional>
       <optional>
         <element name="conflicts">
           <oneOrMore>
-            <element name="entry">
-              <ref name="usual-entry-content"/>
-            </element>
+            <ref name="usual-entry-or-capability"/>
           </oneOrMore>
         </element>
       </optional>
       <optional>
         <element name="obsoletes">
           <oneOrMore>
-            <element name="entry">
-              <optional>
-                <ref name="attribute-kind"/>
-              </optional>
-              <ref name="attribute-name"/>
-              <optional>
-                <ref name="shared-entry-attributes"/>
-                <ref name="attribute-flags-obsoletes"/>
-              </optional>
-              <empty/>
-            </element>
+            <choice>
+              <element name="entry">
+                <optional>
+                  <ref name="attribute-kind"/>
+                </optional>
+                <ref name="attribute-name"/>
+                <optional>
+                  <ref name="shared-entry-attributes"/>
+                  <ref name="attribute-flags-obsoletes"/>
+                </optional>
+                <empty/>
+              </element>
+              <ref name="element-capability"/>
+            </choice>
           </oneOrMore>
         </element>
       </optional>
       <optional>
         <element name="requires">
           <zeroOrMore>
-            <element name="entry">
-              <optional>
-                <attribute name="pre">
-                  <choice>
-                    <value>1</value>
-                    <value>0</value>
-                  </choice>
-                </attribute>
-              </optional>
-              <ref name="usual-entry-content"/>
-            </element>
+            <choice>
+              <element name="entry">
+                <optional>
+                  <attribute name="pre">
+                    <choice>
+                      <value>1</value>
+                      <value>0</value>
+                    </choice>
+                  </attribute>
+                </optional>
+                <ref name="usual-entry-content"/>
+              </element>
+              <ref name="element-capability"/>
+            </choice>
           </zeroOrMore>
         </element>
       </optional>
       <optional>
         <element name="recommends">
           <zeroOrMore>
-            <element name="entry">
-              <ref name="usual-entry-content"/>
-            </element>
+            <ref name="usual-entry-or-capability"/>
           </zeroOrMore>
         </element>
       </optional>
       <optional>
         <element name="enhances">
           <zeroOrMore>
-            <element name="entry">
-              <ref name="usual-entry-content"/>
-            </element>
+            <ref name="usual-entry-or-capability"/>
           </zeroOrMore>
         </element>
       </optional>
       <optional>
         <element name="supplements">
           <zeroOrMore>
-            <element name="entry">
-              <ref name="usual-entry-content"/>
-            </element>
+            <ref name="usual-entry-or-capability"/>
           </zeroOrMore>
         </element>
       </optional>
       <optional>
         <element name="suggests">
           <zeroOrMore>
-            <element name="entry">
-              <ref name="usual-entry-content"/>
-            </element>
+            <ref name="usual-entry-or-capability"/>
           </zeroOrMore>
         </element>
       </optional>
index 67ebc28..dfe843f 100644 (file)
     </attribute>
     <empty/>
   </define>
-  <define name="element-provides">
-    <element name="provides">
-      <ref name="provides"/>
-    </element>
-  </define>
   <define name="shared-entry-attributes">
     <attribute name="epoch">
       <data type="nonNegativeInteger"/>
       <attribute name="rel"/>
     </optional>
   </define>
+  <define name="attribute-kind">
+    <attribute name="kind">
+      <choice>
+        <value>package</value>
+        <value>patch</value>
+        <value>script</value>
+        <value>message</value>
+        <value>product</value>
+      </choice>
+    </attribute>
+  </define>
   <define name="attribute-flags-provides">
     <attribute name="flags">
       <choice>
   <define name="attribute-name">
     <attribute name="name"/>
   </define>
+  <define name="usual-entry-content">
+    <optional>
+      <ref name="attribute-kind"/>
+    </optional>
+    <!-- new compared to rpm-ns -->
+    <ref name="attribute-name"/>
+    <optional>
+      <ref name="shared-entry-attributes"/>
+      <ref name="attribute-flags"/>
+    </optional>
+    <empty/>
+  </define>
+  <define name="element-entry">
+    <element name="entry">
+      <ref name="usual-entry-content"/>
+    </element>
+  </define>
+  <define name="element-provides">
+    <element name="provides">
+      <ref name="provides"/>
+    </element>
+  </define>
   <define name="provides">
     <oneOrMore>
       <element name="entry">
     </optional>
     <text/>
   </define>
+  <define name="dependencies">
+    <interleave>
+      <optional>
+        <ref name="element-provides"/>
+      </optional>
+      <optional>
+        <ref name="element-conflicts"/>
+      </optional>
+      <optional>
+        <ref name="element-obsoletes"/>
+      </optional>
+      <optional>
+        <ref name="element-requires"/>
+      </optional>
+      <optional>
+        <ref name="element-suggests"/>
+      </optional>
+      <optional>
+        <ref name="element-enhances"/>
+      </optional>
+      <optional>
+        <ref name="element-supplements"/>
+      </optional>
+      <optional>
+        <ref name="element-recommends"/>
+      </optional>
+    </interleave>
+  </define>
 </grammar>
index 8234bc2..75e1988 100644 (file)
@@ -3,8 +3,7 @@ namespace suse = "http://novell.com/package/metadata/suse/common"
 namespace ns1 = "http://linux.duke.edu/metadata/common"
 namespace ns2 = "http://linux.duke.edu/metadata/rpm"
 
-include "primary.rnc" 
-include "rpm-ns.rnc"
+include "primary.rnc" {
 
   element-format = 
     element ns1:format { suse-format }
@@ -27,6 +26,7 @@ include "rpm-ns.rnc"
     ( element suse:obsoletes { suse-obsoletes }  | element ns2:obsoletes { obsoletes } )
     
   dependencies = suse-dependencies
+}
 
 element-capability =
   element ns1:capability {
index d3663e7..58e094b 100644 (file)
 <?xml version="1.0" encoding="UTF-8"?>
-<grammar xmlns:ns1="http://linux.duke.edu/metadata/common" ns="http://novell.com/package/metadata/suse/common" xmlns="http://relaxng.org/ns/structure/1.0">
-  <include href="primary.rng">
+<grammar xmlns:suse="http://novell.com/package/metadata/suse/common" xmlns:ns1="http://linux.duke.edu/metadata/common" xmlns:ns2="http://linux.duke.edu/metadata/rpm" ns="http://novell.com/package/metadata/suse/common" xmlns="http://relaxng.org/ns/structure/1.0">
+  <include href="primary.rng"/>
+  <include href="rpm-ns.rng">
     <define name="element-format">
       <element name="ns1:format">
         <ref name="suse-format"/>
       </element>
     </define>
+    <define name="element-provides">
+      <choice>
+        <element name="suse:provides">
+          <ref name="suse-provides"/>
+        </element>
+        <element name="ns2:provides">
+          <ref name="provides"/>
+        </element>
+      </choice>
+    </define>
+    <define name="element-requires">
+      <choice>
+        <element name="suse:requires">
+          <ref name="suse-requires"/>
+        </element>
+        <element name="ns2:requires">
+          <ref name="requires"/>
+        </element>
+      </choice>
+    </define>
+    <define name="element-conflicts">
+      <choice>
+        <element name="suse:conflicts">
+          <ref name="suse-conflicts"/>
+        </element>
+        <element name="ns2:conflicts">
+          <ref name="conflicts"/>
+        </element>
+      </choice>
+    </define>
+    <define name="element-recommends">
+      <choice>
+        <element name="suse:recommends">
+          <ref name="suse-recommends"/>
+        </element>
+        <element name="ns2:recommends">
+          <ref name="recommends"/>
+        </element>
+      </choice>
+    </define>
+    <define name="element-enhances">
+      <choice>
+        <element name="suse:enhances">
+          <ref name="suse-enhances"/>
+        </element>
+        <element name="ns2:enhances">
+          <ref name="enhances"/>
+        </element>
+      </choice>
+    </define>
+    <define name="element-supplements">
+      <choice>
+        <element name="suse:supplements">
+          <ref name="suse-supplements"/>
+        </element>
+        <element name="ns2:supplements">
+          <ref name="supplements"/>
+        </element>
+      </choice>
+    </define>
+    <define name="element-suggests">
+      <choice>
+        <element name="suse:suggests">
+          <ref name="suse-suggests"/>
+        </element>
+        <element name="ns2:suggests">
+          <ref name="suggests"/>
+        </element>
+      </choice>
+    </define>
+    <define name="element-obsoletes">
+      <choice>
+        <element name="suse:obsoletes">
+          <ref name="suse-obsoletes"/>
+        </element>
+        <element name="ns2:obsoletes">
+          <ref name="obsoletes"/>
+        </element>
+      </choice>
+    </define>
+    <define name="dependencies">
+      <ref name="suse-dependencies"/>
+    </define>
   </include>
+  <define name="element-capability">
+    <element name="ns1:capability">
+      <optional>
+        <ref name="attribute-kind"/>
+      </optional>
+      <text/>
+    </element>
+  </define>
+  <define name="usual-entry-or-capability">
+    <choice>
+      <ref name="element-entry"/>
+      <ref name="element-capability"/>
+    </choice>
+  </define>
   <define name="suse-format">
     <interleave>
       <ref name="format"/>
       <ref name="element-install_only"/>
     </optional>
   </define>
+  <define name="suse-provides">
+    <oneOrMore>
+      <ref name="usual-entry-or-capability"/>
+    </oneOrMore>
+  </define>
+  <define name="suse-requires">
+    <oneOrMore>
+      <ref name="usual-entry-or-capability"/>
+    </oneOrMore>
+  </define>
+  <define name="suse-conflicts">
+    <oneOrMore>
+      <ref name="usual-entry-or-capability"/>
+    </oneOrMore>
+  </define>
+  <define name="suse-recommends">
+    <oneOrMore>
+      <ref name="usual-entry-or-capability"/>
+    </oneOrMore>
+  </define>
+  <define name="suse-enhances">
+    <oneOrMore>
+      <ref name="usual-entry-or-capability"/>
+    </oneOrMore>
+  </define>
+  <define name="suse-supplements">
+    <oneOrMore>
+      <ref name="usual-entry-or-capability"/>
+    </oneOrMore>
+  </define>
+  <define name="suse-suggests">
+    <oneOrMore>
+      <ref name="usual-entry-or-capability"/>
+    </oneOrMore>
+  </define>
+  <define name="suse-obsoletes">
+    <oneOrMore>
+      <ref name="usual-entry-or-capability"/>
+    </oneOrMore>
+  </define>
+  <define name="suse-dependencies">
+    <interleave>
+      <optional>
+        <ref name="element-provides"/>
+      </optional>
+      <optional>
+        <ref name="element-conflicts"/>
+      </optional>
+      <optional>
+        <ref name="element-obsoletes"/>
+      </optional>
+      <optional>
+        <ref name="freshen"/>
+      </optional>
+      <optional>
+        <ref name="element-requires"/>
+      </optional>
+      <optional>
+        <ref name="element-suggests"/>
+      </optional>
+      <optional>
+        <ref name="element-enhances"/>
+      </optional>
+      <optional>
+        <ref name="element-supplements"/>
+      </optional>
+      <optional>
+        <ref name="element-recommends"/>
+      </optional>
+    </interleave>
+  </define>
   <define name="element-authors">
     <element name="authors">
       <ref name="authors"/>
     <empty/>
   </define>
   <define name="element-freshen">
-    <element name="freshen">
-      <ref name="freshen"/>
-    </element>
+    <choice>
+      <element name="suse:freshen">
+        <ref name="freshen"/>
+      </element>
+      <element name="freshen">
+        <ref name="freshen"/>
+      </element>
+    </choice>
   </define>
   <define name="freshen">
     <oneOrMore>
-      <element name="entry">
-        <ref name="attribute-name"/>
-        <optional>
-          <ref name="shared-entry-attributes"/>
-          <ref name="attribute-flags"/>
-        </optional>
-        <empty/>
-      </element>
+      <ref name="usual-entry-or-capability"/>
     </oneOrMore>
   </define>
   <define name="element-install_only">