RelaxNG/publiset.rng
changeset 29 0bd36d3b6a5a
parent 27 31bda0a55c4d
child 30 c0f9e813c039
--- a/RelaxNG/publiset.rng	sam. juin 18 09:09:04 2011 +0200
+++ b/RelaxNG/publiset.rng	sam. juin 18 09:47:23 2011 +0200
@@ -41,6 +41,15 @@
   <define name="composition.attributes">
     <interleave>
       <ref name="composition.id.attribute"/>
+      <optional>
+        <ref name="path.attribute"/>
+      </optional>
+      <optional>
+        <ref name="xpath.attribute"/>
+      </optional>
+      <optional>
+        <ref name="xslt.attribute"/>
+      </optional>
       <ref name="remap.attributes"/>
     </interleave>
   </define>
@@ -49,6 +58,19 @@
       <data type="ID"/>
     </attribute>
   </define>
+  <define name="path.attribute">
+    <attribute name="path">
+      <data type="anyURI"/>
+    </attribute>
+  </define>
+  <define name="xslt.attribute">
+    <attribute name="xslt">
+      <data type="anyURI"/>
+    </attribute>
+  </define>
+  <define name="xpath.attribute">
+    <attribute name="xpath"/>
+  </define>
   <define name="composition.content">
     <optional>
       <ref name="composition.head"/>
@@ -68,9 +90,15 @@
     </element>
   </define>
   <define name="selection.attributes">
-    <optional>
-      <ref name="path.attribute"/>
-    </optional>
+    <interleave>
+      <ref name="selection.id.attribute"/>
+      <optional>
+        <ref name="path.attribute"/>
+      </optional>
+      <optional>
+        <ref name="xpath.attribute"/>
+      </optional>
+    </interleave>
   </define>
   <define name="selection.id.attribute">
     <attribute name="xml:id">
@@ -295,31 +323,23 @@
         <ref name="path.attribute"/>
       </optional>
       <optional>
-        <ref name="xslt.attribute"/>
+        <ref name="xpath.attribute"/>
       </optional>
       <optional>
-        <ref name="xpath.attribute"/>
+        <ref name="xslt.attribute"/>
       </optional>
       <ref name="remap.attributes"/>
     </interleave>
   </define>
   <define name="selection.division.attributes">
-    <optional>
-      <ref name="path.attribute"/>
-    </optional>
-  </define>
-  <define name="path.attribute">
-    <attribute name="path">
-      <data type="anyURI"/>
-    </attribute>
-  </define>
-  <define name="xslt.attribute">
-    <attribute name="xslt">
-      <data type="anyURI"/>
-    </attribute>
-  </define>
-  <define name="xpath.attribute">
-    <attribute name="xpath"/>
+    <interleave>
+      <optional>
+        <ref name="path.attribute"/>
+      </optional>
+      <optional>
+        <ref name="xpath.attribute"/>
+      </optional>
+    </interleave>
   </define>
   <define name="composition.division.content">
     <optional>
@@ -364,23 +384,18 @@
   <define name="composition.file.attributes">
     <interleave>
       <optional>
-        <ref name="xslt.attribute"/>
+        <ref name="xpath.attribute"/>
       </optional>
       <optional>
-        <ref name="xpath.attribute"/>
+        <ref name="xslt.attribute"/>
       </optional>
       <ref name="remap.attributes"/>
     </interleave>
   </define>
   <define name="selection.file.attributes">
-    <interleave>
-      <optional>
-        <ref name="xpath.attribute"/>
-      </optional>
-      <optional>
-        <ref name="xslt.attribute"/>
-      </optional>
-    </interleave>
+    <optional>
+      <ref name="xpath.attribute"/>
+    </optional>
   </define>
   <define name="file.content">
     <data type="anyURI"/>