From 26767cc88c0548ad7978021796d0ccc4c9f7ffed Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Sat, 2 Jun 2007 11:27:06 +0100 Subject: 0.53.0, pre-build, see changelog, library naming changed for scm, placed under v0 (instead of 0.53) --- lib/sisu/0.52/dal_doc_str_tables.rb | 180 ------------------------------------ 1 file changed, 180 deletions(-) delete mode 100644 lib/sisu/0.52/dal_doc_str_tables.rb (limited to 'lib/sisu/0.52/dal_doc_str_tables.rb') diff --git a/lib/sisu/0.52/dal_doc_str_tables.rb b/lib/sisu/0.52/dal_doc_str_tables.rb deleted file mode 100644 index e70490e5..00000000 --- a/lib/sisu/0.52/dal_doc_str_tables.rb +++ /dev/null @@ -1,180 +0,0 @@ -=begin - * Name: SiSU information Structuring Universe - Structured information, Serialized Units - * Author: Ralph Amissah - * http://www.jus.uio.no/sisu - * http://www.jus.uio.no/sisu/SiSU/download.html - - * Description: xml output (sax style) processing - - * Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Ralph Amissah - - * License: GPL 2 or later - - Summary of GPL 2 - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - http://www.fsf.org/licenses/gpl.html - http://www.gnu.org/copyleft/gpl.html - http://www.jus.uio.no/sisu/gpl2.fsf - - SiSU was first released to the public on January 4th 2005 - - SiSU uses: - - * Standard SiSU markup syntax, - * Standard SiSU meta-markup syntax, and the - * Standard SiSU object citation numbering and system - - © Ralph Amissah 1997, current 2007. - All Rights Reserved. - - * Ralph Amissah: ralph@amissah.com - ralph.amissah@gmail.com - - * Notes: tidy -xml sax.xml >> index.tidy -=end -module SiSU_document_structure_tables - class Instantiate < SiSU_Param::Parameters::Instructions - @@flag={} - def initialize - @@flag['table_to']=false - @@counter=@@column=@@columns=0 - @@line_mode='' - end - end - class Tables - @@flag={} - def initialize(md,data) - @md,@data=md,data - Instantiate.new - end - def table_visual(para) - count=0 - @row=[] - table=[] - @rows=para.split(/;;/) - @rows.compact! #(c\d+?;.+?) - @rows.each do |row| - count +=1 - @row[count]=row.split(/\|/) - end - @row.compact! - widths=if @row[0].to_s =~/^\{(?:t|table)(?:~h)?\s+\d+;/ - col_width=@row[0].to_s.scan(/\d+/) - rem=(100 - col_width[0].to_i) - col_w=rem/(@row[1].length - 1) - "#{col_width[0].to_s};" + ("#{col_w};" * (@row[1].length-1)) - else - col_w=100/@row[1].length - "#{col_w};" * @row[1].length - end - @row.delete_if {|r| r[0] =~/\{(?:table|t)(?:~h)?(?:\s+c\d+;)?[\d; ]*\}/} - w=widths.split(/;/) - tuned_file=[] - tuned_file << if para =~/\{(?:t|table)~h(?:\sc\d+;)?[\d; ]*\}/ - "" - elsif para =~/\{(?:t|table)(?:\sc\d+;)?[\d; ]*\}/ - "" - end - @row.each do |l| - l << '' if l.length == (@row[1].length - 1) - table=[] - if l.length == @row[1].length - table << '' - n= -1 - l.each do |c| - n +=1 #'' + c + '' - table << if c =~/\A(?:\n)?\s*\Z/ - "¡¡#{w[n]}¡" + ' ' - else - "¡¡#{w[n]}¡" + c.strip - end - end - table << '!>' #'' - tuned_file << table.join - end - end - tuned_file << '' #'' - tuned_file=tuned_file.compact.join("\n") - end - def tables - data=@data - count=0 - @row,@tuned_file,@tuned_table=[],[],[] - data.each do |para| - para.gsub!(/\n\s+\n/,"\n") - para.gsub!(/\s+\n/,"\n") - para.gsub!(/<:hi>/,'') # bright yellow rgb(255,255,0) pale yellow rgb(255,255,200) - para.gsub!(/<:\/hi>/,%{}) - table=[] - if para =~/^\{(?:t|table)(?:~h)?(?:\sc\d+;)?[\d; ]*\}/ - @tuned_file << table_visual(para) - @tuned_file=@tuned_file.flatten - elsif @@flag['table_to'] or para[/table\{(?:~h)?/] - if para[/table\{(?:~h)?\s+c(\d+;.+)/] - instructions=$1 - @@column=instructions.split(/;\s*/) - @@columns=@@column[0] - para.gsub!(/table\{~h\s+(c\d+?;.+?)$/,'') - para.gsub!(/table\{\s+(c\d+?;.+?)$/,'') - @@flag['table_to']=true - end - if @@flag['table_to'] and para =~/\}table/ - para.gsub!(/^\}table\s*$/,"\n") - para.gsub!(/\n/,' ') #newlines taken out - para.strip! - @tuned_table << para - @tuned_table.delete('') - @tuned_file << @tuned_table.compact.join("\n") #@tuned_table.compact.join =~/\S+/ #would be preferable - para='' - @tuned_table=[] - @@flag['table_to']=false - end - if @@flag['table_to'] and para =~/\S/ - @@counter=1 - sub_array=para.dup - @@line_mode=sub_array.scan(/.+/) - Tables.new(@md,@@line_mode).tr_td - para=@@line_mode.join - para.gsub!(/(.*\S+.*)\Z/m,'') unless para =~// - para.strip! - @tuned_file << para - end - @tuned_file - end - @tuned_file - end - def tr_td - data=@data - data.each do |line| - if @@counter <= @@columns.to_i and line !~/(\}T\s*$|<:table[-_](close|end)>|)/ - line.gsub!(/(.+)/,"¡¡#{@@column[@@counter]}¡\\1") unless line =~/