# HG changeset patch # User Patrick PIERRE <patrick.pierre@prismallia.fr> # Date 1379756667 -7200 # Node ID 88251c3ce4a90c767e5beac783f2b473c88ab143 # Parent b62d4097845e5fe08701e6644e7e8984b65f3f54 Nouvelles tables diff -r b62d4097845e -r 88251c3ce4a9 RelaxNG/Examples/Documents/torture_test.xml --- a/RelaxNG/Examples/Documents/torture_test.xml sam. sept. 21 11:32:02 2013 +0200 +++ b/RelaxNG/Examples/Documents/torture_test.xml sam. sept. 21 11:44:27 2013 +0200 @@ -506,16 +506,93 @@ <title>Les tableaux</title> </head> <section> + <head> + <title>Tableau standard</title> + </head> + + <table> + <head><title>Consonnes sonores et sourdes en russe</title></head> + <tr><th>Consonnes sonores</th><th>Consonnes sourdes</th></tr> + <tr><td>г, б, з, д, в, ж</td><td>к, п, с, т, ф, ш</td></tr> + </table> + + <table type="template"> + <head><title>Journal de navigation</title></head> + <thead> + <tr> + <td rowspan="2"> </td> + <td colspan="4" rowspan="2"> + <p>Avion :</p><p>Horamètre :</p> + </td> + </tr> + <tr> + <td colspan="4"> + <p>Autonomie :</p><p>Heure :</p> + </td> + </tr> + <tr> + <th> </th> + <th>Rm</th> + <th>D (NM)</th> + <th colspan="2">He, Hr/Tsv (min)</th> + <th>Radio</th> + <th>VOR</th> + <th>Alt. (ft)</th> + <th>Zone…</th> + </tr> + </thead> + <tbody> + <tr> + <td colspan="3">Chavenay</td><td> </td><td> </td> + <td align="left">Tour : 129,525</td> + <td> </td><td> </td><td> </td> + </tr> + <tr align="center"> + <td> </td><td>220°</td><td>8</td><td colspan="2">+5</td> + <td> </td><td> </td><td>max : 2000</td><td> </td> + </tr> + <tr> + <td colspan="3">Étangs de Hollande</td><td> </td><td> </td> + <td> </td><td> </td><td> </td><td> </td> + </tr> + <tr align="center"> + <td> </td><td>155°</td><td>23</td><td colspan="2">+14</td> + <td> </td><td> </td><td>max : 2500</td><td> </td> + </tr> + <tr> + <td colspan="3">Étampes</td><td> </td><td> </td> + <td align="left"><p>Tour : 119,05</p></td> + <td> </td><td> </td><td> </td> + </tr> + <tr> + <td colspan="5"> + <p><highlight>ATIS</highlight></p> + <p>QNH</p><p>QFU</p><p>Visi.</p><p>Vent</p> + </td> + <td colspan="4" align="right"> + <p><highlight>ATIS</highlight></p> + <p>QNH</p><p>QFU</p><p>Visi.</p><p>Vent</p> + </td> + </tr> + </tbody> + <caption>Archive P²</caption> + </table> + </section> + + <section> + <head> + <title>Tableau CALS</title> + </head> <table> <head> <title>Grades de la Marine nationale</title> </head> - <tgroup cols="3" align="left"> + <tgroup cols="3"> <thead> <row> - <entry align="center">Grade d'officier supérieur</entry> + <entry align="left">Grade d'officier supérieur</entry> <entry align="center">Appellation</entry> - <entry align="center">Surnom</entry> + <entry align="right">Surnom</entry> </row> </thead> <tbody> @@ -539,9 +616,9 @@ <tgroup cols="3"> <thead> <row> - <entry>Grade d'officier subalterne</entry> - <entry>Appellation</entry> - <entry>Surnom</entry> + <entry align="left">Grade d'officier subalterne</entry> + <entry align="center">Appellation</entry> + <entry align="right">Surnom</entry> </row> </thead> <tbody> @@ -570,9 +647,9 @@ <tgroup cols="3"> <thead> <row> - <entry>Grade d'officier marinier</entry> - <entry>Appellation</entry> - <entry>Surnom</entry> + <entry align="left">Grade d'officier marinier</entry> + <entry align="center">Appellation</entry> + <entry align="right">Surnom</entry> </row> </thead> <tbody> diff -r b62d4097845e -r 88251c3ce4a9 RelaxNG/publiquiz.rnc --- a/RelaxNG/publiquiz.rnc sam. sept. 21 11:32:02 2013 +0200 +++ b/RelaxNG/publiquiz.rnc sam. sept. 21 11:44:27 2013 +0200 @@ -316,63 +316,55 @@ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ table ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -blanks.table = element table { blanks.table.content } -point.table = element table { point.table.content } +blanks.table = element table { table.attributes, blanks.table.content } +point.table = element table { table.attributes, point.table.content } blanks.table.content = block.head?, - blanks.tgroup+, + thead?, + (blanks.tbody+ | blanks.tr+), table.caption? point.table.content = block.head?, - point.tgroup+, + (point.tbody+ | point.tr+), table.caption? -# ~~~~~~ tgroup -blanks.tgroup = element tgroup { tgroup.attributes, blanks.tgroup.content } -point.tgroup = element tgroup { tgroup.attributes, point.tgroup.content } - -blanks.tgroup.content = - thead?, - blanks.tbody -point.tgroup.content = - thead?, - point.tbody - # ~~~~~~ tbody -blanks.tbody = element tbody { tbody.attributes, blanks.tbody.content } -point.tbody = element tbody { tbody.attributes, point.tbody.content } +blanks.tbody = element tbody { blanks.tbody.content } +point.tbody = element tbody { point.tbody.content } blanks.tbody.content = - blanks.row+ + blanks.tr+ point.tbody.content = - point.row+ + point.tr+ -# ~~~~~~ row -blanks.row = element row { row.attributes, blanks.row.content } -point.row = element row { row.attributes, point.row.content } +# ~~~~~~ tr +blanks.tr = element tr { tr.attributes, blanks.tr.content } +point.tr = element tr { tr.attributes, point.tr.content } -blanks.row.content = - blanks.entry+ -point.row.content = - point.entry+ +blanks.tr.content = + (blanks.td | blanks.th)+ +point.tr.content = + (point.td | point.th)+ -# ~~~~~~ entry -blanks.entry = element entry { blanks.entry.content } -point.entry = element entry { point.entry.content } +# ~~~~~~ td, th +blanks.td = element td { td.attributes, blanks.td.content } +blanks.th = element th { td.attributes, blanks.td.content } +point.td = element td { td.attributes, point.td.content } +point.th = element th { td.attributes, point.td.content } -blanks.entry.content = +blanks.td.content = blanks.inlines | (p | media)+ -point.entry.content = +point.td.content = point.inlines | (p | media)+ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ media ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~ blanks.media -blanks.media = element media { blanksmedia.content } +blanks.media = element media { media.attributes, blanksmedia.content } blanksmedia.content = block.head?,