]> gitweb @ CieloNegro.org - Rakka.git/blobdiff - schemas/rakka-page-1.0.rng
started implementing trackback receiver
[Rakka.git] / schemas / rakka-page-1.0.rng
index 55051662502c1f67c148a4b5c82a43b9e2601d80..c9dd03b280d18ed1f5ebb799e7ac46af39830d3b 100644 (file)
@@ -1,41 +1,62 @@
 <?xml version="1.0" encoding="utf-8"?>
-<element name="page"
-         ns="http://cielonegro.org/schema/Rakka/Page/1.0"
+<grammar ns="http://cielonegro.org/schema/Rakka/Page/1.0"
          datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
          xmlns="http://relaxng.org/ns/structure/1.0">
 
-  <optional>
-    <element name="updateInfo">
-      <!-- 旧リビジョン -->
-      <attribute name="oldRevision">
-        <!-- HXT が對應してゐない。
-           <data type="nonNegativeInteger" />
-        -->
-        <text />
-      </attribute>
-
-      <!-- ページ移動 -->
+  <start>
+    <element name="page">
       <optional>
-        <element name="move">
-          <attribute name="from">
+        <element name="updateInfo">
+          <!-- 旧リビジョン -->
+          <attribute name="oldRevision">
+            <!-- HXT が對應してゐない。
+                 <data type="nonNegativeInteger" />
+            -->
             <text />
           </attribute>
+
+          <!-- ページ移動 -->
+          <optional>
+            <element name="move">
+              <attribute name="from">
+                <text />
+              </attribute>
+            </element>
+          </optional>
         </element>
+
+        <!-- 猶、更新時に type 屬性を空欄にすると自動判別される。但し
+             binaryData の場合のみ許される。 -->
+      </optional>
+
+      <optional>
+        <!-- ログインしてゐないユーザーの編集を禁止するフラグ -->
+        <attribute name="isLocked">
+          <choice>
+            <value>yes</value>
+            <value>no</value>
+          </choice>
+        </attribute>
       </optional>
-    </element>
 
-    <!-- 猶、更新時に type 屬性を空欄にすると自動判別される。但し
-         binaryData の場合のみ許される。 -->
-  </optional>
+      <choice>
+        <!-- リダイレクトの場合 -->
+        <ref name="redirection" />
+    
+        <!-- リダイレクトでない場合 -->
+        <ref name="entity" />
+      </choice>
+    </element>
+  </start>
 
-  <choice>
-    <!-- リダイレクトの場合 -->
+  <define name="redirection">
     <attribute name="redirect">
       <!-- ページ名 -->
       <data type="anyURI" />
     </attribute>
-    
-    <!-- リダイレクトでない場合 -->
+  </define>
+
+  <define name="entity">
     <group>
       <attribute name="type">
         <!-- MIME Type -->
         </attribute>
       </optional>
 
-      <optional>
-        <!-- ログインしてゐないユーザーの編集を禁止するフラグ -->
-        <attribute name="isLocked">
-          <choice>
-            <value>yes</value>
-            <value>no</value>
-          </choice>
-        </attribute>
-      </optional>
-
       <interleave>
         <optional>
           <element name="summary">
         </element>
       </choice>
     </group>
-  </choice>
-</element>
+  </define>
+</grammar>