** Description: common file for xml table generation
=end
module SiSU_Tables
require "#{SiSU_lib}/defaults"
include SiSU_Viz
class Table #_xml
@@tablehead=0
@@tablefoot=[] #watch #bug??? #check was @@tablefoot
def initialize(one,ocn='')
@one,@parablock,@ocn,@vz=one,one,ocn,SiSU_Env::Get_init.instance.skin
end
def table_split #% used but, no longer operational, revisit
@new_content=[]
@one.split(/\n/).each do |parablock|
table=Table_xml.new("#{parablock}\n")
@new_content << table.table
end
@new_content.join
end
end
class Table_xml /,1]
@@tablefoot << m if m
@parablock.gsub!(//,'')
@@tablehead=1 if @parablock =~//,
%{\n#@ocn})
end
if @parablock =~//
tablefoot=[]
#bug table footers need rethink, removed for now
@@tablefoot.each {|x| tablefoot << ''}
@@tablefoot=[]
@parablock.gsub!(/\s+<~(\d+);(?:\w|[0-6]:)\d+;\w\d+><#@dp:#@dp>/,"
\n") # +
@parablock.gsub!(/\s*/,"
\n")
end
if @@tablehead == 1
if @parablock =~/¡¡/
@parablock.gsub!(/
#{@vz.paragraph_table_xml}})
@parablock.gsub!(/¡¡(\d+?)¡/,
%{ |
#{@vz.paragraph_table_xml}})
@parablock.gsub!(/!>/,"\n | \n")
@@tablehead=0
end
@parablock
else
@parablock.gsub!(/
#{@vz.paragraph_table_xml}})
@parablock.gsub!(/¡¡(\d+?)¡/,
%{
|
#{@vz.paragraph_table_xml}})
@parablock.gsub!(/!>/,"\n | \n\n")
end
@parablock
end
end
class Table_xml_exp
|
}
end
def table_end(tablefoot='')
%{ #{@vz.margin_numless}#{@vz.margin_numless} #{@vz.table_close}
#{tablefoot}}
end
def table_row(inf,h=false)
bold=if h; ''
else ''
end
%{
#{bold}}
end
def table_cell(inf,h=false)
if h; %{ | }
else %{ | }
end
end
def table_row_close(h=false)
bold_close=if h; ''
else ''
end
"#{bold_close} | "
end
def table
m=@parablock[//,1]
@@tablefoot << m if m
@parablock.gsub!(//,'')
@@tablehead=1 if @parablock =~//; @parablock=table_head($1)
end
if @parablock =~//
tablefoot=[]
@@tablefoot.each {|x| tablefoot << ''}
@@tablefoot=[]
if @parablock =~//; @parablock=table_end
end
end
if @@tablehead == 1
if @parablock =~/¡¡/
if @parablock =~//
@parablock.gsub!(/!>/,table_row_close(true))
end
@@tablehead=0
end
@parablock
else
if @parablock =~//
@parablock.gsub!(/!>/,table_row_close)
end
@parablock
end
@parablock
end
end
end
|