diff options
Diffstat (limited to 'lib/sisu/v0/xml.rb')
-rw-r--r-- | lib/sisu/v0/xml.rb | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/lib/sisu/v0/xml.rb b/lib/sisu/v0/xml.rb index 20c5f80e..7edbb8ea 100644 --- a/lib/sisu/v0/xml.rb +++ b/lib/sisu/v0/xml.rb @@ -120,7 +120,7 @@ module SiSU_XML_SAX end def songsheet pre - markup + @data=markup(@data) post publish end @@ -293,8 +293,7 @@ WOK @@xml[:body] << "#{@tab*0}</object>" << "\n" #if para[@regx] @endnotes=[] end - def markup - data=@data + def markup(data) xml_sc(@md) @endnotes,@level,@cont,@copen,@xml_contents_close=[],[],[],[],[] @rcdc=false @@ -355,10 +354,12 @@ WOK table=SiSU_Tables::Table_xml.new(para,ocn) para=table.table_split table_structure(para) - elsif para =~ /<:i1>/ - xml_structure(para,nil,nil,nil,'indent1') - elsif para =~ /<:i2>/ - xml_structure(para,nil,nil,nil,'indent2') + elsif para =~ /^\s*(?:<:i([1-9])> )?_\*/ #uncomment + m=$1 + para.gsub!(/^(\s*(?:<:i[1-9]> )?)_\*/,'\1') + xml_structure(para,nil,nil,nil,"indent_bullet#{m}") + elsif para =~ /<:i([1-9])>/ + xml_structure(para,nil,nil,nil,"indent#{$1}") else xml_structure(para,nil,nil,nil) end #@@xml[:body] << "#{@tab*6}<object>" << "\n" if para[@regx] @@ -381,11 +382,7 @@ WOK end para='' if para =~/<a name="n\d+">/ and para =~/^(-\{{2}~\d+|<!e[:_]\d+!>)/ # -endnote if para =~/.*<:#>.*$/ - para=case para - when /<:i1>/ - format_text=Format_text_object.new(para,'') - format_text.scr_inden_ocn_e_no_paranum - when /<:i2>/ + para=if para =~ /<:i[1-9]>/ format_text=Format_text_object.new(para,'') format_text.scr_inden_ocn_e_no_paranum end @@ -438,7 +435,6 @@ WOK end def publish content=[] - data=@data content << @@xml[:open] << @@xml[:head] << @@xml[:body] << @@xml[:metadata] content << @@xml[:owner_details] if @md.stmp =~/\w\w/ content << @@xml[:tail] << @@xml[:close] |