Résumé (<abstract>) dans les publisets
authorYvon BOURBOTTE <yvon.bourbotte@prismallia.fr>
ven., 28 oct. 2011 10:41:08 +0200
changeset 52 cb9addc3d98a
parent 51 c7481907303c
child 53 37e9f6428d02
Résumé (<abstract>) dans les publisets
RelaxNG/publiset.rnc
RelaxNG/publiset.rng
Xml/Sets/composition.xml
--- a/RelaxNG/publiset.rnc	dim. oct. 23 18:42:06 2011 +0200
+++ b/RelaxNG/publiset.rnc	ven. oct. 28 10:41:08 2011 +0200
@@ -79,6 +79,7 @@
  & copyright?
  & author*
  & publisher?
+ & abstract?
  & cover?
 division.head.content =
    (title, subtitle?)?
@@ -159,6 +160,13 @@
 
 label.content = inlines
 
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ abstract ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+abstract = element abstract { abstract.content }
+
+abstract.content =
+   p+
+
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cover ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 cover = element cover { cover.content }
@@ -224,6 +232,18 @@
 
 
 # =============================================================================
+#                                 BLOCK LEVEL
+# =============================================================================
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ p ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+p = element p { p.content }
+
+p.content =
+   inlines
+
+
+# =============================================================================
 #                                 INLINE LEVEL
 # =============================================================================
 
--- a/RelaxNG/publiset.rng	dim. oct. 23 18:42:06 2011 +0200
+++ b/RelaxNG/publiset.rng	ven. oct. 28 10:41:08 2011 +0200
@@ -163,6 +163,9 @@
         <ref name="publisher"/>
       </optional>
       <optional>
+        <ref name="abstract"/>
+      </optional>
+      <optional>
         <ref name="cover"/>
       </optional>
     </interleave>
@@ -327,6 +330,17 @@
   <define name="label.content">
     <ref name="inlines"/>
   </define>
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ abstract ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="abstract">
+    <element name="abstract">
+      <ref name="abstract.content"/>
+    </element>
+  </define>
+  <define name="abstract.content">
+    <oneOrMore>
+      <ref name="p"/>
+    </oneOrMore>
+  </define>
   <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cover ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   <define name="cover">
     <element name="cover">
@@ -454,6 +468,20 @@
   </define>
   <!--
     =============================================================================
+                                    BLOCK LEVEL
+    =============================================================================
+  -->
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ p ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <define name="p">
+    <element name="p">
+      <ref name="p.content"/>
+    </element>
+  </define>
+  <define name="p.content">
+    <ref name="inlines"/>
+  </define>
+  <!--
+    =============================================================================
                                     INLINE LEVEL
     =============================================================================
   -->
--- a/Xml/Sets/composition.xml	dim. oct. 23 18:42:06 2011 +0200
+++ b/Xml/Sets/composition.xml	ven. oct. 28 10:41:08 2011 +0200
@@ -15,6 +15,9 @@
           <label>Prismallia</label>
           <link uri="http://www.prismallia.fr">Prismallia</link>
         </publisher>
+        <abstract>
+          <p>Ce document est un assemblage de plusieurs fichiers.</p>
+        </abstract>
         <cover><image id="composition"/></cover>
       </head>