280 cols.attribute = attribute cols { xsd:positiveInteger } |
279 cols.attribute = attribute cols { xsd:positiveInteger } |
281 align.attribute = attribute align { "left" | "right" | "center" | "justify" } |
280 align.attribute = attribute align { "left" | "right" | "center" | "justify" } |
282 colsep.attribute = attribute colsep { "0" | "1" } |
281 colsep.attribute = attribute colsep { "0" | "1" } |
283 rowsep.attribute = attribute rowsep { "0" | "1" } |
282 rowsep.attribute = attribute rowsep { "0" | "1" } |
284 |
283 |
285 # ~~~~~~ thead, tfoot, tbody |
284 # ~~~~~~ thead, tbody |
286 thead = element thead { thead.attributes, thead.content } |
285 thead = element thead { thead.attributes, thead.content } |
287 tfoot = element tfoot { tfoot.attributes, tfoot.content } |
|
288 tbody = element tbody { tbody.attributes, tbody.content } |
286 tbody = element tbody { tbody.attributes, tbody.content } |
289 |
287 |
290 thead.attributes = |
288 thead.attributes = |
291 valign.attribute? |
|
292 tfoot.attributes = |
|
293 valign.attribute? |
289 valign.attribute? |
294 tbody.attributes = |
290 tbody.attributes = |
295 valign.attribute? |
291 valign.attribute? |
296 valign.attribute = attribute valign { "top" | "middle" | "bottom" } |
292 valign.attribute = attribute valign { "top" | "middle" | "bottom" } |
297 |
293 |
298 thead.content = |
294 thead.content = |
299 row+ |
295 row+ |
300 tfoot.content = |
|
301 row+ |
|
302 tbody.content = |
296 tbody.content = |
303 row+ |
297 row+ |
304 |
298 |
305 # ~~~~~~ row |
299 # ~~~~~~ row |
306 row = element row { row.attribute, row.content } |
300 row = element row { row.attributes, row.content } |
307 |
301 |
308 row.attribute = |
302 row.attributes = |
309 valign.attribute? |
303 valign.attribute? |
|
304 & rowsep.attribute? |
310 |
305 |
311 row.content = |
306 row.content = |
312 entry+ |
307 entry+ |
313 |
308 |
314 # ~~~~~~ entry |
309 # ~~~~~~ entry |
315 entry = element entry { entry.content } |
310 entry = element entry { entry.attributes, entry.content } |
|
311 |
|
312 entry.attributes = |
|
313 align.attribute? |
|
314 & valign.attribute? |
|
315 & colsep.attribute? |
|
316 & rowsep.attribute? |
316 |
317 |
317 entry.content = |
318 entry.content = |
318 inlines |
319 inlines |
319 | (p | media)+ |
320 | (p | media)+ |
320 |
321 |