Ajout de blockquote
authorPatrick PIERRE <patrick.pierre@prismallia.fr>
mer., 28 sept. 2011 14:29:11 +0200
changeset 44 ae64c01c37f1
parent 43 5be33d03941a
child 45 8dbf4d305813
Ajout de blockquote
RelaxNG/publidoc.rnc
RelaxNG/publidoc.rng
Xml/Documents/torture_test.xml
--- a/RelaxNG/publidoc.rnc	mar. sept. 27 23:30:00 2011 +0200
+++ b/RelaxNG/publidoc.rnc	mer. sept. 28 14:29:11 2011 +0200
@@ -131,10 +131,6 @@
 # ~~~~~~ author
 author = element author { author.content }
 
-author.attributes =
-   role.attribute?
-role.attribute = attribute role { "author" | "illustrator" }
-
 author.content =
    firstname?,
    lastname,
@@ -304,7 +300,7 @@
 
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ block ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-block = (p | speech | \list | table | media)
+block = (p | speech | \list | blockquote | table | media)
 
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ p ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -357,6 +353,22 @@
    label,
    block+
 
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ blockquote ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# ~~~~~~ blockquote
+blockquote = element blockquote { blockquote.content }
+
+blockquote.content =
+   block.head?,
+   (p | speech | \list)+,
+   attribution?
+
+# ~~~~~~ attribution
+attribution = element attribution { attribtuion.content }
+
+attribtuion.content =
+   inlines
+
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ table ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 table = element table { table.content }
--- a/RelaxNG/publidoc.rng	mar. sept. 27 23:30:00 2011 +0200
+++ b/RelaxNG/publidoc.rng	mer. sept. 28 14:29:11 2011 +0200
@@ -304,19 +304,6 @@
       <ref name="author.content"/>
     </element>
   </define>
-  <define name="author.attributes">
-    <optional>
-      <ref name="role.attribute"/>
-    </optional>
-  </define>
-  <define name="role.attribute">
-    <attribute name="role">
-      <choice>
-        <value>author</value>
-        <value>illustrator</value>
-      </choice>
-    </attribute>
-  </define>
   <define name="author.content">
     <optional>
       <ref name="firstname"/>
@@ -631,6 +618,7 @@
       <ref name="p"/>
       <ref name="speech"/>
       <ref name="list"/>
+      <ref name="blockquote"/>
       <ref name="table"/>
       <ref name="media"/>
     </choice>
@@ -739,6 +727,37 @@
       <ref name="block"/>
     </oneOrMore>
   </define>
+  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ blockquote ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+  <!-- ~~~~~~ blockquote -->
+  <define name="blockquote">
+    <element name="blockquote">
+      <ref name="blockquote.content"/>
+    </element>
+  </define>
+  <define name="blockquote.content">
+    <optional>
+      <ref name="block.head"/>
+    </optional>
+    <oneOrMore>
+      <choice>
+        <ref name="p"/>
+        <ref name="speech"/>
+        <ref name="list"/>
+      </choice>
+    </oneOrMore>
+    <optional>
+      <ref name="attribution"/>
+    </optional>
+  </define>
+  <!-- ~~~~~~ attribution -->
+  <define name="attribution">
+    <element name="attribution">
+      <ref name="attribtuion.content"/>
+    </element>
+  </define>
+  <define name="attribtuion.content">
+    <ref name="inlines"/>
+  </define>
   <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ table ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   <define name="table">
     <element name="table">
--- a/Xml/Documents/torture_test.xml	mar. sept. 27 23:30:00 2011 +0200
+++ b/Xml/Documents/torture_test.xml	mer. sept. 28 14:29:11 2011 +0200
@@ -215,6 +215,22 @@
       <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
       <topic>
         <head>
+          <title>Les citations</title>
+        </head>
+        <section>
+          <blockquote>
+            <p>Dans cent ans, qu'aimeriez-vous que l'on dise de vous ?</p>
+            <p>
+              — J'aimerais que l'on dise : <quote>il se porte bien pour son
+              âge !</quote>
+            </p>
+            <attribution>Woody ALLEN</attribution>
+          </blockquote>
+        </section>
+      </topic>
+      <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+      <topic>
+        <head>
           <title>Les tableaux</title>
         </head>
         <section>