"""
Create docbook- instead of HTML-tables.
Requires:
docbook_grammar
Example of a docbook table:
Sample Table
Horizontal Span
a3
a4
a5
f1
f2
f3
f4
f5
b1
b2
b3
b4
Vertical Span
c1
Span Both
c4
d1
d4
d5
Example from http://www.docbook.org/tdg/en/html/table.html
"""
## Set up docbookwriter
import mwlib.docbookwriter
Element = mwlib.docbookwriter.Element
SubElement = mwlib.docbookwriter.SubElement
setVList=mwlib.docbookwriter.setVList
class MyDocBookWriter(mwlib.docbookwriter.DocBookWriter):
def dbwriteTable(self, t):
"""
rowspan & colspan are supported
nested tables not supported in DocBook V4.4
"""
table = Element("informaltable") #border=1
tgroup = SubElement(table,"tgroup",cols="1") # FIXME: cols=1 is not always correct
tbody = SubElement(tgroup,"tbody")
setVList(table, t)
if t.caption:
#c = SubElement(table, "caption")
#self.writeText(t.caption, c)
pass
table.writeto = tbody
#docbookwriter.py l 220
return table
def dbwriteCell(self, cell):
td = Element("entry")
#setVList(td, cell)
return td
def dbwriteRow(self, row):
return Element("row")
def apply():
mwlib.docbookwriter.DocBookWriter = MyDocBookWriter