diff options
| author | Ralph Amissah <ralph.amissah@gmail.com> | 2022-01-27 12:57:13 -0500 | 
|---|---|---|
| committer | Ralph Amissah <ralph.amissah@gmail.com> | 2022-01-27 18:53:06 -0500 | 
| commit | 1e04f9f2ecb5a326ded1422cd03ee1f37198e571 (patch) | |
| tree | 02e7fb7f9e61e480365a9b08896ffd9e8019662f /src | |
| parent | doc presentation, add option to include date with title and author (diff) | |
cgi sqlite_search, heading matches fix, cleanup
Diffstat (limited to 'src')
| -rw-r--r-- | src/doc_reform/io_out/xmls.d | 2 | ||||
| -rw-r--r-- | src/doc_reform/meta/metadoc_from_src.d | 140 | 
2 files changed, 71 insertions, 71 deletions
| diff --git a/src/doc_reform/io_out/xmls.d b/src/doc_reform/io_out/xmls.d index f4ca976..2524664 100644 --- a/src/doc_reform/io_out/xmls.d +++ b/src/doc_reform/io_out/xmls.d @@ -471,7 +471,7 @@ template outputXHTMLs() {              "$1");          }          if (_xml_type == "seg" || _xml_type == "epub") { -          seg_lvs = (_xml_type == "epub") ? "seg_lv1_to_4" : "seg_lv4"; +          seg_lvs = (_xml_type == "epub") ? "seg_lv1to4" : "seg_lv4";            foreach (m; _txt.match(rgx.inline_link_hash)) {              if (m.captures["hash"] in doc_matters.has.tag_associations) {                if ( diff --git a/src/doc_reform/meta/metadoc_from_src.d b/src/doc_reform/meta/metadoc_from_src.d index 28ce990..3099d84 100644 --- a/src/doc_reform/meta/metadoc_from_src.d +++ b/src/doc_reform/meta/metadoc_from_src.d @@ -134,7 +134,7 @@ template docAbstraction() {    string[string] tag_in_seg;    string lev_anchor_tag;    string[string][string] tag_assoc; -  string[] lv0_to_3_tags; +  string[] lv0to3_tags;    /+ enum +/    enum DocStructMarkupHeading {      h_sect_A, @@ -418,8 +418,8 @@ template docAbstraction() {      static auto rgx = RgxI();      if (auto m = an_object["substantive"].match(rgx.inline_link_anchor)) {        if (m.captures[1] !in tag_assoc) { -        tag_assoc[(m.captures[1])]["seg_lv4"] = tag_in_seg["seg_lv4"]; -        tag_assoc[(m.captures[1])]["seg_lv1_to_4"] = tag_in_seg["seg_lv1_to_4"]; +        tag_assoc[(m.captures[1])]["seg_lv4"]    = tag_in_seg["seg_lv4"]; +        tag_assoc[(m.captures[1])]["seg_lv1to4"] = tag_in_seg["seg_lv1to4"];        } else {          writeln("a tag named  already exists, check text line\n    ", an_object["substantive"]);        } @@ -567,8 +567,8 @@ template docAbstraction() {      comp_obj_heading_.tags.anchor_tags                             = ["toc"];      comp_obj_heading_.metainfo.dom_structure_markedup_tags_status  = [ 1, 1, 0, 0, 1, 0, 0, 0];      comp_obj_heading_.metainfo.dom_structure_collapsed_tags_status = [ 1, 1, 1, 0, 0, 0, 0, 0]; -    tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; -    tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; +    tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]            = comp_obj_heading_.tags.in_segment_html; +    tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1to4"] = comp_obj_heading_.tags.segment_anchor_tag_epub;      auto toc_head                                                  = comp_obj_heading_;      html_segnames_ptr_cntr++;      the_document_toc_section = [toc_head]; @@ -706,8 +706,8 @@ template docAbstraction() {                  comp_obj_heading_.metainfo.dom_structure_markedup_tags_status  = [ 1, 1, 0, 0, 0, 0, 0, 0];                  comp_obj_heading_.metainfo.dom_structure_collapsed_tags_status = [ 1, 1, 0, 0, 0, 0, 0, 0];                  the_document_glossary_section                    ~= comp_obj_heading_; -                tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; -                tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; +                tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]            = comp_obj_heading_.tags.in_segment_html; +                tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1to4"] = comp_obj_heading_.tags.segment_anchor_tag_epub;                }                {                  comp_obj_heading_                                = comp_obj_heading_.init; @@ -732,8 +732,8 @@ template docAbstraction() {                  comp_obj_heading_.metainfo.dom_structure_collapsed_tags_status = [ 1, 1, 1, 0, 0, 0, 0, 0];                  comp_obj_heading_.tags.anchor_tags               = ["glossary"];                  the_document_glossary_section                    ~= comp_obj_heading_; -                tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; -                tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; +                tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]            = comp_obj_heading_.tags.in_segment_html; +                tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1to4"] = comp_obj_heading_.tags.segment_anchor_tag_epub;                }              } else {                an_object = line.flow_para_match_(an_object, an_object_key, indent, bullet, pith, line_occur); @@ -829,8 +829,8 @@ template docAbstraction() {                  comp_obj_heading_.metainfo.dom_structure_markedup_tags_status  = [ 1, 1, 0, 0, 0, 0, 0, 0];                  comp_obj_heading_.metainfo.dom_structure_collapsed_tags_status = [ 1, 1, 0, 0, 0, 0, 0, 0];                  the_document_blurb_section                                     ~= comp_obj_heading_; -                tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; -                tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; +                tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]            = comp_obj_heading_.tags.in_segment_html; +                tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1to4"] = comp_obj_heading_.tags.segment_anchor_tag_epub;                }                {                  comp_obj_heading_                                              = comp_obj_heading_.init; @@ -855,8 +855,8 @@ template docAbstraction() {                  comp_obj_heading_.metainfo.dom_structure_markedup_tags_status  = [ 1, 1, 0, 0, 1, 0, 0, 0];                  comp_obj_heading_.metainfo.dom_structure_collapsed_tags_status = [ 1, 1, 1, 0, 0, 0, 0, 0];                  the_document_blurb_section                                     ~= comp_obj_heading_; -                tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; -                tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; +                tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]            = comp_obj_heading_.tags.in_segment_html; +                tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1to4"] = comp_obj_heading_.tags.segment_anchor_tag_epub;                }              } else if (line.matchFirst(rgx.headings)              && (opt_action.backmatter && opt_action.section_blurb)) { @@ -879,8 +879,8 @@ template docAbstraction() {                comp_obj_heading_.metainfo.parent_ocn                          = 1;                comp_obj_heading_.metainfo.parent_lev_markup                   = 0;                the_document_blurb_section                                     ~= comp_obj_heading_; -              tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; -              tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; +              tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]            = comp_obj_heading_.tags.in_segment_html; +              tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1to4"] = comp_obj_heading_.tags.segment_anchor_tag_epub;              } else {                an_object = line.flow_para_match_(an_object, an_object_key, indent, bullet, pith, line_occur);                comp_obj_para                               = comp_obj_para.init; @@ -1073,9 +1073,9 @@ template docAbstraction() {                "code block status: none"              );              if (_new_doc) { -              tag_assoc = tag_assoc.init; -              lv0_to_3_tags = lv0_to_3_tags.init; -              tag_in_seg = tag_in_seg.init; +              tag_assoc   = tag_assoc.init; +              lv0to3_tags = lv0to3_tags.init; +              tag_in_seg  = tag_in_seg.init;              }              if (pith["txt_is"] == eN.txt_is.heading                && line_occur["heading"] > eN.bi.off @@ -1098,26 +1098,26 @@ template docAbstraction() {                if (                  an_object["lev_markup_number"].to!int == 4                  && (!(anchor_tag.empty) -                || (lv0_to_3_tags.length > 0)) +                || (lv0to3_tags.length > 0))                ) { -                tag_in_seg["seg_lv4"] = anchor_tag; -                tag_in_seg["seg_lv1_to_4"] = anchor_tag; +                tag_in_seg["seg_lv4"]    = anchor_tag; +                tag_in_seg["seg_lv1to4"] = anchor_tag;                  lev_anchor_tag = anchor_tag; -                tag_assoc[anchor_tag]["seg_lv4"] = tag_in_seg["seg_lv4"]; -                tag_assoc[anchor_tag]["seg_lv1_to_4"] = tag_in_seg["seg_lv1_to_4"]; -                if (lv0_to_3_tags.length > 0) { /+ names used for html markup segments 1 to 4 (rather than epub which has separate segments for A to D) +/ -                  foreach (lv0_to_lv3_html_tag; lv0_to_3_tags) { +                tag_assoc[anchor_tag]["seg_lv4"]    = tag_in_seg["seg_lv4"]; +                tag_assoc[anchor_tag]["seg_lv1to4"] = tag_in_seg["seg_lv1to4"]; +                if (lv0to3_tags.length > 0) { /+ names used for html markup segments 1 to 4 (rather than epub which has separate segments for A to D) +/ +                  foreach (lv0_to_lv3_html_tag; lv0to3_tags) {                      tag_assoc[lv0_to_lv3_html_tag]["seg_lv4"] = anchor_tag;                    }                  }                  anchor_tag_ = anchor_tag; -                lv0_to_3_tags = lv0_to_3_tags.init; +                lv0to3_tags = lv0to3_tags.init;                } else if (an_object["lev_markup_number"].to!int > 4) { -                tag_in_seg["seg_lv4"] = anchor_tag_; -                tag_in_seg["seg_lv1_to_4"] = anchor_tag_; -                lev_anchor_tag = anchor_tag; +                tag_in_seg["seg_lv4"]    = anchor_tag_; +                tag_in_seg["seg_lv1to4"] = anchor_tag_; +                lev_anchor_tag           = anchor_tag;                  tag_assoc[anchor_tag]["seg_lv4"] = tag_in_seg["seg_lv4"]; -                tag_assoc[anchor_tag]["seg_lv1_to_4"] = tag_in_seg["seg_lv1_to_4"]; +                tag_assoc[anchor_tag]["seg_lv1to4"] = tag_in_seg["seg_lv1to4"];                } else if (an_object["lev_markup_number"].to!int < 4) {                  string segn;                  switch (an_object["lev_markup_number"].to!int) {                           /+ names used for epub markup segments A to D +/ @@ -1137,10 +1137,10 @@ template docAbstraction() {                    ++cnt3;                    goto default;                  default: -                  lv0_to_3_tags ~= obj_cite_digits.object_number.to!string; -                  lv0_to_3_tags ~= segn; -                  tag_in_seg["seg_lv4"] = segn; // for html segname need following lv4 not yet known -                  tag_in_seg["seg_lv1_to_4"] = segn; +                  lv0to3_tags ~= obj_cite_digits.object_number.to!string; +                  lv0to3_tags ~= segn; +                  tag_in_seg["seg_lv4"]    = segn; // for html segname need following lv4 not yet known +                  tag_in_seg["seg_lv1to4"] = segn;                    break;                  }                } @@ -1164,7 +1164,7 @@ template docAbstraction() {                  html_segnames_ptr_cntr++;                }                if (an_object["lev_markup_number"].to!int <= 4) { -                segnames["epub"] ~= tag_in_seg["seg_lv1_to_4"]; +                segnames["epub"] ~= tag_in_seg["seg_lv1to4"];                }                auto comp_obj_heading                  = node_construct.node_emitter_heading( @@ -1189,7 +1189,7 @@ template docAbstraction() {                debug(segments) {                  writeln(an_object["lev_markup_number"]);                  writeln(tag_in_seg["seg_lv4"]); -                writeln(tag_in_seg["seg_lv1_to_4"]); +                writeln(tag_in_seg["seg_lv1to4"]);                }                the_document_body_section ~= comp_obj_heading;                debug(objectrelated1) { // check @@ -1236,7 +1236,7 @@ template docAbstraction() {                comp_obj_para.metainfo.is_a                         = "para";                comp_obj_para.text                                  = an_object["substantive"].to!string.strip;                comp_obj_para.tags.html_segment_anchor_tag_is       = tag_in_seg["seg_lv4"]; -              comp_obj_para.tags.epub_segment_anchor_tag_is       = tag_in_seg["seg_lv1_to_4"]; +              comp_obj_para.tags.epub_segment_anchor_tag_is       = tag_in_seg["seg_lv1to4"];                comp_obj_para.metainfo.ocn                          = obj_cite_digits.object_number;                comp_obj_para.metainfo.identifier                   = obj_cite_digits.identifier;                comp_obj_para.metainfo.object_number_off            = (obj_cite_digits.off == 0)   ? true : false; // TODO @@ -1334,8 +1334,8 @@ template docAbstraction() {        comp_obj_heading_.metainfo.dom_structure_markedup_tags_status  = [ 0, 0, 0, 0, 0, 0, 0, 0];        comp_obj_heading_.metainfo.dom_structure_collapsed_tags_status = [ 0, 0, 0, 0, 0, 0, 0, 0];        the_document_xml_dom_tail_section                              ~= comp_obj_heading_; -      tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]   = comp_obj_heading_.tags.in_segment_html; -      tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; +      tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]            = comp_obj_heading_.tags.in_segment_html; +      tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1to4"] = comp_obj_heading_.tags.segment_anchor_tag_epub;      }      auto en_tuple        = note_section.endnote_objects(obj_cite_digits, opt_action); @@ -1402,8 +1402,8 @@ template docAbstraction() {          comp_obj_heading_.metainfo.dom_structure_markedup_tags_status  = [ 1, 1, 0, 0, 0, 0, 0, 0];          comp_obj_heading_.metainfo.dom_structure_collapsed_tags_status = [ 1, 1, 0, 0, 0, 0, 0, 0];          the_document_bibliography_section                 ~= comp_obj_heading_; -        tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; -        tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; +        tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]            = comp_obj_heading_.tags.in_segment_html; +        tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1to4"] = comp_obj_heading_.tags.segment_anchor_tag_epub;        }        {          comp_obj_heading_                                 = comp_obj_heading_.init; @@ -1428,8 +1428,8 @@ template docAbstraction() {          comp_obj_heading_.metainfo.dom_structure_collapsed_tags_status = [ 1, 1, 1, 0, 0, 0, 0, 0];          comp_obj_heading_.tags.anchor_tags                = ["bibliography"];          the_document_bibliography_section                 ~= comp_obj_heading_; -        tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; -        tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; +        tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]            = comp_obj_heading_.tags.in_segment_html; +        tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1to4"] = comp_obj_heading_.tags.segment_anchor_tag_epub;        }        {          string out_; @@ -2068,7 +2068,7 @@ template docAbstraction() {              tag_assoc[(obj.metainfo.identifier)]["seg_lv4"]              = obj.tags.html_segment_anchor_tag_is;            } -          tag_assoc[(obj.metainfo.identifier)]["seg_lv1_to_4"] +          tag_assoc[(obj.metainfo.identifier)]["seg_lv1to4"]            = obj.tags.epub_segment_anchor_tag_is;          }          if (obj.metainfo.is_a == "heading") { @@ -2490,10 +2490,10 @@ template docAbstraction() {        document_section_keys_sequenced["seg"]    ~= "tail";      }      string[] segnames_4                 = segnames["html"].dup; -    string[] segnames_lv1_to_4          = segnames["epub"].dup; +    string[] segnames_lv1to4            = segnames["epub"].dup;      debug(segnames) { -      writeln("segnames_lv4:      ", segnames_4); -      writeln("segnames_lv1_to_4: ", segnames_lv1_to_4); +      writeln("segnames_lv4:    ", segnames_4); +      writeln("segnames_lv1to4: ", segnames_lv1to4);      }      destroy(the_document_head_section);      destroy(the_document_toc_section); @@ -3054,7 +3054,7 @@ template docAbstraction() {                comp_obj_block.metainfo.o_n_book_index            = obj_cite_digits.bkidx;                comp_obj_block.metainfo.object_number_type        = obj_cite_digits.type;                comp_obj_block.tags.html_segment_anchor_tag_is    = tag_in_seg["seg_lv4"]; -              comp_obj_block.tags.epub_segment_anchor_tag_is    = tag_in_seg["seg_lv1_to_4"]; +              comp_obj_block.tags.epub_segment_anchor_tag_is    = tag_in_seg["seg_lv1to4"];                comp_obj_block.text                               = an_object["substantive"];                comp_obj_block.has.inline_notes_reg               = substantive_obj_misc_tuple[sObj.notes_reg];                comp_obj_block.has.inline_notes_star              = substantive_obj_misc_tuple[sObj.notes_star]; @@ -3117,7 +3117,7 @@ template docAbstraction() {              comp_obj_block.metainfo.o_n_book_index              = obj_cite_digits.bkidx;              comp_obj_block.metainfo.object_number_type          = obj_cite_digits.type;              comp_obj_block.tags.html_segment_anchor_tag_is      = tag_in_seg["seg_lv4"]; -            comp_obj_block.tags.epub_segment_anchor_tag_is      = tag_in_seg["seg_lv1_to_4"]; +            comp_obj_block.tags.epub_segment_anchor_tag_is      = tag_in_seg["seg_lv1to4"];              comp_obj_block.text                                 = an_object["substantive"];              comp_obj_block.has.inline_notes_reg                 = substantive_obj_misc_tuple[sObj.notes_reg];              comp_obj_block.has.inline_notes_star                = substantive_obj_misc_tuple[sObj.notes_star]; @@ -3163,7 +3163,7 @@ template docAbstraction() {              comp_obj_block.metainfo.o_n_book_index              = obj_cite_digits.bkidx;              comp_obj_block.metainfo.object_number_type          = obj_cite_digits.type;              comp_obj_block.tags.html_segment_anchor_tag_is      = tag_in_seg["seg_lv4"]; -            comp_obj_block.tags.epub_segment_anchor_tag_is      = tag_in_seg["seg_lv1_to_4"]; +            comp_obj_block.tags.epub_segment_anchor_tag_is      = tag_in_seg["seg_lv1to4"];              comp_obj_block.text                                 = an_object["substantive"];              comp_obj_block.has.inline_notes_reg                 = substantive_obj_misc_tuple[sObj.notes_reg];              comp_obj_block.has.inline_notes_star                = substantive_obj_misc_tuple[sObj.notes_star]; @@ -3226,7 +3226,7 @@ template docAbstraction() {              comp_obj_block.metainfo.o_n_book_index              = obj_cite_digits.bkidx;              comp_obj_block.metainfo.object_number_type          = obj_cite_digits.type;              comp_obj_block.tags.html_segment_anchor_tag_is      = tag_in_seg["seg_lv4"]; -            comp_obj_block.tags.epub_segment_anchor_tag_is      = tag_in_seg["seg_lv1_to_4"]; +            comp_obj_block.tags.epub_segment_anchor_tag_is      = tag_in_seg["seg_lv1to4"];              comp_obj_block.text                                 = an_object["substantive"];              comp_obj_block.has.inline_notes_reg                 = substantive_obj_misc_tuple[sObj.notes_reg];              comp_obj_block.has.inline_notes_star                = substantive_obj_misc_tuple[sObj.notes_star]; @@ -3516,7 +3516,7 @@ template docAbstraction() {      comp_obj_block.metainfo.identifier                          = obj_cite_digits.identifier;      comp_obj_block.metainfo.object_number_off                   = obj_cite_digits.off;      comp_obj_block.tags.html_segment_anchor_tag_is              = tag_in_seg["seg_lv4"]; -    comp_obj_block.tags.epub_segment_anchor_tag_is              = tag_in_seg["seg_lv1_to_4"]; +    comp_obj_block.tags.epub_segment_anchor_tag_is              = tag_in_seg["seg_lv1to4"];      comp_obj_block.metainfo.o_n_book_index                      = obj_cite_digits.bkidx;      comp_obj_block.metainfo.object_number_type                  = obj_cite_digits.type;      comp_obj_block                                              = comp_obj_block.flow_table_instructions(an_object["table_head"]); @@ -3590,7 +3590,7 @@ template docAbstraction() {          comp_obj_block.metainfo.lang                            = an_object["lang"];          comp_obj_block.metainfo.attrib                          = an_object["attrib"];          comp_obj_block.tags.html_segment_anchor_tag_is          = tag_in_seg["seg_lv4"]; -        comp_obj_block.tags.epub_segment_anchor_tag_is          = tag_in_seg["seg_lv1_to_4"]; +        comp_obj_block.tags.epub_segment_anchor_tag_is          = tag_in_seg["seg_lv1to4"];          comp_obj_block.text                                     = an_object["substantive"];          comp_obj_block.has.inline_notes_reg                     = substantive_obj_misc_tuple[sObj.notes_reg];          comp_obj_block.has.inline_notes_star                    = substantive_obj_misc_tuple[sObj.notes_star]; @@ -3642,7 +3642,7 @@ template docAbstraction() {          comp_obj_block.metainfo.lang                            = an_object["lang"];          comp_obj_block.metainfo.attrib                          = an_object["attrib"];          comp_obj_block.tags.html_segment_anchor_tag_is          = tag_in_seg["seg_lv4"]; -        comp_obj_block.tags.epub_segment_anchor_tag_is          = tag_in_seg["seg_lv1_to_4"]; +        comp_obj_block.tags.epub_segment_anchor_tag_is          = tag_in_seg["seg_lv1to4"];          comp_obj_block.text                                     = an_object["substantive"];          comp_obj_block.has.inline_notes_reg                     = substantive_obj_misc_tuple[sObj.notes_reg];          comp_obj_block.has.inline_notes_star                    = substantive_obj_misc_tuple[sObj.notes_star]; @@ -3694,7 +3694,7 @@ template docAbstraction() {          comp_obj_block.metainfo.lang                            = an_object["lang"];          comp_obj_block.metainfo.attrib                          = an_object["attrib"];          comp_obj_block.tags.html_segment_anchor_tag_is          = tag_in_seg["seg_lv4"]; -        comp_obj_block.tags.epub_segment_anchor_tag_is          = tag_in_seg["seg_lv1_to_4"]; +        comp_obj_block.tags.epub_segment_anchor_tag_is          = tag_in_seg["seg_lv1to4"];          comp_obj_block.text                                     = an_object["substantive"];          comp_obj_block.has.inline_notes_reg                     = substantive_obj_misc_tuple[sObj.notes_reg];          comp_obj_block.has.inline_notes_star                    = substantive_obj_misc_tuple[sObj.notes_star]; @@ -3784,7 +3784,7 @@ template docAbstraction() {          comp_obj_code.metainfo.attrib                           = an_object["attrib"];          comp_obj_code.code_block.linenumbers                    = (an_object["attrib"].match(rgx.code_numbering)) ? true : false;          comp_obj_code.tags.html_segment_anchor_tag_is           = tag_in_seg["seg_lv4"]; -        comp_obj_code.tags.epub_segment_anchor_tag_is           = tag_in_seg["seg_lv1_to_4"]; +        comp_obj_code.tags.epub_segment_anchor_tag_is           = tag_in_seg["seg_lv1to4"];          comp_obj_code.text                                      = an_object["substantive"];          comp_obj_code.has.inline_notes_reg                      = substantive_obj_misc_tuple[sObj.notes_reg];          comp_obj_code.has.inline_notes_star                     = substantive_obj_misc_tuple[sObj.notes_star]; @@ -3827,7 +3827,7 @@ template docAbstraction() {          comp_obj_block.metainfo.identifier                      = obj_cite_digits.identifier;          comp_obj_block.metainfo.object_number_off               = obj_cite_digits.off;          comp_obj_block.tags.html_segment_anchor_tag_is          = tag_in_seg["seg_lv4"]; -        comp_obj_block.tags.epub_segment_anchor_tag_is          = tag_in_seg["seg_lv1_to_4"]; +        comp_obj_block.tags.epub_segment_anchor_tag_is          = tag_in_seg["seg_lv1to4"];          comp_obj_block.metainfo.o_n_book_index                  = obj_cite_digits.bkidx;          comp_obj_block.metainfo.object_number_type              = obj_cite_digits.type;          comp_obj_block                                          = comp_obj_block.flow_table_instructions(an_object["table_head"]); @@ -5506,8 +5506,8 @@ template docAbstraction() {            comp_obj_heading_.metainfo.parent_lev_markup          = 0;            comp_obj_heading.has.inline_links                     = true;            bookindex_section                                     ~= comp_obj_heading_; -          tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; -          tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; +          tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]            = comp_obj_heading_.tags.in_segment_html; +          tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1to4"] = comp_obj_heading_.tags.segment_anchor_tag_epub;            ++mkn;          }          { @@ -5532,8 +5532,8 @@ template docAbstraction() {            comp_obj_heading.has.inline_links                     = false;            comp_obj_heading_.tags.anchor_tags                    = ["bookindex"];            bookindex_section                                     ~= comp_obj_heading_; -          tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; -          tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; +          tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]            = comp_obj_heading_.tags.in_segment_html; +          tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1to4"] = comp_obj_heading_.tags.segment_anchor_tag_epub;            ++mkn;          }          import std.array : appender; @@ -5746,8 +5746,8 @@ template docAbstraction() {            comp_obj_heading_.metainfo.parent_ocn                 = 1;            comp_obj_heading_.metainfo.parent_lev_markup          = 0;            the_document_endnotes_section                         ~= comp_obj_heading_; -          tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; -          tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; +          tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]            = comp_obj_heading_.tags.in_segment_html; +          tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1to4"] = comp_obj_heading_.tags.segment_anchor_tag_epub;            ++mkn;          }          { @@ -5771,8 +5771,8 @@ template docAbstraction() {            comp_obj_heading_.metainfo.parent_lev_markup          = 0;            comp_obj_heading_.tags.anchor_tags                    = ["endnotes"];            the_document_endnotes_section                         ~= comp_obj_heading_; -          tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; -          tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; +          tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]            = comp_obj_heading_.tags.in_segment_html; +          tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1to4"] = comp_obj_heading_.tags.segment_anchor_tag_epub;            ++mkn;          }        } else { @@ -5944,7 +5944,7 @@ template docAbstraction() {        comp_obj_location.metainfo.ocn                  = obj_cite_digits.object_number;        comp_obj_location.metainfo.identifier           = obj_cite_digits.identifier;        comp_obj_location.tags.anchor_tag_html          = tag_in_seg["seg_lv4"]; -      comp_obj_location.tags.segment_anchor_tag_epub  = tag_in_seg["seg_lv1_to_4"]; +      comp_obj_location.tags.segment_anchor_tag_epub  = tag_in_seg["seg_lv1to4"];        comp_obj_location.tags.heading_lev_anchor_tag   = lev_anchor_tag;        comp_obj_location.metainfo.parent_ocn           = p_["object_number"];        comp_obj_location.metainfo.parent_lev_markup    = p_["lev_markup_number"]; @@ -6095,12 +6095,12 @@ template docAbstraction() {        _comp_obj_heading_.metainfo.object_number_off             = obj_cite_digits.off;        // _comp_obj_heading_.metainfo.o_n_book_index             = obj_cite_digits.bkidx;        _comp_obj_heading_.metainfo.object_number_type            = obj_cite_digits.type; -      _comp_obj_heading_.tags.segment_anchor_tag_epub           = tag_in_seg["seg_lv1_to_4"]; +      _comp_obj_heading_.tags.segment_anchor_tag_epub           = tag_in_seg["seg_lv1to4"];        _comp_obj_heading_.tags.anchor_tag_html                   = tag_in_seg["seg_lv4"];        _comp_obj_heading_.tags.in_segment_html                   = _comp_obj_heading_.tags.anchor_tag_html;        _comp_obj_heading_.tags.heading_lev_anchor_tag            = lev_anchor_tag;        _comp_obj_heading_.tags.html_segment_anchor_tag_is        = tag_in_seg["seg_lv4"]; -      _comp_obj_heading_.tags.epub_segment_anchor_tag_is        = tag_in_seg["seg_lv1_to_4"]; +      _comp_obj_heading_.tags.epub_segment_anchor_tag_is        = tag_in_seg["seg_lv1to4"];        _comp_obj_heading_.metainfo.heading_lev_markup            = (!(lev_markup_number.empty) ? lev_markup_number.to!int : 0);        _comp_obj_heading_.metainfo.heading_lev_collapsed         = (!(lev_collapsed_number.empty) ? lev_collapsed_number.to!int : 0);        _comp_obj_heading_.metainfo.parent_ocn                    = p_["object_number"]; @@ -6112,8 +6112,8 @@ template docAbstraction() {        _comp_obj_heading_.has.inline_notes_reg                   = flag_notes_reg;        _comp_obj_heading_.has.inline_notes_star                  = flag_notes_star;        _comp_obj_heading_.has.inline_links                       = flag_links; -      tag_assoc[_comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = _comp_obj_heading_.tags.in_segment_html; -      tag_assoc[_comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = _comp_obj_heading_.tags.segment_anchor_tag_epub; +      tag_assoc[_comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]            = _comp_obj_heading_.tags.in_segment_html; +      tag_assoc[_comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1to4"] = _comp_obj_heading_.tags.segment_anchor_tag_epub;        debug(_node) {          if (lev_markup_number.match(rgx.levels_numbered_headings)) {            writeln("* ", _node.to!string); | 
