aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v0/xml.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/v0/xml.rb')
-rw-r--r--lib/sisu/v0/xml.rb22
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]