Monday, November 08, 2010 at 12:03 AM.
system.verbs.builtins.html.table.methods.html
on html (adrTable) {
<<Render a Frontier table as an HTML table.
local (htmlText = "", indentLevel = 0);
on add (s) {
htmlText = htmlText + string.filledString ("\t", indentLevel) + s + "\r"};
with adrTable^ {
add ("<table border=\"" + border + "\" cellspacing=\"" + cellspacing + "\" cellpadding=\"" + cellpadding + "\">"); indentLevel++;
local (adrCol, colNum);
add ("<tr>"); indentLevel++;
for colNum = 1 to sizeOf (adrTable^.columns) {
adrCol = @adrTable^.columns [colNum];
local (s = adrCol^.title);
if adrCol^.fllink and (sizeOf (adrCol^.link) > 0) {
s = "<a href=\"" + adrCol^.link + "\">" + s + "</a>"};
add ("<td align=\"" + adrCol^.align + "\"><b>" + s + "</b></td>")};
add ("</tr>"); indentLevel--;
local (rowNum, adrRow, item, s);
for rowNum = 1 to sizeOf (adrTable^.rows) {
adrRow = @adrTable^.rows [rowNum];
add ("<tr>"); indentLevel++;
colNum = 1;
for item in adrRow^.cells { //a list
case adrTable^.columns [colNum].type {
"string" {
s = item};
"time" {
s = string.nthField (item, ";", 2) - " "};
"date" {
s = string.nthField (item, ";", 1)};
"glossaryLink" {
s = html.refGlossary (item)}};
bundle { //add font size
local (size = adrTable^.columns [colNum].size);
if sizeOf (size) > 0 {
s = "<font size=\"" + size + "\">" + s + "</font>"}};
add ("<td align=\"" + adrTable^.columns [colNum].align + "\">" + s + "</td>");
colNum++};
add ("</tr>"); indentLevel--};
add ("</table>"); indentLevel--};
return (htmlText)}
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.