Première mise au point des tableaux
authorPatrick PIERRE <patrick.pierre@prismallia.fr>
dim., 12 juin 2011 17:21:39 +0200
changeset 22 94b8e4454c47
parent 21 7c09024d5634
child 23 814ea44c2469
Première mise au point des tableaux
RelaxNG/publidoc.rnc
RelaxNG/publidoc.rng
Xml/Documents/torture_test.xml
--- a/RelaxNG/publidoc.rnc	dim. juin 12 16:02:23 2011 +0200
+++ b/RelaxNG/publidoc.rnc	dim. juin 12 17:21:39 2011 +0200
@@ -324,10 +324,18 @@
 rowsep.attribute = attribute rowsep { "0" | "1" }
 
 # ~~~~~~ thead, tfoot, tbody
-thead = element thead { thead.content }
-tfoot = element tfoot { tfoot.content }
-tbody = element tbody { tbody.content }
+thead = element thead { thead.attributes, thead.content }
+tfoot = element tfoot { tfoot.attributes, tfoot.content }
+tbody = element tbody { tbody.attributes, tbody.content }
 
+thead.attributes =
+   valign.attribute?
+tfoot.attributes =
+   valign.attribute?
+tbody.attributes =
+   valign.attribute?
+valign.attribute = attribute valign { "top" | "middle" | "bottom" }
+   
 thead.content =
    row+
 tfoot.content =
@@ -340,7 +348,6 @@
 
 row.attribute =
    valign.attribute?
-valign.attribute = attribute valign { "top" | "middle" | "bottom" }
 
 row.content =
   entry+
--- a/RelaxNG/publidoc.rng	dim. juin 12 16:02:23 2011 +0200
+++ b/RelaxNG/publidoc.rng	dim. juin 12 17:21:39 2011 +0200
@@ -695,19 +695,46 @@
   <!-- ~~~~~~ thead, tfoot, tbody -->
   <define name="thead">
     <element name="thead">
+      <ref name="thead.attributes"/>
       <ref name="thead.content"/>
     </element>
   </define>
   <define name="tfoot">
     <element name="tfoot">
+      <ref name="tfoot.attributes"/>
       <ref name="tfoot.content"/>
     </element>
   </define>
   <define name="tbody">
     <element name="tbody">
+      <ref name="tbody.attributes"/>
       <ref name="tbody.content"/>
     </element>
   </define>
+  <define name="thead.attributes">
+    <optional>
+      <ref name="valign.attribute"/>
+    </optional>
+  </define>
+  <define name="tfoot.attributes">
+    <optional>
+      <ref name="valign.attribute"/>
+    </optional>
+  </define>
+  <define name="tbody.attributes">
+    <optional>
+      <ref name="valign.attribute"/>
+    </optional>
+  </define>
+  <define name="valign.attribute">
+    <attribute name="valign">
+      <choice>
+        <value>top</value>
+        <value>middle</value>
+        <value>bottom</value>
+      </choice>
+    </attribute>
+  </define>
   <define name="thead.content">
     <oneOrMore>
       <ref name="row"/>
@@ -735,15 +762,6 @@
       <ref name="valign.attribute"/>
     </optional>
   </define>
-  <define name="valign.attribute">
-    <attribute name="valign">
-      <choice>
-        <value>top</value>
-        <value>middle</value>
-        <value>bottom</value>
-      </choice>
-    </attribute>
-  </define>
   <define name="row.content">
     <oneOrMore>
       <ref name="entry"/>
--- a/Xml/Documents/torture_test.xml	dim. juin 12 16:02:23 2011 +0200
+++ b/Xml/Documents/torture_test.xml	dim. juin 12 17:21:39 2011 +0200
@@ -55,6 +55,36 @@
           dans l'ombre, quelque ange immense était debout, les ailes déployées,
           attendant l'âme.</p>
         </section>
+        <section>
+          <head>
+            <title>Germinal</title>
+            <subtitle>Extrait</subtitle>
+          </head>
+          <section>
+            <p>Pas une parole n'était échangée. Ils tapaient tous, on
+            n'entendait que ces coups irréguliers, voilés et comme lointains.
+            Les bruits prenaient une sonorité rauque, sans un écho dans l'air
+            mort. Et il semblait que les ténèbres fussent d'un noir inconnu,
+            épaissi par les poussières volantes du charbon, alourdi par des gaz
+            qui pesaient sur les yeux. Les mèches des lampes, sous leurs
+            chapeaux de toile métallique, n'y mettaient que des points
+            rougeâtres.</p>
+            <p>On ne distinguait rien, la taille s'ouvrait, montait ainsi
+            qu'une large cheminée, plate et oblique, où la suie de dix hivers
+            aurait amassé une nuit profonde. Des formes spectrales s'y
+            agitaient, les lueurs perdues laissaient entrevoir une rondeur de
+            hanche, un bras noueux, une tête violente, barbouillée comme pour
+            un crime. Parfois, en se détachant, luisaient des blocs de houille,
+            des pans et des arêtes, brusquement allumés d'un reflet de cristal.
+            Puis, tout retombait au noir, les rivelaines tapaient à grands
+            coups sourds, il n'y avait plus que le halètement des poitrines, le
+            grognement de gêne et de fatigue, sous la pesanteur de l'air et la
+            pluie des sources.</p>
+           </section>
+           <section status="sign">
+            <p>Émile ZOLA</p>
+          </section>
+        </section>
       </topic>
       <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
       <topic>
@@ -68,9 +98,7 @@
           </head>
           <speech>
             <speaker>Le fâcheux</speaker>
-            <p>
-              Quoi, pas un grand seigneur pour couvrir de son nom ?…
-            </p>
+            <p>Quoi, pas un grand seigneur pour couvrir de son nom ?…</p>
           </speech>
           <speech>
             <speaker>Cyrano</speaker>
@@ -166,24 +194,34 @@
         </head>
         <section>
           <table>
+            <head>
+              <title>Un tableau simple</title>
+            </head>
             <tgroup cols="3" align="left">
               <thead>
                 <row>
-                  <entry>head 1.1</entry>
-                  <entry>head 1.2</entry>
-                  <entry>head 1.3</entry>
+                  <entry>Head 1</entry>
+                  <entry>Head 2</entry>
+                  <entry>Head 3</entry>
                 </row>
               </thead>
+              <tfoot>
+                <row>
+                  <entry>Foot 1</entry>
+                  <entry>Foot 2</entry>
+                  <entry>Foot 3</entry>
+                </row>
+              </tfoot>
               <tbody>
                 <row>
-                  <entry>cell 1.1</entry>
-                  <entry>cell 1.2</entry>
-                  <entry>cell 1.3</entry>
+                  <entry>Cell 1.1</entry>
+                  <entry>Cell 1.2</entry>
+                  <entry>Cell 1.3</entry>
                 </row>
                 <row>
-                  <entry>cell 2.1</entry>
-                  <entry>cell 2.2</entry>
-                  <entry>cell 2.3</entry>
+                  <entry>Cell 2.1</entry>
+                  <entry>Cell 2.2</entry>
+                  <entry>Cell 2.3</entry>
                 </row>
               </tbody>
             </tgroup>
@@ -219,7 +257,8 @@
           <list type="glossary">
             <item>
               <label>Indices et exposants</label>
-              <p>Un exposant<sup>2</sup> suivi d'un indice<sub>3</sub>.</p>
+              <p>Un exposant 10<sup>-3</sup> suivi d'un indice
+              H<sub>2</sub>O.</p>
             </item>
             <item>
               <label>Nombres</label>