aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v5/xml_docbook5.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/v5/xml_docbook5.rb')
-rw-r--r--lib/sisu/v5/xml_docbook5.rb60
1 files changed, 35 insertions, 25 deletions
diff --git a/lib/sisu/v5/xml_docbook5.rb b/lib/sisu/v5/xml_docbook5.rb
index dc5de48a..0dddf264 100644
--- a/lib/sisu/v5/xml_docbook5.rb
+++ b/lib/sisu/v5/xml_docbook5.rb
@@ -132,18 +132,20 @@ module SiSU_XML_Docbook_Book
def tags
# collapsed -->
def collapsed
- %w[ 0 1 2 3 4 5 6 ]
+ %w[ 0 1 2 3 4 5 ]
end
def docbook(lc,chlv='')
case lc
- when 1
+ when 0
'book'
+ when 1
+ lc==chlv ? 'chapter' : 'section'
when 2
lc==chlv ? 'chapter' : 'section'
when 3
lc==chlv ? 'chapter' : 'section'
when 4
- lc==chlv ? 'chapter' : 'section'
+ 'section'
when 5
'section'
when 6
@@ -219,7 +221,7 @@ module SiSU_XML_Docbook_Book
doc_position=:body_and_tail
else
filename_docbook.puts structure_build_tag_close(o.lc,h)
- filename_docbook.puts %{#{space*(o.lc-1)}<#{tags.docbook(o.lc,chlv)}#{tag_id}>
+ filename_docbook.puts %{#{space*(o.lc)}<#{tags.docbook(o.lc,chlv)}#{tag_id}>
#{space*o.lc}<title#{id}>
}
end
@@ -238,33 +240,41 @@ module SiSU_XML_Docbook_Book
def structure_build_tag_close(lc,h)
x=[]
case h
+ when 0
+ x << "#{space*0}</#{tags.docbook(0)}>" if (lc <= 0)
when 1
- x << "#{space*0}</#{tags.docbook(1)}>" if (lc <= 1)
+ x << "#{space*1}</#{tags.docbook(1,@chlv)}>" if (lc <= 1)
+ x << "#{space*0}</#{tags.docbook(0)}>" if (lc <= 0)
when 2
- x << "#{space*1}</#{tags.docbook(2,@chlv)}>" if (lc <= 2)
- x << "#{space*0}</#{tags.docbook(1)}>" if (lc <= 1)
+ x << "#{space*2}</#{tags.docbook(2,@chlv)}>" if (lc <= 2)
+ x << "#{space*1}</#{tags.docbook(1,@chlv)}>" if (lc <= 1)
+ x << "#{space*0}</#{tags.docbook(0)}>" if (lc <= 0)
when 3
- x << "#{space*2}</#{tags.docbook(3,@chlv)}>" if (lc <= 3)
- x << "#{space*1}</#{tags.docbook(2,@chlv)}>" if (lc <= 2)
- x << "#{space*0}</#{tags.docbook(1)}>" if (lc <= 1)
+ x << "#{space*3}</#{tags.docbook(3,@chlv)}>" if (lc <= 3)
+ x << "#{space*2}</#{tags.docbook(2,@chlv)}>" if (lc <= 2)
+ x << "#{space*1}</#{tags.docbook(1,@chlv)}>" if (lc <= 1)
+ x << "#{space*0}</#{tags.docbook(0)}>" if (lc <= 0)
when 4
- x << "#{space*3}</#{tags.docbook(4,@chlv)}>" if (lc <= 4)
- x << "#{space*2}</#{tags.docbook(3,@chlv)}>" if (lc <= 3)
- x << "#{space*1}</#{tags.docbook(2,@chlv)}>" if (lc <= 2)
- x << "#{space*0}</#{tags.docbook(1)}>" if (lc <= 1)
+ x << "#{space*4}</#{tags.docbook(4,@chlv)}>" if (lc <= 4)
+ x << "#{space*3}</#{tags.docbook(3,@chlv)}>" if (lc <= 3)
+ x << "#{space*2}</#{tags.docbook(2,@chlv)}>" if (lc <= 2)
+ x << "#{space*1}</#{tags.docbook(1,@chlv)}>" if (lc <= 1)
+ x << "#{space*0}</#{tags.docbook(0)}>" if (lc <= 0)
when 5
- x << "#{space*4}</#{tags.docbook(5)}>" if (lc <= 5)
- x << "#{space*3}</#{tags.docbook(4,@chlv)}>" if (lc <= 4)
- x << "#{space*2}</#{tags.docbook(3,@chlv)}>" if (lc <= 3)
- x << "#{space*1}</#{tags.docbook(2,@chlv)}>" if (lc <= 2)
- x << "#{space*0}</#{tags.docbook(1)}>" if (lc <= 1)
+ x << "#{space*5}</#{tags.docbook(5)}>" if (lc <= 5)
+ x << "#{space*4}</#{tags.docbook(4,@chlv)}>" if (lc <= 4)
+ x << "#{space*5}</#{tags.docbook(3,@chlv)}>" if (lc <= 3)
+ x << "#{space*2}</#{tags.docbook(2,@chlv)}>" if (lc <= 2)
+ x << "#{space*1}</#{tags.docbook(1,@chlv)}>" if (lc <= 1)
+ x << "#{space*0}</#{tags.docbook(0)}>" if (lc <= 0)
when 6
- x << "#{space*5}</#{tags.docbook(6)}>" if (lc <= 6)
- x << "#{space*4}</#{tags.docbook(5)}>" if (lc <= 5)
- x << "#{space*3}</#{tags.docbook(4,@chlv)}>" if (lc <= 4)
- x << "#{space*2}</#{tags.docbook(3,@chlv)}>" if (lc <= 3)
- x << "#{space*1}</#{tags.docbook(2,@chlv)}>" if (lc <= 2)
- x << "#{space*0}</#{tags.docbook(1)}>" if (lc <= 1)
+ x << "#{space*6}</#{tags.docbook(6)}>" if (lc <= 6)
+ x << "#{space*5}</#{tags.docbook(5)}>" if (lc <= 5)
+ x << "#{space*4}</#{tags.docbook(4,@chlv)}>" if (lc <= 4)
+ x << "#{space*3}</#{tags.docbook(3,@chlv)}>" if (lc <= 3)
+ x << "#{space*2}</#{tags.docbook(2,@chlv)}>" if (lc <= 2)
+ x << "#{space*1}</#{tags.docbook(1,@chlv)}>" if (lc <= 1)
+ x << "#{space*0}</#{tags.docbook(0)}>" if (lc <= 0)
end
x.join("\n")
end