RelaxNG/publidoc.rng
changeset 5 69310bc35b63
parent 3 59e42ac69f8f
child 8 1d4ee28efd68
--- a/RelaxNG/publidoc.rng	dim. juin 05 23:51:15 2011 +0200
+++ b/RelaxNG/publidoc.rng	lun. juin 06 21:51:00 2011 +0200
@@ -125,6 +125,7 @@
     </element>
   </define>
   <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ author, publisher ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <!-- ~~~~~~ author -->
   <define name="author">
     <element name="author">
       <ref name="author.content"/>
@@ -136,6 +137,7 @@
     </optional>
     <ref name="lastname"/>
   </define>
+  <!-- ~~~~~~ publisher -->
   <define name="publisher">
     <element name="publisher">
       <ref name="publisher.content"/>
@@ -144,6 +146,24 @@
   <define name="publisher.content">
     <ref name="inlines"/>
   </define>
+  <!-- ~~~~~~ firstname -->
+  <define name="firstname">
+    <element name="firstname">
+      <ref name="firstname.content"/>
+    </element>
+  </define>
+  <define name="firstname.content">
+    <ref name="inlines"/>
+  </define>
+  <!-- ~~~~~~ lastname -->
+  <define name="lastname">
+    <element name="lastname">
+      <ref name="lastname.content"/>
+    </element>
+  </define>
+  <define name="lastname.content">
+    <ref name="inlines"/>
+  </define>
   <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Language ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   <define name="language">
     <element name="language">
@@ -248,7 +268,7 @@
       <data type="NMTOKEN"/>
     </attribute>
   </define>
-  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ abstract ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ abstract ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   <define name="abstract">
     <element name="abstract">
       <ref name="abstract.content"/>
@@ -364,6 +384,7 @@
         <choice>
           <ref name="parag"/>
           <ref name="media"/>
+          <ref name="speech"/>
         </choice>
       </oneOrMore>
     </choice>
@@ -452,6 +473,42 @@
   <define name="copyright.content">
     <ref name="inlines"/>
   </define>
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ speech ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <!-- ~~~~~~ speech -->
+  <define name="speech">
+    <element name="speech">
+      <ref name="speech.content"/>
+    </element>
+  </define>
+  <define name="speech.content">
+    <optional>
+      <ref name="speaker"/>
+    </optional>
+    <optional>
+      <ref name="stage"/>
+    </optional>
+    <oneOrMore>
+      <ref name="parag"/>
+    </oneOrMore>
+  </define>
+  <!-- ~~~~~~ speaker -->
+  <define name="speaker">
+    <element name="speaker">
+      <ref name="speaker.content"/>
+    </element>
+  </define>
+  <define name="speaker.content">
+    <ref name="inlines"/>
+  </define>
+  <!-- ~~~~~~ stage -->
+  <define name="stage">
+    <element name="stage">
+      <ref name="stage.content"/>
+    </element>
+  </define>
+  <define name="stage.content">
+    <ref name="inlines"/>
+  </define>
   <!--
     =============================================================================
                                     Inline level
@@ -477,7 +534,7 @@
           <ref name="name"/>
         </zeroOrMore>
         <zeroOrMore>
-          <ref name="footnote"/>
+          <ref name="note"/>
         </zeroOrMore>
         <zeroOrMore>
           <ref name="foreign"/>
@@ -485,6 +542,15 @@
         <zeroOrMore>
           <ref name="highlight"/>
         </zeroOrMore>
+        <zeroOrMore>
+          <ref name="term"/>
+        </zeroOrMore>
+        <zeroOrMore>
+          <ref name="mentioned"/>
+        </zeroOrMore>
+        <zeroOrMore>
+          <ref name="quote"/>
+        </zeroOrMore>
       </interleave>
     </mixed>
   </define>
@@ -515,7 +581,9 @@
     </element>
   </define>
   <define name="date.attributes">
-    <ref name="date.of.attribute"/>
+    <optional>
+      <ref name="date.of.attribute"/>
+    </optional>
   </define>
   <define name="date.of.attribute">
     <attribute name="of">
@@ -537,16 +605,6 @@
     </choice>
   </define>
   <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ name ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-  <define name="firstname">
-    <element name="firstname">
-      <ref name="inlines"/>
-    </element>
-  </define>
-  <define name="lastname">
-    <element name="lastname">
-      <ref name="inlines"/>
-    </element>
-  </define>
   <define name="name">
     <element name="name">
       <ref name="name.attributes"/>
@@ -575,22 +633,22 @@
   <define name="name.content">
     <ref name="inlines"/>
   </define>
-  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ footnote ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-  <define name="footnote">
-    <element name="footnote">
-      <ref name="footnote.attributes"/>
-      <ref name="footnote.content"/>
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ note ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="note">
+    <element name="note">
+      <ref name="note.attributes"/>
+      <ref name="note.content"/>
     </element>
   </define>
-  <define name="footnote.attributes">
+  <define name="note.attributes">
     <optional>
-      <ref name="footnote.label.attribute"/>
+      <ref name="note.label.attribute"/>
     </optional>
   </define>
-  <define name="footnote.label.attribute">
+  <define name="note.label.attribute">
     <attribute name="label"/>
   </define>
-  <define name="footnote.content">
+  <define name="note.content">
     <oneOrMore>
       <ref name="parag"/>
     </oneOrMore>
@@ -619,6 +677,33 @@
   <define name="highlight.content">
     <ref name="inlines"/>
   </define>
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ term ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="term">
+    <element name="term">
+      <ref name="term.content"/>
+    </element>
+  </define>
+  <define name="term.content">
+    <ref name="inlines"/>
+  </define>
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mentioned ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="mentioned">
+    <element name="mentioned">
+      <ref name="mentioned.content"/>
+    </element>
+  </define>
+  <define name="mentioned.content">
+    <ref name="inlines"/>
+  </define>
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ quote ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="quote">
+    <element name="quote">
+      <ref name="quote.content"/>
+    </element>
+  </define>
+  <define name="quote.content">
+    <ref name="inlines"/>
+  </define>
   <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ link ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   <define name="link">
     <element name="link">