diff options
Diffstat (limited to 'lib/sisu/develop/xml_format.rb')
| -rw-r--r-- | lib/sisu/develop/xml_format.rb | 865 | 
1 files changed, 0 insertions, 865 deletions
diff --git a/lib/sisu/develop/xml_format.rb b/lib/sisu/develop/xml_format.rb deleted file mode 100644 index 80610911..00000000 --- a/lib/sisu/develop/xml_format.rb +++ /dev/null @@ -1,865 +0,0 @@ -# encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -** xml template - -** Author: Ralph Amissah -  <ralph@amissah.com> -  <ralph.amissah@gmail.com> - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -  2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Ralph Amissah, -  All Rights Reserved. - -** License: GPL 3 or later: - -  SiSU, a framework for document structuring, publishing and search - -  Copyright (C) Ralph Amissah - -  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 3 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, see <http://www.gnu.org/licenses/>. - -  If you have Internet connection, the latest version of the GPL should be -  available at these locations: -  <http://www.fsf.org/licensing/licenses/gpl.html> -  <http://www.gnu.org/licenses/gpl.html> - -  <http://www.sisudoc.org/sisu/en/manifest/gpl.fsf.html> - -** SiSU uses: -  * Standard SiSU markup syntax, -  * Standard SiSU meta-markup syntax, and the -  * Standard SiSU object citation numbering and system - -** Hompages: -  <http://www.jus.uio.no/sisu> -  <http://www.sisudoc.org> - -** Git -  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary> -  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/develop/xml_format.rb;hb=HEAD> - -=end -module SiSU_XML_Format -  require_relative 'dp'                                 # dp.rb -  require_relative 'xml_parts'                          # xml_parts.rb -  include SiSU_Param -  class ParagraphNumber -    def initialize(md,paranum) -      @md=md -      @paranum=(paranum ? (/(\d+)/m.match(paranum)[1]) : nil) -    end -    def display -      p_num_display=if @paranum -        @paranum.gsub(/(\d+)/, -        '<font size="1" color="#777777">' + -        '  \1</font>') -      else '' -      end -      p_num_display -    end -    def name -      p_num_name=@paranum.gsub(/(\d+)/,'<a name="\1"></a>') -      p_num_name -    end -    def goto -      p_num_goto=@paranum.gsub(/(\d+)/,'<a href="#\1">') -      p_num_goto -    end -  end -  class HeadInformation -    include SiSU_Parts_XML -    def initialize #dc rdf -      @full_title=@subtitle=@author=@subject=@description=@publisher=@contributor=@date=@type=@format=@identifier=@source=@language=@relation=@coverage=@rights=@copyright=@owner=@keywords='' -      @md=@@md -      # DublinCore 1 - title -      @rdfurl=%{  rdf:about="http://www.jus.uio.no/lm/toc"\n} -      if defined? @md.title.full \ -      and @md.title.full                          # DublinCore 1 - title -        @rdf_title=%{    dc.title="#{seg_name}#{@md.title.full}"\n} -        @full_title=%{<meta name="dc.title" content="#{seg_name}#{@md.title.full}" />\n} -      end -      if defined? @md.creator.author \ -      and @md.creator.author                                                  # DublinCore 2 - creator/author (author) -        @rdf_author=%{    dc.author="#{@md.creator.author}"\n} -        @author=%{<meta name="dc.author" content="#{@md.creator.author}" />\n} -      end -      if defined? @md.classify.subject \ -      and @md.classify.subject=~/\S+/                                          # DublinCore 3 - subject (us library of congress, eric or udc, or schema???) -        @rdf_subject=%{    dc.subject="#{@md.classify.subject}"\n} -        @subject=%{<meta name="dc.subject" content="#{@md.classify.subject}" />\n} -      end -      if defined? @md.notes.description \ -      and @md.notes.description=~/\S+/                                        # DublinCore 4 - description -        @rdf_description=%{    dc.description="#{@md.notes.description}"\n} -        @description=%{<meta name="dc.description" content="#{@md.notes.description}" />\n} -      end -      if defined? @md.publisher \ -      and @md.publisher=~/\S+/                                                # DublinCore 5 - publisher (current copy published by) -        @rdf_publisher=%{    dc.publisher="#{@md.publisher}"\n} -        @publisher=%{<meta name="dc.publisher" content="#{@md.publisher}" />\n} -      end -      if defined? @md.creator.contributor \ -      and @md.creator.contributor=~/\S+/                                      # DublinCore 6 - contributor -        @rdf_contributor=%{    dc.contributor="#{@md.creator.contributor}"\n} -        @contributor=%{<meta name="dc.contributor" content="#{@md.creator.contributor}" />\n} -      end -      if defined? @md.date.published \ -      and @md.date.published                                                  # DublinCore 7 - date year-mm-dd -        @rdf_date=%{    dc.date="#{@md.date.published}"\n} -        @date=%{<meta name="dc.date" content="#{@md.date.published}" #{@md.date_scheme} />\n} -      end -      if defined? @md.date.created \ -      and @md.date.created                                                    # DublinCore 7 - date.created year-mm-dd -        @rdf_date_created=%{    dc.date.created="#{@md.date.created}"\n} -        @date_created=%{<meta name="dc.date.created" content="#{@md.date.created}" #{@md.date_created_scheme} />\n} -      end -      if defined? @md.date.issued \ -      and @md.date.issued                                                      # DublinCore 7 - date.issued year-mm-dd -        @rdf_date_issued=%{    dc.date.issued="#{@md.date.issued}"\n} -        @date_issued=%{<meta name="dc.date.issued" content="#{@md.date.issued}" #{@md.date_issued_scheme} />\n} -      end -      if defined? @md.date.available \ -      and @md.date.available                                                  # DublinCore 7 - date.available year-mm-dd -        @rdf_date_available=%{    dc.date.available="#{@md.date.available}"\n} -        @date_available=%{<meta name="dc.date.available" content="#{@md.date.available}" #{@md.date_available_scheme} />\n} -      end -      if defined? @md.date.valid \ -      and @md.date.valid                                                      # DublinCore 7 - date.valid year-mm-dd -        @rdf_date_valid=%{    dc.date.valid="#{@md.date.valid}"\n} -        @date_valid=%{<meta name="dc.date.valid" content="#{@md.date.valid}" #{@md.date_valid_scheme} />\n} -      end -      if defined? @md.date.modified \ -      and @md.date.modified                                                   # DublinCore 7 - date.modified year-mm-dd -        @rdf_date_modified=%{    dc.date.modified="#{@md.date.modified}"\n} -        @date_modified=%{<meta name="dc.date.modified" content="#{@md.date.modified}" #{@md.date_modified_scheme} />\n} -      end -      if defined? @md.notes.coverage \ -      and @md.notes.coverage=~/\S+/                                        # DublinCore 14 - coverage -        @rdf_coverage=%{    dc.coverage="#{@md.notes.coverage}"\n} -        @coverage=%{<meta name="dc.coverage" content="#{@md.notes.coverage}" />\n} -      end -      if defined? @md.notes.relation \ -      and @md.notes.relation=~/\S+/                                         # DublinCore 13 - relation -        @rdf_relation=%{    dc.relation="#{@md.notes.relation}"\n} -        @relation=%{<meta name="dc.relation" content="#{@md.notes.relation}" />\n} -      end -      if defined? @md.notes.type \ -      and @md.notes.type                                                            # DublinCore 8 - type (genre eg. report, convention etc) -        @rdf_type=%{    dc.type="#{@md.notes.type}"\n} -        @type=%{<meta name="dc.type" content="#{@md.notes.type}" />\n} -      end -      if defined? @md.notes.format \ -      and @md.notes.format=~/\S+/                                              # DublinCore 9 - format (use your mime type) -        @rdf_format=%{    dc.format="#{@md.notes.format}"\n} -        @format=%{<meta name="dc.format" content="#{@md.notes.format}" />\n} -      end -      #if defined? @md.identifier.sisupod \ -      #and @md.identifier.sisupod=~/\S+/                                       # DublinCore 10 - identifier (your identifier, could use urn which is free) -      #  @rdf_identifier=%{    dc.identifier="#{@md.identifier.sisupod}"\n} -      #  @identifier=%{<meta name="dc.identifier" content="#{@md.identifier.sisupod}" />\n} -      #end -      if defined? @md.original.source \ -      and @md.original.source=~/\S+/                                           # DublinCore 11 - source (document source) -        @rdf_source=%{    dc.source="#{@md.original.source}"\n} -        @source=%{<meta name="dc.source" content="#{@md.source}" />\n} -      end -      if defined? @md.original.language \ -      and @md.original.language=~/\S+/                                         # DublinCore 12 - language (English) -        @rdf_language=%{    dc.language="#{@md.original.title}"\n} -        @language=%{<meta name="dc.language" content="#{@md.language[:name]}" />\n} -      end -      if defined? @md.rights.all \ -      and @md.rights.all=~/\S+/                                               # DublinCore 15 - rights -        rights=meta_content_clean(@md.rights.all) -        copyright=meta_content_clean(@md.rights.copyright.all) -        @rdf_rights=%{    dc.rights="#{rights}"\n} -        @rights=%{<meta name="dc.rights" content="#{rights}" />\n} -      end -      @copyright=%{<meta name="copyright" content="#{copyright}" />\n} \ -        if @md.rights.copyright.all # possibly redundant see dc.rights -      @owner=%{<meta name="owner" content="#{@md.owner}" />\n} if @md.owner -      @keywords=%{<meta name="keywords" content="#{@md.keywords}" />\n} if @md.keywords -      @index='index' -    end -    def meta_content_clean(content='') -      content=if not content.nil? -        content=content.tr('"',"'"). -           gsub(/&/,'&') -        content=SiSU_XML_Munge::Trans.new(@md).char_enc.utf8(content) -      else content -      end -    end -    def table_close -      '</font> </td></tr></table>' -    end -    def toc_head -      <<WOK -<html> -<head> -<title>#{@md.html_title}</title> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" -         xmlns:dc="http://purl.org/dc/elements/1.1/"> - <rdf:Description -#{@rdfurl} -#{@rdf_title} -#{@rdf_subtitle} -#{@rdf_author} -#{@rdf_subject} -#{@rdf_description} -#{@rdf_publisher} -#{@rdf_contributor} -#{@rdf_date} -#{@rdf_date_created} -#{@rdf_date_issued} -#{@rdf_date_available} -#{@rdf_date_valid} -#{@rdf_date_modified} -#{@rdf_type} -#{@rdf_format} -#{@rdf_identifier} -#{@rdf_source} -#{@rdf_language} -#{@rdf_relation} -#{@rdf_coverage} -#{@rdf_rights} -  /> -</rdf:RDF> -#{@full_title} -#{@author} -#{@subject} -#{@description} -#{@publisher} -#{@contributor} -#{@date} -#{@date_created} -#{@date_issued} -#{@date_available} -#{@date_valid} -#{@date_modified} -#{@type} -#{@format} -#{@identifier} -#{@source} -#{@language} -#{@relation} -#{@coverage} -#{@rights} -#{@copyright} -#{@owner} -#{@png.ico} -#{@txt.generator} -#{@js.head} -\n</head> -#{@color.body} -#{@font.css_table_file} -<a name="top"></a> -<a name="up"></a> -<a name="start"></a> -#{@js.top} -WOK -    end -  end -  class FormatTextObject -    include SiSU_Parts_XML -    attr_accessor :md,:txt,:format,:paranum,:p_num,:para_id,:headname,:font -    def initialize(md,dob) -      @md,@dob=md,dob -      if @dob[:ocn]=~/\d+/ -        @paranum=/(\d+)/m.match(@dob[:ocn])[1] -        @headname='' -        @headname=%{<a name="h#{dob.name}"></a>} if defined? dob.name -        @p_num=SiSU_XML_Format::ParagraphNumber.new(@md,dob.ocn) -      end -      rgx=/^[1-6-]~{1,2}/ #watch -      @lnk_url=@lnk_url.gsub(rgx,'') if @lnk_url =~rgx -      rgx=/~\{\d+\s+(.+?)\}~/ -      @lnk_url=@lnk_url.gsub(rgx,'\1') if @lnk_url =~rgx -    end -    def scr_endnote_body -      "<endnote>#{@txt}</endnote> " -    end -  end -  class FormatScroll < FormatTextObject -    def initialize(md,dob) -      super(md,dob) -    end -    def heading_body -      %{<p class="norm">#{@p_num.name}#{@headname}#{@dob.obj} </p>} + -      %{<p class="paranum"><font size="1" color="#777777">  #{@dob.ocn}</font></p>\n} -    end -    def heading_body0 -      %{<h1 class="norm">#{@p_num.name}#{@headname}#{@dob.obj}</h1>} + -      %{<p class="paranum"><font size="1" color="#777777">  #{@dob.ocn}</font></p>\n} -    end -    def heading_body1 -      %{<h2 class="norm">#{@p_num.name}#{@headname}#{@dob.obj}</h2>} + -      %{<p class="paranum"><font size="1" color="#777777">  #{@dob.ocn}</font></p>\n} -    end -    def heading_body2 -      %{<h3 class="norm">#{@p_num.name}#{@headname}#{@dob.obj}</h3>} + -      %{<p class="paranum"><font size="1" color="#777777">  #{@dob.ocn}</font></p>\n} -    end -    def heading_body3 -      %{<h4 class="norm">#{@p_num.name}#{@headname}#{@dob.obj}</h4>} + -      %{<p class="paranum"><font size="1" color="#777777">  #{@dob.ocn}</font></p>\n} -    end -    def heading_body4 -      %{<h5 class="norm">#{@p_num.name}#{@headname}#{@dob.obj}</h5>} + -      %{<p class="paranum"><font size="1" color="#777777">  #{@dob.ocn}</font></p>\n} -    end -    def heading_body5 -      %{<h6 class="norm">#{@p_num.name}#{@headname}#{@dob.obj}</h6>} + -      %{<p class="paranum"><font size="1" color="#777777">  #{@dob.ocn}</font></p>\n} -    end -    def heading_body6 -      %{<h7 class="norm">#{@p_num.name}#{@headname}#{@dob.obj}</h7>} + -      %{<p class="paranum"><font size="1" color="#777777">  #{@dob.ocn}</font></p>\n} -    end -  end -  class ParagraphNumber -    def initialize(md,ocn) -      @md,@ocn=md,ocn.to_s -      @ocn ||='' -    end -    def ocn_display -      @make=SiSU_Env::ProcessingSettings.new(@md) -      if @make.build.ocn? -        ocn_class='ocn' -        if @ocn.to_i==0 -          @ocn.gsub(/^(\d+|)$/, -            %{<label class="#{ocn_class}"><a name="#{@ocn}"> </a></label>}) -        else -          @ocn.gsub(/^(\d+|)$/, -            %{<label class="#{ocn_class}"><a name="#{@ocn}">\\1</a></label>}) -        end -      else -        ocn_class='ocn_off' -        @ocn.gsub(/^(\d+|)$/, -          %{<label class="#{ocn_class}"> </label>}) -      end -    end -    def name -      %{<a name="#{@ocn}"></a>} -    end -    def id #w3c? "tidy" complains about numbers as identifiers ! annoying -      %{id="o#{@ocn}"} -    end -    def goto -      %{<a href="##{@ocn}">} -    end -  end -  class HeadInformation -    include SiSU_Parts_XML -    attr_reader :md,:sfx,:pdf,:rdf,:vz -    def initialize(md) -      @md=md -      @rdf=SiSU_XML_Tags::RDF.new(md) -      # DublinCore 1 - title -      @stylesheet=SiSU_Style::CSS_HeadInfo.new(md).stylesheet -      @seg_name_html=(SiSU_HTML::Source::Seg.new.seg_name_html || []) -      @seg_name_html_tracker=(SiSU_HTML::Source::Seg.new.seg_name_html_tracker || []) -      @index='index' -      @metalink='#metadata' -      @tocband_scroll,@tocband_segtoc=nil,nil -    end -    def doc_type -      %{<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" -"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml">\n} -    end -    def table_close -      %{  </font> -#{the_table_close}} -    end -    def html_close #moved -    %{</body> -</html>} -    end -  end -  class XML -  end -  class FormatTextObject -    include SiSU_Parts_XML -    attr_accessor :md,:dob,:txt,:ocn,:format,:table,:link,:linkname,:paranum,:p_num,:headname,:banner,:url -    def initialize(md,t_o) -      @md,@t_o=md,t_o -      if t_o.is_a?(Hash) -        @txt            =t_o[:txt]            || nil -        @ocn            =t_o[:ocn]            || nil -        @ocn_display    =t_o[:ocn_display]    || nil -        @headname       =t_o[:headname]       || nil -        @trailer        =t_o[:trailer]        || nil -        @endnote_part_a =t_o[:endnote_part_a] || nil -        @endnote_part_b =t_o[:endnote_part_b] || nil -        @lnk_url        =t_o[:lnk_url]        || nil -        @lnk_txt        =t_o[:lnk_txt]        || nil -        @format         =t_o[:format]         || nil -        @target         =t_o[:target]         || nil #occasionally passed but not used -      elsif t_o.class.inspect =~/Object/ -        @txt=if defined? t_o.obj; t_o.obj -        else nil -        end -        @ocn=if defined? t_o.ocn; t_o.ocn.to_s -        else nil -        end -        @headname=if t_o.is==:heading and defined? t_o.name; t_o.name -        else nil -        end -      else -        if @md.opt.act[:maintenance][:set]==:on -          p __FILE__ << ':' << __LINE__.to_s -          p t_o.class -          p caller -        end -      end -      if defined? @t_o.ocn -        ocn=((@t_o.ocn.to_s =~/\d+/) ? @t_o.ocn : nil) -        @p_num=ParagraphNumber.new(@md,ocn) -      end -      if @format and not @format.empty? -        if @format=~/^\d:(\S+)/ #need more reliable marker #if @format =~ /#{Rx[:lv]}/ -          headname=$1 #format[/\d~(\S+)/m,1] -          @headname=if headname =~/^[a-zA-Z]/; %{<a name="#{headname}" id="#{headname}"></a>} #consider: h_#{headname} -          else %{<a name="h#{headname}" id="h#{headname}"></a>} -          end -        end -      end -      @dob=t_o if defined? t_o.is -    end -    def endnote_body -      %{ -<p class="endnote"> -  #{@txt} -</p> -} -    end -    def endnote_body_indent -      %{ -  <p class="endnote_indent"> -    #{@txt} -  </p> -} -    end -    def no_paranum -      %{ -<div class="substance"> -  <label class="ocn"> </label> -  <p class="norm"> -    #{@txt} -  </p> -</div> -} -    end -    def para_form_css(tag,attrib)                                                    # regular paragraphs shaped here -      ul=ulc='' -      ul,ulc="<ul>\n  ","\n  </ul>" if @tag =~/li/ -      %{ -<div class="substance"> -  #{@p_num.ocn_display} -  #{ul}<#{tag} class="#{attrib}" #{@p_num.id}> -    #{@txt} -  </#{tag}>#{ulc} -</div> -} -    end -    def para -      para_form_css('p','norm') -    end -    def code -      para_form_css('p','code') -    end -    def center -      para_form_css('p','center') -    end -    def bold -      para_form_css('p','bold') -    end -    def bullet -      para_form_css('li','bullet') -    end -    def format(tag,attrib) -      para_form_css(tag,attrib) -    end -    def heading_normal(tag,attrib) -      %{ -<div class="substance"> -  #{@p_num.ocn_display} -  <#{tag} class="#{attrib}" #{@p_num.id}>#{@p_num.name} -    #{@headname}#{@txt} -  </#{tag}> -</div> -} -    end -    def heading_body -      heading_normal('p','norm') -    end -    def heading_body0 -      heading_normal('h1','norm') -    end -    def heading_body1 -      heading_normal('h1','norm') -    end -    def heading_body2 -      heading_normal('h2','norm') -    end -    def heading_body3 -      heading_normal('h3','norm') -    end -    def heading_body4 -      heading_normal('h4','norm') -    end -    def heading_body5 -      heading_normal('h5','norm') -    end -    def heading_body6 -      heading_normal('h6','norm') -    end -    def heading_body7 -      heading_normal('h7','norm') -    end -    def title_header(tag,attrib) -      %{ -<div class="content"> -<#{tag} class="#{attrib}"> -    #{@txt} -  </#{tag}> -</div> -} -    end -    def title_header1 -      title_header('h1','tiny') -    end -    def title_header2 -      title_header('h2','tiny') -    end -    def title_header3 -      title_header('h3','tiny') -    end -    def title_header4 -      '' -    end -    def title_header4_old -      %{ -<div class="substance"> -  <label class="ocn"> </label> -  <h4 class="banner"> -    #{@txt} -  </h4> -</div> -} -    end -    def dl #check :trailer -      "<dl><b>#{@txt}</b> #{@trailer}</dl>" -    end -    def table_css_end      #<!TZ!> -      '</table> -    </p> -  </div>' -    end -    def gsub_body -#fix -      @txt=case @txt -      when /^\s*\((i+|iv|v|vi+|ix|x|xi+)\)/ -        @txt.gsub(/^\((i+|iv|v|vi+|ix|x|xi+)\)/,'<b>(\1)</b>'). -          gsub(/^(#{Mx[:pa_o]}i[1-9]#{Mx[:pa_c]})\s*\((i+|iv|v|vi+|ix|x|xi+)\)/,'\1<b>(\2)</b>') -      when /^\s*\(?(\d|[a-z])+\)/ -        @txt.gsub(/^\((\d+|[a-z])+\)/,'<b>(\1)</b>'). -          gsub(/^(#{Mx[:pa_o]}i[1-9]#{Mx[:pa_c]})\s*\((\d+|[a-z])+\)/,'\1<b>(\2)</b>') -      when /^\s*\d{1,3}\.\s/ -        @txt.gsub(/^\s*(\d+\.)/,'<b>\1</b>') -      when /^\s*[A-Z]\.\s/ -        @txt.gsub(/^\s*([A-Z]\.)/,'<b>\1</b>') -      else @txt -      end -    end -    def bold_para -      %{#{the_margin.txt_0} -  <p class="bold"> -    #{@txt} -  </p> -#{the_margin.num_css} -      -#{the_table_close}} -    end -    def bold_header -      @txt=@txt.gsub(/[1-9]~(\S+)/,'<a name="\1"></a>'). -        gsub(/[1-9]~/,'') -      %{<p class="bold"> -    #{@txt} -  </p> -#{the_margin.num_css} -      -#{the_table_close}} -    end -    def toc_head_copy_at -      %{<p class="center">#{@txt}</p>\n} -    end -    def center -      %{<p class="center">#{@txt}</p>\n} -    end -    def bold -      %{<p class="bold">#{@txt}</p>\n} -    end -    def center_bold -      %{<p class="centerbold">#{@txt}</p>\n} -    end -  end -  class FormatScroll < FormatTextObject -    include SiSU_Parts_XML -    def initialize(md,txt) -      super(md,txt) -    end -  end -  class FormatSeg < FormatTextObject -    def initialize(md,txt) -      super(md,txt) -    end -    def navigation_toc_lev1_advert -      %{#{@banner.home_button}\n -<center> -#{@txt} -#{@two} -</a></center><p />} -    end -    def navigation_toc_lev1 -      %{#{@banner.nav_toc}} -    end -    def navigation_toc_lev2                                                      #change bold use css -      %{<p /> -<table summary="navigation segment level 2"> -<tr><td width ="20"> -</td> -<td> -  <font size="3" #{the_font.set_face}> -    <b>#{@txt}</b> -  </font> -  </p> -#{the_table_close}} -    end -    def navigation_toc_lev3                                                      #change bold use css -      %{<p /> -<table summary="navigation segment level 3"> -<tr><td width ="20"> -</td> -<td> -  <font size="3" #{the_font.set_face}> -    <b>#{@txt}</b> -  </font> -  </p> -#{the_table_close}} -    end -    def navigation_toc_lev4 -      %{<table summary="navigation segment level 4"> -<tr><td width ="80"> -</td> -<td> -<p> -  #{@txt} -</p> -#{the_table_close}} -    end -    def navigation_toc_lev5 -    end -    def navigation_toc_lev6 -    end -    def endnote_seg_body(fn='')  #FIX                                                #url construction keep within single line... BUG WATCH 200408 -      fn='doc' if fn.empty? #you may wish to reconsider, sends to 'doc' where no segment info # Sfx[:html] or Sfx[:xhtml] ? -      %{ -  <p class="endnote"> -    #{@endnote_part_a}#{fn}#{@md.lang_code_insert}#{Sfx[:html]}#{@endnote_part_b} -  </p> -} -    end -    def subtoc_lev(tag,attrib) -      txt=if @txt \ -      and @txt =~/<\/?i>|<a\s+name="\S+?">/mi -        @txt.gsub(/<\/?i>|<a\s+name="\S+?">/mi,'') #removes name markers from subtoc, go directly to substantive text -      else @txt -      end -      note='' -      if txt =~/(#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]}\s*)/m -        note=$1 -        note=note.gsub(/[\n\s]+/m,' ') -        txt=txt.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' '). -          gsub(/<a[\n\s]+name="-\d+"[\n\s]+href="#_\d+"> <sup>\d+<\/sup> /m,'') -      end -      %{<#{tag} class="#{attrib}"> -    <a href="##{@ocn}"><i>#{txt}</i></a> #{note} -  </#{tag}>} -    end -    def subtoc_lev5 -      subtoc_lev('h5','subtoc') if @txt -    end -    def subtoc_lev6 -      subtoc_lev('h6','subtoc') if @txt -    end -    def subtoc_lev7 -      subtoc_lev('h7','subtoc') if @txt -    end -    #% para sisu -    def header_sub(tag,attrib) -      @txt=@txt.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ') -      %{ -<div class="substance"> -  #{@p_num.ocn_display} -  <#{tag} class="#{attrib}" #{@p_num.id}>#{@p_num.name} #{@headname} -    #{@txt} -  </#{tag}> -</div> -} -    end -    def header4 -      %{ -<div class="substance"> -  #{@p_num.ocn_display} -  <h1 class="norm" #{@p_num.id}>#{@p_num.name} -    #{@t_o[:format]} -    #{@txt} -  </h1> -</div> -} -    end -    def header5 -      header_sub('p','bold') -    end -    def header6 -      header_sub('p','bold') -    end -    def header7 -      header_sub('p','bold') -    end -    def navigation_header4 -      %{<table summary="navigation segment header 4" width=100% bgcolor="#08163f" border="0"> -<tr><td align="center"> -<p class="bold"> -  #{@txt} -</p> -#{the_table_close}} -    end -    def navigation_header5 -      %{<p class="bold"> -  #{@txt} -</p>} -    end -    def navigation_header6 -      %{<p class="bold"> -  #{@txt} -</p>} -    end -    def navigation_header7 -      %{<p class="bold"> -  #{@txt} -</p>} -    end -    def navigation_center -      "<center>#{@txt}</center>" -    end -  end -  class FormatToc < FormatTextObject -    def initialize(md,txt) -      super(md,txt) -    end -    def links_guide -      %{  <li class="doc"> -    <a href="#{@lnk_url}" target="_top"> -      #{@lnk_txt} -    </a> -  </li> -} -    end -    def lev(tag,attrib) -      if @txt -        %{<#{tag} class="#{attrib}"> -    #{@txt} -  </#{tag}> -} -      else '' -      end -    end -    def lev1 -      lev('h1','toc') -    end -    def lev2 -      lev('h2','toc') -    end -    def lev3 -      lev('h3','toc') -    end -    def lev4 -      lev('h4','toc') -    end -    def lev5 -      lev('h5','toc') -    end -    def lev6 -      lev('h6','toc') -    end -    def lev7 -      lev('h7','toc') -      #lev('b','toc') -    end -    def lev0 #docinfo -      lev('h0','toc') -    end -    def mini_lev1 -      lev('h1','minitoc') -    end -    def mini_lev2 -      lev('h2','minitoc') -    end -    def mini_lev3 -      lev('h3','minitoc') -    end -    def mini_lev4 -      lev('h4','minitoc') -    end -    def mini_lev5 -      lev('h5','minitoc') -    end -    def mini_lev6 -      lev('h6','minitoc') -    end -    def mini_lev7 -      lev('h7','minitoc') -    end -    def mini_lev0 #docinfo -      lev('h0','minitoc') -    end -    def mini_tail -  %{ -  <h4 class="minitoc"> -    <a href="sisu_manifest.html">Manifest (alternative outputs)</a> -  </h4> -} -    end -    def mini_concord_tail -  %{ -  <h4 class="minitoc"> -    <a href="concordance.html">Concordance (wordlist)</a> -  </h4> -  <h4 class="minitoc"> -    <a href="sisu_manifest.html">Manifest (alternative outputs)</a> -  </h4> -} -    end -  end -  class XML -  end -end -__END__ -** Notes: tidy -xml index.xml >> index.tidy  | 
