class SiSU_Tables::TableXMLdocbook
Public Class Methods
new(table,id='')
click to toggle source
# File lib/sisu/xml_tables.rb, line 118 def initialize(table,id='') @table_obj,@id=table,id end
Public Instance Methods
spaces()
click to toggle source
# File lib/sisu/xml_tables.rb, line 121 def spaces Ax[:spaces] end
table()
click to toggle source
# File lib/sisu/xml_tables.rb, line 124 def table table_obj=@table_obj if table_obj.obj !~/^<table\s/m table_obj=table_rows_and_columns_array(table_obj) else p __LINE__; p caller end table_obj end
table_rows_and_columns_array(table_obj)
click to toggle source
# File lib/sisu/xml_tables.rb, line 132 def table_rows_and_columns_array(table_obj) # provides basic (x)html table table_rows,nr=[],0 table_obj.obj.split(Mx[:tc_c]).each do |table_row| table_row_with_columns=table_row.split(Mx[:tc_p]) trc,nc=[],0 table_row_with_columns.each do |c| c=c.gsub(/^(?:~| )$/,''). # tilde / empty cell gsub(/ /,' '). gsub(/<:br>/,'<br />') trc <<= if table_obj.head_ and nr==0 %{#{spaces*6}<entry>#{c}</entry>\n} else %{#{spaces*6}<entry>#{c}</entry>\n} end nc+=1 end trc=(trc.is_a?(Array)) ? trc.flatten.join : trc trc = if table_obj.head_ and nr==0 "#{spaces*4}<thead>\n#{spaces*5}<row>\n#{trc}#{spaces*5}</row>\n#{spaces*4}</thead>\n#{spaces*4}<tbody>\n" else "#{spaces*5}<row>\n#{trc}#{spaces*5}</row>\n" end nr+=1 table_rows << trc end tbody_close=if table_obj.head_ "#{spaces*4}</tbody>" else '' end table_rows=table_rows.flatten.join # include table_id <table id=''> table_obj.obj=%{#{spaces*3}<para #{@id}> #{spaces*4}<table> #{spaces*4}<tgroup cols="#{table_obj.cols}" align="char"> #{table_rows}#{tbody_close} #{spaces*4}</tgroup> #{spaces*4}</table> #{spaces*3}</para>} table_obj end