Double-Bracket Tables
There are four tags for large-scale table processing. All must be at the beginning of a line to have any effect.
[[table (attr...)]]
ends any previous table (equivalent to [[tableend]]), and generates a new HTML <table> tag with the attributes given by attr. Valid attributes and values:
- border (a positive integer)
- bordercolor (a color name or hex number; doesn't display in all browsers)
- cellspacing (a positive integer indicating the space between cells)
- cellpadding (a positive integer indicating the interior border of a cell)
- width (a positive integer or percent)
- bgcolor (a color name or hex number)
- align (left, center or right)
- summary (does not display; used primarily to help visually disabled people navigate)
[[cell (attr...)]]
closes the previous table cell, if any, and generates a new cell with the attributes given by attr. In HTML, this creates a new "<td attr>" tag (and possibly <table>, <tr>, and </td> tags if they are needed to produce a valid HTML table).
- align (left, center or right)
- valign (top, middle or bottom)
- colspan (a positive integer)
- rowspan (a positive integer)
- bgcolor (a color name or hex number)
- width (a positive integer or percent)
[[cellnr (attr..)]]
closes the previous table cell, if any, and generates a new cell at the beginning of the next row. In HTML, this creates a "<tr><td attr>" tag, and possibly <table>, </td>, and </tr> tags if they are needed for valid HTML.
- align (left, center or right)
- valign (top, middle or bottom)
- colspan (a positive integer)
- rowspan (a positive integer)
- bgcolor (a color name or hex number)
- width (a positive integer or percent)
[[tableend]]
closes the previous table cell and closes off any table. Generates </td>, </tr>, and </table> tags as needed.
For the table, cell, and cellnr tags the author can specify any attributes that would be valid in the HTML <table> or <td> tags. Thus you can specify rowspan, colspan, etc. arguments to build arbitrary tables. However,
it's not possible to nest a [[table]] inside of a [[cell]] or [[cellnr]] -- the next paragraph explains why.
Many are likely to ask why I didn't just use the standard HTML table markup (<table>, <tr>, <td>, <th>) instead of creating my own, and allowing nested tables as a result. There are two answers: first, the HTML table markup is very ugly for naive authors (see
PmWiki.Audiences
and
PmWiki.PmWikiPhilosophy #2), and second, it'd be very easy for authors to create tables that are incorrect HTML and that display incorrectly (or not at all) on some browsers. Even seasoned web professionals sometimes get the table markup wrong, so it's a bit unrealistic to expect the average author to always get it right, or to be able to read arbitrary HTML table markup that someone else has created.
I didn't want to write the code needed to make
PmWiki understand and fix arbitrary table markup, so I created the simplified version above.
Still, this version is able to handle most table requirements (with the
possible exception of nested tables).
And, this is not to say that nested HTML tables are impossible in
PmWiki --they just can't be easily created by wiki authors using the default wiki
markup. A site administrator can of course create header/footer HTML code
that makes use of nested tables.
<< | PmWiki.DocumentationIndex | >>
编辑页面 -
页面修正 -
WikiHelp -
SearchWiki -
最近改变 - Printable Version
页面最后更新于 30 四月, 2003, 时间 06:24
©
copyleft by [email protected]
or
[email protected]