From 4101c83a16ce715c84d353572bd0f231059bfbac Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Tue, 19 Jun 2018 12:17:37 -0400 Subject: make string object_number a property of int o_n --- src/sdp/meta/metadoc_from_src.d | 451 ++++++++++++++++++---------------------- src/sdp/meta/metadoc_summary.d | 6 +- src/sdp/meta/object_setter.d | 69 ++++-- src/sdp/output/epub3.d | 2 +- 4 files changed, 260 insertions(+), 268 deletions(-) (limited to 'src') diff --git a/src/sdp/meta/metadoc_from_src.d b/src/sdp/meta/metadoc_from_src.d index fab23e3..cc9cffa 100644 --- a/src/sdp/meta/metadoc_from_src.d +++ b/src/sdp/meta/metadoc_from_src.d @@ -332,7 +332,6 @@ template SiSUdocAbstraction() { comp_obj_heading_.typeinfo.is_a = "heading"; comp_obj_heading_.text = "Table of Contents"; comp_obj_heading_.node.ocn = 0; - comp_obj_heading_.node.object_number = ""; comp_obj_heading_.misc.object_number_off = ""; comp_obj_heading_.misc.object_number_type = 0; comp_obj_heading_.tags.segment_anchor_tag = "toc"; @@ -473,7 +472,6 @@ template SiSUdocAbstraction() { comp_obj_heading_.typeinfo.is_a = "heading"; comp_obj_heading_.text = "Glossary"; comp_obj_heading_.node.ocn = 0; - comp_obj_heading_.node.object_number = ""; comp_obj_heading_.misc.object_number_off = ""; comp_obj_heading_.misc.object_number_type = 0; comp_obj_heading_.tags.segment_anchor_tag = "_part_glossary"; @@ -492,7 +490,6 @@ template SiSUdocAbstraction() { comp_obj_heading_.typeinfo.is_a = "heading"; comp_obj_heading_.text = "Glossary"; comp_obj_heading_.node.ocn = 0; - comp_obj_heading_.node.object_number = ""; comp_obj_heading_.misc.object_number_off = ""; comp_obj_heading_.misc.object_number_type = 0; comp_obj_heading_.tags.segment_anchor_tag = "glossary"; @@ -514,7 +511,6 @@ template SiSUdocAbstraction() { comp_obj_para.typeinfo.is_a = "glossary"; comp_obj_para.text = line.to!string.strip; comp_obj_para.node.ocn = 0; - comp_obj_para.node.object_number = ""; comp_obj_para.misc.object_number_off = ""; comp_obj_para.misc.object_number_type = 0; comp_obj_para.attrib.indent_hang = indent["hang_position"]; @@ -584,7 +580,6 @@ template SiSUdocAbstraction() { comp_obj_heading_.typeinfo.is_a = "heading"; comp_obj_heading_.text = "Blurb"; comp_obj_heading_.node.ocn = 0; - comp_obj_heading_.node.object_number = ""; comp_obj_heading_.misc.object_number_off = ""; comp_obj_heading_.misc.object_number_type = 0; comp_obj_heading_.tags.segment_anchor_tag = "_part_blurb"; @@ -603,7 +598,6 @@ template SiSUdocAbstraction() { comp_obj_heading_.typeinfo.is_a = "heading"; comp_obj_heading_.text = "Blurb"; comp_obj_heading_.node.ocn = 0; - comp_obj_heading_.node.object_number = ""; comp_obj_heading_.misc.object_number_off = ""; comp_obj_heading_.misc.object_number_type = 0; comp_obj_heading_.tags.segment_anchor_tag = "blurb"; @@ -625,7 +619,6 @@ template SiSUdocAbstraction() { comp_obj_heading_.typeinfo.is_a = "heading"; comp_obj_heading_.text = line.to!string; comp_obj_heading_.node.ocn = 0; - comp_obj_heading_.node.object_number = ""; comp_obj_heading_.misc.object_number_off = ""; comp_obj_heading_.misc.object_number_type = 0; comp_obj_heading_.tags.segment_anchor_tag = "blurb"; @@ -644,7 +637,6 @@ template SiSUdocAbstraction() { comp_obj_para.typeinfo.is_a = "blurb"; comp_obj_para.text = munge.url_links(line.to!string.strip).replaceFirst(rgx.para_attribs, ""); comp_obj_para.node.ocn = 0; - comp_obj_para.node.object_number = ""; comp_obj_para.misc.object_number_off = ""; comp_obj_para.misc.object_number_type = 0; comp_obj_para.attrib.indent_hang = indent["hang_position"]; @@ -953,26 +945,25 @@ template SiSUdocAbstraction() { = obj_im.obj_inline_markup_and_anchor_tags_and_misc(an_object, an_object_key, conf_make_meta); an_object["substantive"] = substantive_obj_misc_tuple[sObj.content]; anchor_tags = substantive_obj_misc_tuple[sObj.anchor_tags]; - comp_obj_para = comp_obj_para.init; - comp_obj_para.typeinfo.of_part = "body"; - comp_obj_para.typeinfo.of_section = "body"; - comp_obj_para.typeinfo.is_of = "para"; - comp_obj_para.typeinfo.is_a = "para"; - comp_obj_para.text = an_object["substantive"].to!string.strip; - comp_obj_para.node.ocn = obj_cite_digits.digit; - comp_obj_para.node.object_number = (obj_cite_digits.on==0) ? "" : obj_cite_digits.on.to!string; - comp_obj_para.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string; - comp_obj_para.misc.object_number_bkidx = (obj_cite_digits.bkidx==0) ? "" : obj_cite_digits.bkidx.to!string; - comp_obj_para.misc.object_number_type = obj_cite_digits.type; - comp_obj_para.attrib.indent_hang = indent["hang_position"]; - comp_obj_para.attrib.indent_base = indent["base_position"]; - comp_obj_para.attrib.bullet = bullet; - comp_obj_para.tags.anchor_tags = anchor_tags; - comp_obj_para.has.inline_notes_reg = substantive_obj_misc_tuple[sObj.notes_reg]; - comp_obj_para.has.inline_notes_star = substantive_obj_misc_tuple[sObj.notes_star]; - comp_obj_para.has.inline_links = substantive_obj_misc_tuple[sObj.links]; - comp_obj_para.has.contains_image_without_dimensions = substantive_obj_misc_tuple[sObj.image_no_dimensions]; - the_document_body_section ~= comp_obj_para; + comp_obj_para = comp_obj_para.init; + comp_obj_para.typeinfo.of_part = "body"; + comp_obj_para.typeinfo.of_section = "body"; + comp_obj_para.typeinfo.is_of = "para"; + comp_obj_para.typeinfo.is_a = "para"; + comp_obj_para.text = an_object["substantive"].to!string.strip; + comp_obj_para.node.ocn = obj_cite_digits.digit; + comp_obj_para.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string; + comp_obj_para.misc.o_n_book_index = obj_cite_digits.bkidx; + comp_obj_para.misc.object_number_type = obj_cite_digits.type; + comp_obj_para.attrib.indent_hang = indent["hang_position"]; + comp_obj_para.attrib.indent_base = indent["base_position"]; + comp_obj_para.attrib.bullet = bullet; + comp_obj_para.tags.anchor_tags = anchor_tags; + comp_obj_para.has.inline_notes_reg = substantive_obj_misc_tuple[sObj.notes_reg]; + comp_obj_para.has.inline_notes_star = substantive_obj_misc_tuple[sObj.notes_star]; + comp_obj_para.has.inline_links = substantive_obj_misc_tuple[sObj.links]; + comp_obj_para.has.contains_image_without_dimensions = substantive_obj_misc_tuple[sObj.image_no_dimensions]; + the_document_body_section ~= comp_obj_para; _common_reset_(line_occur, an_object, obj_type_status); indent=[ "hang_position" : 0, @@ -1059,7 +1050,6 @@ template SiSUdocAbstraction() { comp_obj_heading_.typeinfo.is_a = "heading"; comp_obj_heading_.text = "(skip) there is no Glossary section"; comp_obj_heading_.node.ocn = 0; - comp_obj_heading_.node.object_number = ""; comp_obj_heading_.misc.object_number_off = ""; comp_obj_heading_.misc.object_number_type = 0; comp_obj_heading_.node.marked_up_level = "B"; @@ -1088,7 +1078,6 @@ template SiSUdocAbstraction() { comp_obj_heading_.typeinfo.is_a = "heading"; comp_obj_heading_.text = "Bibliography"; comp_obj_heading_.node.ocn = 0; - comp_obj_heading_.node.object_number = ""; comp_obj_heading_.misc.object_number_off = ""; comp_obj_heading_.misc.object_number_type = 0; comp_obj_heading_.tags.segment_anchor_tag = "_part_bibliography"; @@ -1105,7 +1094,6 @@ template SiSUdocAbstraction() { comp_obj_heading_.typeinfo.is_a = "heading"; comp_obj_heading_.text = "Bibliography"; comp_obj_heading_.node.ocn = 0; - comp_obj_heading_.node.object_number = ""; comp_obj_heading_.misc.object_number_off = ""; comp_obj_heading_.misc.object_number_type = 0; comp_obj_heading_.tags.segment_anchor_tag = "bibliography"; @@ -1124,7 +1112,6 @@ template SiSUdocAbstraction() { comp_obj_heading_.typeinfo.is_a = "heading"; comp_obj_heading_.text = "(skip) there is no Bibliography"; comp_obj_heading_.node.ocn = 0; - comp_obj_heading_.node.object_number = ""; comp_obj_heading_.misc.object_number_off = ""; comp_obj_heading_.misc.object_number_type = 0; comp_obj_heading_.node.marked_up_level = "B"; @@ -1157,7 +1144,6 @@ template SiSUdocAbstraction() { comp_obj_para.typeinfo.is_a = "bibliography"; comp_obj_para.text = out_.to!string.strip; comp_obj_para.node.ocn = 0; - comp_obj_para.node.object_number = ""; comp_obj_para.misc.object_number_off = ""; comp_obj_para.misc.object_number_type = 0; comp_obj_para.attrib.indent_hang = 0; @@ -1195,7 +1181,6 @@ template SiSUdocAbstraction() { comp_obj_heading_.typeinfo.is_a = "heading"; comp_obj_heading_.text = "(skip) there is no Blurb section"; comp_obj_heading_.node.ocn = 0; - comp_obj_para.node.object_number = ""; comp_obj_para.misc.object_number_off = ""; comp_obj_para.misc.object_number_type = 0; comp_obj_heading_.tags.segment_anchor_tag = ""; @@ -1221,7 +1206,6 @@ template SiSUdocAbstraction() { comp_obj_toc.typeinfo.is_of = "para"; comp_obj_toc.typeinfo.is_a = "toc"; comp_obj_toc.node.ocn = 0; - comp_obj_toc.node.object_number = ""; comp_obj_toc.misc.object_number_off = ""; comp_obj_toc.misc.object_number_type = 0; comp_obj_toc.attrib.indent_hang = indent["hang_position"]; @@ -1471,7 +1455,6 @@ template SiSUdocAbstraction() { "Title OCN should be 1 not: " ~ obj.node.ocn.to!string); // bug introduced 0.18.1 +/ obj.node.ocn = 1; - obj.node.object_number = "1"; obj.misc.object_number_type = OCNtype.ocn; } /+ dom structure (marked up & collapsed) +/ @@ -1594,7 +1577,6 @@ template SiSUdocAbstraction() { } obj_cite_digits = ocn_emit(OCNstatus.on); obj.node.ocn = obj_cite_digits.digit; - obj.node.object_number = obj_cite_digits.on.to!string; if (obj.node.heading_lev_markup <= 4) { segnames_0_4 ~= obj.tags.segment_anchor_tag; if (obj.node.heading_lev_markup == 4) { @@ -1630,7 +1612,6 @@ template SiSUdocAbstraction() { } obj_cite_digits = ocn_emit(OCNstatus.on); obj.node.ocn = obj_cite_digits.digit; - obj.node.object_number = obj_cite_digits.on.to!string; if (obj.node.heading_lev_markup <= 4) { segnames_0_4 ~= obj.tags.segment_anchor_tag; if (obj.node.heading_lev_markup == 4) { @@ -1657,7 +1638,6 @@ template SiSUdocAbstraction() { } else if (obj.typeinfo.is_a == "glossary") { obj_cite_digits = ocn_emit(OCNstatus.on); obj.node.ocn = obj_cite_digits.digit; - obj.node.object_number = obj_cite_digits.on.to!string; } } } @@ -1670,7 +1650,6 @@ template SiSUdocAbstraction() { } obj_cite_digits = ocn_emit(OCNstatus.on); obj.node.ocn = obj_cite_digits.digit; - obj.node.object_number = obj_cite_digits.on.to!string; // check if (obj.node.heading_lev_markup <= 4) { segnames_0_4 ~= obj.tags.segment_anchor_tag; if (obj.node.heading_lev_markup == 4) { @@ -1697,7 +1676,6 @@ template SiSUdocAbstraction() { } else if (obj.typeinfo.is_a == "bibliography") { obj_cite_digits = ocn_emit(OCNstatus.on); obj.node.ocn = obj_cite_digits.on; - obj.node.object_number = obj_cite_digits.on.to!string; } } } @@ -1715,7 +1693,6 @@ template SiSUdocAbstraction() { } obj_cite_digits = ocn_emit(OCNstatus.on); obj.node.ocn = obj_cite_digits.on; - obj.node.object_number = obj_cite_digits.on.to!string; if (obj.node.heading_lev_markup <= 4) { segnames_0_4 ~= obj.tags.segment_anchor_tag; if (obj.node.heading_lev_markup == 4) { @@ -1740,10 +1717,10 @@ template SiSUdocAbstraction() { } obj = obj_heading_ancestors(obj, lv_ancestors_txt); } else if (obj.typeinfo.is_a == "bookindex") { - obj_cite_digits = ocn_emit(OCNstatus.bkidx); - obj.node.ocn = obj_cite_digits.digit; - obj.misc.object_number_bkidx = obj_cite_digits.bkidx.to!string; - obj.misc.object_number_type = OCNtype.bkidx; + obj_cite_digits = ocn_emit(OCNstatus.bkidx); + obj.node.ocn = obj_cite_digits.digit; + obj.misc.o_n_book_index = obj_cite_digits.bkidx; + obj.misc.object_number_type = OCNtype.bkidx; } } /+ seg +/ @@ -1755,7 +1732,6 @@ template SiSUdocAbstraction() { writeln(obj.text); } obj.node.ocn = ++ocn_; - obj.node.object_number = obj.node.ocn.to!string; if (obj.node.heading_lev_markup <= 4) { segnames_0_4 ~= obj.tags.segment_anchor_tag; if (obj.node.heading_lev_markup == 4) { @@ -1781,8 +1757,8 @@ template SiSUdocAbstraction() { obj = obj_heading_ancestors(obj, lv_ancestors_txt); } else if (obj.typeinfo.is_a == "bookindex") { ocn_bidx_ = ++ocn_bkidx_; - obj.misc.object_number_bkidx = ocn_bidx_.to!string; // FIX need to distinguish from regular ocn - obj.misc.object_number_type = OCNtype.bkidx; + obj.misc.o_n_book_index = ocn_bidx_; // FIX need to distinguish from regular ocn + obj.misc.object_number_type = OCNtype.bkidx; } } /+ TODO assert failure, reinstate @@ -1799,7 +1775,6 @@ template SiSUdocAbstraction() { } obj_cite_digits = ocn_emit(OCNstatus.on); obj.node.ocn = obj_cite_digits.on; - obj.node.object_number = obj_cite_digits.on.to!string; if (obj.node.heading_lev_markup <= 4) { segnames_0_4 ~= obj.tags.segment_anchor_tag; if (obj.node.heading_lev_markup == 4) { @@ -1842,7 +1817,6 @@ template SiSUdocAbstraction() { comp_obj_heading_.typeinfo.is_of = "para"; comp_obj_heading_.typeinfo.is_a = "heading"; comp_obj_heading_.node.ocn = 0; - comp_obj_para.node.object_number = ""; comp_obj_para.misc.object_number_off = ""; comp_obj_para.misc.object_number_type = 0; comp_obj_heading_.tags.segment_anchor_tag = ""; @@ -2413,21 +2387,20 @@ template SiSUdocAbstraction() { = obj_im.obj_inline_markup_and_anchor_tags_and_misc(an_object, an_object_key, conf_make_meta); an_object["substantive"] = substantive_obj_misc_tuple[sObj.content]; anchor_tags = substantive_obj_misc_tuple[sObj.anchor_tags]; - comp_obj_block = comp_obj_block.init; - comp_obj_block.typeinfo.of_part = "body"; - comp_obj_block.typeinfo.of_section = "body"; - comp_obj_block.typeinfo.is_of = "block"; - comp_obj_block.typeinfo.is_a = "verse"; - comp_obj_block.node.ocn = obj_cite_digits.on; - comp_obj_block.node.object_number = (obj_cite_digits.on==0) ? "" : obj_cite_digits.on.to!string; - comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string; - comp_obj_block.misc.object_number_bkidx = (obj_cite_digits.bkidx==0) ? "" : obj_cite_digits.bkidx.to!string; - comp_obj_block.misc.object_number_type = obj_cite_digits.type; - 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]; - comp_obj_block.has.inline_links = substantive_obj_misc_tuple[sObj.links]; - the_document_body_section ~= comp_obj_block; + comp_obj_block = comp_obj_block.init; + comp_obj_block.typeinfo.of_part = "body"; + comp_obj_block.typeinfo.of_section = "body"; + comp_obj_block.typeinfo.is_of = "block"; + comp_obj_block.typeinfo.is_a = "verse"; + comp_obj_block.node.ocn = obj_cite_digits.on; + comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string; + comp_obj_block.misc.o_n_book_index = obj_cite_digits.bkidx; + comp_obj_block.misc.object_number_type = obj_cite_digits.type; + 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]; + comp_obj_block.has.inline_links = substantive_obj_misc_tuple[sObj.links]; + the_document_body_section ~= comp_obj_block; } object_reset(an_object); processing.remove("verse"); @@ -2471,21 +2444,20 @@ template SiSUdocAbstraction() { = obj_im.obj_inline_markup_and_anchor_tags_and_misc(an_object, an_object_key, conf_make_meta); an_object["substantive"] = substantive_obj_misc_tuple[sObj.content]; anchor_tags = substantive_obj_misc_tuple[sObj.anchor_tags]; - comp_obj_block = comp_obj_block.init; - comp_obj_block.typeinfo.of_part = "body"; - comp_obj_block.typeinfo.of_section = "body"; - comp_obj_block.typeinfo.is_of = "block"; - comp_obj_block.typeinfo.is_a = "verse"; - comp_obj_block.node.ocn = obj_cite_digits.on; - comp_obj_block.node.object_number = (obj_cite_digits.on==0) ? "" : obj_cite_digits.on.to!string; - comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string; - comp_obj_block.misc.object_number_bkidx = (obj_cite_digits.bkidx==0) ? "" : obj_cite_digits.bkidx.to!string; - comp_obj_block.misc.object_number_type = obj_cite_digits.type; - 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]; - comp_obj_block.has.inline_links = substantive_obj_misc_tuple[sObj.links]; - the_document_body_section ~= comp_obj_block; + comp_obj_block = comp_obj_block.init; + comp_obj_block.typeinfo.of_part = "body"; + comp_obj_block.typeinfo.of_section = "body"; + comp_obj_block.typeinfo.is_of = "block"; + comp_obj_block.typeinfo.is_a = "verse"; + comp_obj_block.node.ocn = obj_cite_digits.on; + comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string; + comp_obj_block.misc.o_n_book_index = obj_cite_digits.bkidx; + comp_obj_block.misc.object_number_type = obj_cite_digits.type; + 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]; + comp_obj_block.has.inline_links = substantive_obj_misc_tuple[sObj.links]; + the_document_body_section ~= comp_obj_block; object_reset(an_object); processing.remove("verse"); ++cntr; @@ -2514,22 +2486,21 @@ template SiSUdocAbstraction() { = obj_im.obj_inline_markup_and_anchor_tags_and_misc(an_object, an_object_key, conf_make_meta); an_object["substantive"] = substantive_obj_misc_tuple[sObj.content]; anchor_tags = substantive_obj_misc_tuple[sObj.anchor_tags]; - comp_obj_block = comp_obj_block.init; - comp_obj_block.typeinfo.of_part = "body"; - comp_obj_block.typeinfo.of_section = "body"; - comp_obj_block.typeinfo.is_of = "block"; - comp_obj_block.typeinfo.is_a = "verse"; - comp_obj_block.node.ocn = obj_cite_digits.on; - comp_obj_block.node.object_number = (obj_cite_digits.on==0) ? "" : obj_cite_digits.on.to!string; - comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string; - comp_obj_block.misc.object_number_bkidx = (obj_cite_digits.bkidx==0) ? "" : obj_cite_digits.bkidx.to!string; - comp_obj_block.misc.object_number_type = obj_cite_digits.type; - 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]; - comp_obj_block.has.inline_links = substantive_obj_misc_tuple[sObj.links]; - the_document_body_section ~= comp_obj_block; - object_number_poem["end"] = obj_cite_digits.on.to!string; + comp_obj_block = comp_obj_block.init; + comp_obj_block.typeinfo.of_part = "body"; + comp_obj_block.typeinfo.of_section = "body"; + comp_obj_block.typeinfo.is_of = "block"; + comp_obj_block.typeinfo.is_a = "verse"; + comp_obj_block.node.ocn = obj_cite_digits.on; + comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string; + comp_obj_block.misc.o_n_book_index = obj_cite_digits.bkidx; + comp_obj_block.misc.object_number_type = obj_cite_digits.type; + 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]; + comp_obj_block.has.inline_links = substantive_obj_misc_tuple[sObj.links]; + the_document_body_section ~= comp_obj_block; + object_number_poem["end"] = obj_cite_digits.on.to!string; object_reset(an_object); processing.remove("verse"); ++cntr; @@ -2572,21 +2543,20 @@ template SiSUdocAbstraction() { = obj_im.obj_inline_markup_and_anchor_tags_and_misc(an_object, an_object_key, conf_make_meta); an_object["substantive"] = substantive_obj_misc_tuple[sObj.content]; anchor_tags = substantive_obj_misc_tuple[sObj.anchor_tags]; - comp_obj_block = comp_obj_block.init; - comp_obj_block.typeinfo.of_part = "body"; - comp_obj_block.typeinfo.of_section = "body"; - comp_obj_block.typeinfo.is_of = "block"; - comp_obj_block.typeinfo.is_a = "verse"; - comp_obj_block.node.ocn = obj_cite_digits.on; - comp_obj_block.node.object_number = (obj_cite_digits.on==0) ? "" : obj_cite_digits.on.to!string; - comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string; - comp_obj_block.misc.object_number_bkidx = (obj_cite_digits.bkidx==0) ? "" : obj_cite_digits.bkidx.to!string; - comp_obj_block.misc.object_number_type = obj_cite_digits.type; - 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]; - comp_obj_block.has.inline_links = substantive_obj_misc_tuple[sObj.links]; - the_document_body_section ~= comp_obj_block; + comp_obj_block = comp_obj_block.init; + comp_obj_block.typeinfo.of_part = "body"; + comp_obj_block.typeinfo.of_section = "body"; + comp_obj_block.typeinfo.is_of = "block"; + comp_obj_block.typeinfo.is_a = "verse"; + comp_obj_block.node.ocn = obj_cite_digits.on; + comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string; + comp_obj_block.misc.o_n_book_index = obj_cite_digits.bkidx; + comp_obj_block.misc.object_number_type = obj_cite_digits.type; + 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]; + comp_obj_block.has.inline_links = substantive_obj_misc_tuple[sObj.links]; + the_document_body_section ~= comp_obj_block; object_reset(an_object); processing.remove("verse"); ++cntr; @@ -2872,15 +2842,14 @@ template SiSUdocAbstraction() { an_object["is"] = "table"; auto substantive_obj_misc_tuple = obj_im.obj_inline_markup_and_anchor_tags_and_misc(an_object, "body_nugget", conf_make_meta); - an_object["substantive"] = substantive_obj_misc_tuple[sObj.content]; - comp_obj_block.node.ocn = obj_cite_digits.on; - comp_obj_block.node.object_number = (obj_cite_digits.on==0) ? "" : obj_cite_digits.on.to!string; - comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string; - comp_obj_block.misc.object_number_bkidx = (obj_cite_digits.bkidx==0) ? "" : obj_cite_digits.bkidx.to!string; - comp_obj_block.misc.object_number_type = obj_cite_digits.type; - comp_obj_block = table_instructions(comp_obj_block, an_object["table_head"]); - comp_obj_block = table_substantive_munge_special(comp_obj_block, an_object["substantive"]); - the_document_body_section ~= comp_obj_block; + an_object["substantive"] = substantive_obj_misc_tuple[sObj.content]; + comp_obj_block.node.ocn = obj_cite_digits.on; + comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string; + comp_obj_block.misc.o_n_book_index = obj_cite_digits.bkidx; + comp_obj_block.misc.object_number_type = obj_cite_digits.type; + comp_obj_block = table_instructions(comp_obj_block, an_object["table_head"]); + comp_obj_block = table_substantive_munge_special(comp_obj_block, an_object["substantive"]); + the_document_body_section ~= comp_obj_block; object_reset(an_object); processing.remove("verse"); ++cntr; @@ -2932,23 +2901,22 @@ template SiSUdocAbstraction() { = obj_im.obj_inline_markup_and_anchor_tags_and_misc(an_object, an_object_key, conf_make_meta); an_object["substantive"] = substantive_obj_misc_tuple[sObj.content]; anchor_tags = substantive_obj_misc_tuple[sObj.anchor_tags]; - comp_obj_block = comp_obj_block.init; - comp_obj_block.typeinfo.of_part = "body"; - comp_obj_block.typeinfo.of_section = "body"; - comp_obj_block.typeinfo.is_of = "block"; - comp_obj_block.typeinfo.is_a = "quote"; - comp_obj_block.node.ocn = obj_cite_digits.on; - comp_obj_block.node.object_number = (obj_cite_digits.on==0) ? "" : obj_cite_digits.on.to!string; - comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string; - comp_obj_block.misc.object_number_bkidx = (obj_cite_digits.bkidx==0) ? "" : obj_cite_digits.bkidx.to!string; - comp_obj_block.misc.object_number_type = obj_cite_digit_type; - 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]; - comp_obj_block.has.inline_links = substantive_obj_misc_tuple[sObj.links]; - the_document_body_section ~= comp_obj_block; - obj_type_status["blocks"] = TriState.off; - obj_type_status["quote"] = TriState.off; + comp_obj_block = comp_obj_block.init; + comp_obj_block.typeinfo.of_part = "body"; + comp_obj_block.typeinfo.of_section = "body"; + comp_obj_block.typeinfo.is_of = "block"; + comp_obj_block.typeinfo.is_a = "quote"; + comp_obj_block.node.ocn = obj_cite_digits.on; + comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string; + comp_obj_block.misc.o_n_book_index = obj_cite_digits.bkidx; + comp_obj_block.misc.object_number_type = obj_cite_digit_type; + 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]; + comp_obj_block.has.inline_links = substantive_obj_misc_tuple[sObj.links]; + the_document_body_section ~= comp_obj_block; + obj_type_status["blocks"] = TriState.off; + obj_type_status["quote"] = TriState.off; object_reset(an_object); processing.remove("verse"); ++cntr; @@ -2976,23 +2944,22 @@ template SiSUdocAbstraction() { = obj_im.obj_inline_markup_and_anchor_tags_and_misc(an_object, an_object_key, conf_make_meta); an_object["substantive"] = substantive_obj_misc_tuple[sObj.content]; anchor_tags = substantive_obj_misc_tuple[sObj.anchor_tags]; - comp_obj_block = comp_obj_block.init; - comp_obj_block.typeinfo.of_part = "body"; - comp_obj_block.typeinfo.of_section = "body"; - comp_obj_block.typeinfo.is_of = "block"; - comp_obj_block.typeinfo.is_a = "group"; - comp_obj_block.node.ocn = obj_cite_digits.on; - comp_obj_block.node.object_number = (obj_cite_digits.on==0) ? "" : obj_cite_digits.on.to!string; - comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string; - comp_obj_block.misc.object_number_bkidx = (obj_cite_digits.bkidx==0) ? "" : obj_cite_digits.bkidx.to!string; - comp_obj_block.misc.object_number_type = obj_cite_digits.type; - 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]; - comp_obj_block.has.inline_links = substantive_obj_misc_tuple[sObj.links]; - the_document_body_section ~= comp_obj_block; - obj_type_status["blocks"] = TriState.off; - obj_type_status["group"] = TriState.off; + comp_obj_block = comp_obj_block.init; + comp_obj_block.typeinfo.of_part = "body"; + comp_obj_block.typeinfo.of_section = "body"; + comp_obj_block.typeinfo.is_of = "block"; + comp_obj_block.typeinfo.is_a = "group"; + comp_obj_block.node.ocn = obj_cite_digits.on; + comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string; + comp_obj_block.misc.o_n_book_index = obj_cite_digits.bkidx; + comp_obj_block.misc.object_number_type = obj_cite_digits.type; + 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]; + comp_obj_block.has.inline_links = substantive_obj_misc_tuple[sObj.links]; + the_document_body_section ~= comp_obj_block; + obj_type_status["blocks"] = TriState.off; + obj_type_status["group"] = TriState.off; object_reset(an_object); processing.remove("verse"); ++cntr; @@ -3018,24 +2985,23 @@ template SiSUdocAbstraction() { ); auto substantive_obj_misc_tuple = obj_im.obj_inline_markup_and_anchor_tags_and_misc(an_object, an_object_key, conf_make_meta); - an_object["substantive"] = substantive_obj_misc_tuple[sObj.content]; - comp_obj_block = comp_obj_block.init; - comp_obj_block.typeinfo.of_part = "body"; - comp_obj_block.typeinfo.of_section = "body"; - comp_obj_block.typeinfo.is_of = "block"; - comp_obj_block.typeinfo.is_a = "block"; - comp_obj_block.node.ocn = obj_cite_digits.on; - comp_obj_block.node.object_number = (obj_cite_digits.on==0) ? "" : obj_cite_digits.on.to!string; - comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string; - comp_obj_block.misc.object_number_bkidx = (obj_cite_digits.bkidx==0) ? "" : obj_cite_digits.bkidx.to!string; - comp_obj_block.misc.object_number_type = obj_cite_digit_type; - 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]; - comp_obj_block.has.inline_links = substantive_obj_misc_tuple[sObj.links]; - the_document_body_section ~= comp_obj_block; - obj_type_status["blocks"] = TriState.off; - obj_type_status["block"] = TriState.off; + an_object["substantive"] = substantive_obj_misc_tuple[sObj.content]; + comp_obj_block = comp_obj_block.init; + comp_obj_block.typeinfo.of_part = "body"; + comp_obj_block.typeinfo.of_section = "body"; + comp_obj_block.typeinfo.is_of = "block"; + comp_obj_block.typeinfo.is_a = "block"; + comp_obj_block.node.ocn = obj_cite_digits.on; + comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string; + comp_obj_block.misc.o_n_book_index = obj_cite_digits.bkidx; + comp_obj_block.misc.object_number_type = obj_cite_digit_type; + 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]; + comp_obj_block.has.inline_links = substantive_obj_misc_tuple[sObj.links]; + the_document_body_section ~= comp_obj_block; + obj_type_status["blocks"] = TriState.off; + obj_type_status["block"] = TriState.off; object_reset(an_object); processing.remove("verse"); ++cntr; @@ -3058,20 +3024,19 @@ template SiSUdocAbstraction() { heading_ptr-1, an_object["is"] ); - comp_obj_poem_ocn = comp_obj_poem_ocn.init; - comp_obj_poem_ocn.typeinfo.of_part = "body"; - comp_obj_poem_ocn.typeinfo.of_section = "body"; - comp_obj_poem_ocn.typeinfo.is_of = "block"; - comp_obj_poem_ocn.typeinfo.is_a = "poem"; - comp_obj_poem_ocn.node.ocn = obj_cite_digits.on; - comp_obj_poem_ocn.node.object_number = (object_number_poem["start"] ~ "..." ~ object_number_poem["end"]); - comp_obj_poem_ocn.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string; // - comp_obj_poem_ocn.misc.object_number_bkidx = (obj_cite_digits.bkidx==0) ? "" : obj_cite_digits.bkidx.to!string; // - comp_obj_poem_ocn.misc.object_number_type = obj_cite_digits.type; - comp_obj_poem_ocn.text = ""; - the_document_body_section ~= comp_obj_poem_ocn; - obj_type_status["blocks"] = TriState.off; - obj_type_status["poem"] = TriState.off; + comp_obj_poem_ocn = comp_obj_poem_ocn.init; + comp_obj_poem_ocn.typeinfo.of_part = "body"; + comp_obj_poem_ocn.typeinfo.of_section = "body"; + comp_obj_poem_ocn.typeinfo.is_of = "block"; + comp_obj_poem_ocn.typeinfo.is_a = "poem"; + comp_obj_poem_ocn.node.ocn = obj_cite_digits.on; + comp_obj_poem_ocn.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string; // + comp_obj_poem_ocn.misc.o_n_book_index = obj_cite_digits.bkidx; // + comp_obj_poem_ocn.misc.object_number_type = obj_cite_digits.type; + comp_obj_poem_ocn.text = ""; + the_document_body_section ~= comp_obj_poem_ocn; + obj_type_status["blocks"] = TriState.off; + obj_type_status["poem"] = TriState.off; object_reset(an_object); processing.remove("verse"); } else if (obj_type_status["code"] == TriState.closing) { @@ -3098,23 +3063,22 @@ template SiSUdocAbstraction() { = obj_im.obj_inline_markup_and_anchor_tags_and_misc(an_object, an_object_key, conf_make_meta); an_object["substantive"] = substantive_obj_misc_tuple[sObj.content]; anchor_tags = substantive_obj_misc_tuple[sObj.anchor_tags]; - comp_obj_code = comp_obj_code.init; - comp_obj_code.typeinfo.of_part = "body"; - comp_obj_code.typeinfo.of_section = "body"; - comp_obj_code.typeinfo.is_of = "block"; - comp_obj_code.typeinfo.is_a = "code"; - comp_obj_code.node.ocn = obj_cite_digits.on; - comp_obj_code.node.object_number = (obj_cite_digits.on==0) ? "" : obj_cite_digits.on.to!string; - comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string; - comp_obj_block.misc.object_number_bkidx = (obj_cite_digits.bkidx==0) ? "" : obj_cite_digits.bkidx.to!string; - comp_obj_block.misc.object_number_type = obj_cite_digits.type; - 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]; - comp_obj_code.has.inline_links = substantive_obj_misc_tuple[sObj.links]; - the_document_body_section ~= comp_obj_code; - obj_type_status["blocks"] = TriState.off; - obj_type_status["code"] = TriState.off; + comp_obj_code = comp_obj_code.init; + comp_obj_code.typeinfo.of_part = "body"; + comp_obj_code.typeinfo.of_section = "body"; + comp_obj_code.typeinfo.is_of = "block"; + comp_obj_code.typeinfo.is_a = "code"; + comp_obj_code.node.ocn = obj_cite_digits.on; + comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string; + comp_obj_block.misc.o_n_book_index = obj_cite_digits.bkidx; + comp_obj_block.misc.object_number_type = obj_cite_digits.type; + 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]; + comp_obj_code.has.inline_links = substantive_obj_misc_tuple[sObj.links]; + the_document_body_section ~= comp_obj_code; + obj_type_status["blocks"] = TriState.off; + obj_type_status["code"] = TriState.off; object_reset(an_object); processing.remove("verse"); ++cntr; @@ -3141,18 +3105,17 @@ template SiSUdocAbstraction() { ); auto substantive_obj_misc_tuple = obj_im.obj_inline_markup_and_anchor_tags_and_misc(an_object, an_object_key, conf_make_meta); - an_object["substantive"] = substantive_obj_misc_tuple[sObj.content]; - comp_obj_block = comp_obj_block.init; - comp_obj_block.node.ocn = obj_cite_digits.on; - comp_obj_block.node.object_number = (obj_cite_digits.on==0) ? "" : obj_cite_digits.on.to!string; - comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string; - comp_obj_block.misc.object_number_bkidx = (obj_cite_digits.bkidx==0) ? "" : obj_cite_digits.bkidx.to!string; - comp_obj_block.misc.object_number_type = obj_cite_digits.type; - comp_obj_block = table_instructions(comp_obj_block, an_object["table_head"]); - comp_obj_block = table_substantive_munge(comp_obj_block, an_object["substantive"]); - the_document_body_section ~= comp_obj_block; - obj_type_status["blocks"] = TriState.off; - obj_type_status["table"] = TriState.off; + an_object["substantive"] = substantive_obj_misc_tuple[sObj.content]; + comp_obj_block = comp_obj_block.init; + comp_obj_block.node.ocn = obj_cite_digits.on; + comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string; + comp_obj_block.misc.o_n_book_index = obj_cite_digits.bkidx; + comp_obj_block.misc.object_number_type = obj_cite_digits.type; + comp_obj_block = table_instructions(comp_obj_block, an_object["table_head"]); + comp_obj_block = table_substantive_munge(comp_obj_block, an_object["substantive"]); + the_document_body_section ~= comp_obj_block; + obj_type_status["blocks"] = TriState.off; + obj_type_status["table"] = TriState.off; object_reset(an_object); processing.remove("verse"); ++cntr; @@ -4345,7 +4308,6 @@ template SiSUdocAbstraction() { comp_obj_toc.typeinfo.is_of = "para"; comp_obj_toc.typeinfo.is_a = "toc"; comp_obj_toc.node.ocn = 0; - comp_obj_toc.node.object_number = ""; comp_obj_toc.misc.object_number_off = ""; comp_obj_toc.misc.object_number_type = 0; comp_obj_toc.attrib.indent_hang = indent["hang_position"]; @@ -4365,7 +4327,6 @@ template SiSUdocAbstraction() { comp_obj_toc.typeinfo.is_of = "para"; comp_obj_toc.typeinfo.is_a = "toc"; comp_obj_toc.node.ocn = 0; - comp_obj_toc.node.object_number = ""; comp_obj_toc.misc.object_number_off = ""; comp_obj_toc.misc.object_number_type = 0; comp_obj_toc.attrib.indent_hang = indent["hang_position"]; @@ -4381,7 +4342,6 @@ template SiSUdocAbstraction() { comp_obj_toc.typeinfo.is_of = "para"; comp_obj_toc.typeinfo.is_a = "toc"; comp_obj_toc.node.ocn = 0; - comp_obj_toc.node.object_number = ""; comp_obj_toc.misc.object_number_off = ""; comp_obj_toc.misc.object_number_type = 0; comp_obj_toc.attrib.bullet = false; @@ -5085,7 +5045,6 @@ template SiSUdocAbstraction() { comp_obj_heading_.typeinfo.is_a = "heading"; comp_obj_heading_.text = "Book Index"; comp_obj_heading_.node.ocn = 0; - comp_obj_heading_.node.object_number = ""; comp_obj_heading_.misc.object_number_off = ""; comp_obj_heading_.misc.object_number_type = 0; comp_obj_heading_.tags.segment_anchor_tag = "_part_book_index"; @@ -5105,7 +5064,6 @@ template SiSUdocAbstraction() { comp_obj_heading_.typeinfo.is_a = "heading"; comp_obj_heading_.text = "Index"; comp_obj_heading_.node.ocn = 0; - comp_obj_heading_.node.object_number = ""; comp_obj_heading_.misc.object_number_off = ""; comp_obj_heading_.misc.object_number_type = 0; comp_obj_heading_.tags.segment_anchor_tag = "bookindex"; @@ -5183,7 +5141,6 @@ template SiSUdocAbstraction() { comp_obj_para.typeinfo.is_a = "bookindex"; comp_obj_para.text = bi_tmp_scroll.to!string.strip; comp_obj_para.node.ocn = 0; - comp_obj_para.node.object_number = ""; comp_obj_para.misc.object_number_off = ""; comp_obj_para.misc.object_number_type = 0; comp_obj_para.tags.anchor_tags = bi_tmp_tags; @@ -5200,7 +5157,6 @@ template SiSUdocAbstraction() { comp_obj_heading_ = comp_obj_heading_.init; comp_obj_heading_.text = "(skip) there is no Book Index"; comp_obj_heading_.node.ocn = 0; - comp_obj_heading_.node.object_number = ""; comp_obj_heading_.misc.object_number_off = ""; comp_obj_heading_.misc.object_number_type = 0; comp_obj_heading_.node.marked_up_level = "B"; @@ -5315,7 +5271,6 @@ template SiSUdocAbstraction() { comp_obj_heading_.typeinfo.is_a = "heading"; comp_obj_heading_.text = "Endnotes"; comp_obj_heading_.node.ocn = 0; - comp_obj_heading_.node.object_number = ""; comp_obj_heading_.misc.object_number_off = ""; comp_obj_heading_.misc.object_number_type = 0; comp_obj_heading_.tags.segment_anchor_tag = "_part_endnotes"; @@ -5333,7 +5288,6 @@ template SiSUdocAbstraction() { comp_obj_heading_.typeinfo.is_a = "heading"; comp_obj_heading_.text = "Endnotes"; comp_obj_heading_.node.ocn = 0; - comp_obj_heading_.node.object_number = ""; comp_obj_heading_.misc.object_number_off = ""; comp_obj_heading_.misc.object_number_type = 0; comp_obj_heading_.tags.segment_anchor_tag = "endnotes"; @@ -5353,7 +5307,6 @@ template SiSUdocAbstraction() { comp_obj_heading_.typeinfo.is_a = "heading"; comp_obj_heading_.text = "(skip) there are no Endnotes"; comp_obj_heading_.node.ocn = 0; - comp_obj_heading_.node.object_number = ""; comp_obj_heading_.misc.object_number_off = ""; comp_obj_heading_.misc.object_number_type = 0; comp_obj_heading_.node.marked_up_level = "B"; @@ -5371,7 +5324,6 @@ template SiSUdocAbstraction() { comp_obj_endnote_.typeinfo.is_of = "para"; comp_obj_endnote_.typeinfo.is_a = "endnote"; comp_obj_endnote_.node.ocn = 0; - comp_obj_heading_.node.object_number = ""; comp_obj_heading_.misc.object_number_off = ""; comp_obj_heading_.misc.object_number_type = 0; comp_obj_endnote_.attrib.indent_hang = 0; @@ -5685,29 +5637,28 @@ template SiSUdocAbstraction() { break; } ObjGenericComposite _comp_obj_heading_; - _comp_obj_heading_ = _comp_obj_heading_.init; - _comp_obj_heading_.typeinfo.of_part = "body"; - _comp_obj_heading_.typeinfo.of_section = "body"; - _comp_obj_heading_.typeinfo.is_of = "para"; - _comp_obj_heading_.typeinfo.is_a = "heading"; - _comp_obj_heading_.text = _text.to!string.strip; - _comp_obj_heading_.node.ocn = obj_cite_digits.on; - _comp_obj_heading_.node.object_number = (obj_cite_digits.on==0) ? "" : obj_cite_digits.on.to!string; - _comp_obj_heading_.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string; - _comp_obj_heading_.misc.object_number_type = obj_cite_digits.type; - _comp_obj_heading_.tags.segment_anchor_tag = segment_anchor_tag.to!string; - _comp_obj_heading_.node.marked_up_level = lev; - _comp_obj_heading_.node.heading_lev_markup = (!(lev_markup_number.empty) ? lev_markup_number.to!int : 0); - _comp_obj_heading_.node.heading_lev_collapsed = (!(lev_collapsed_number.empty) ? lev_collapsed_number.to!int : 0); - _comp_obj_heading_.node.parent_ocn = p_["object_number"]; - _comp_obj_heading_.node.parent_lev_markup = p_["lev_markup_number"]; - _comp_obj_heading_.tags.heading_ancestors_text = lv_ancestors_txt; - _comp_obj_heading_.ptr.doc_object = cntr_; - _comp_obj_heading_.ptr.html_segnames = ((lev_markup_number == "4") ? html_segnames_ptr : 0); - _comp_obj_heading_.ptr.heading = ptr_; - _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; + _comp_obj_heading_ = _comp_obj_heading_.init; + _comp_obj_heading_.typeinfo.of_part = "body"; + _comp_obj_heading_.typeinfo.of_section = "body"; + _comp_obj_heading_.typeinfo.is_of = "para"; + _comp_obj_heading_.typeinfo.is_a = "heading"; + _comp_obj_heading_.text = _text.to!string.strip; + _comp_obj_heading_.node.ocn = obj_cite_digits.on; + _comp_obj_heading_.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string; + _comp_obj_heading_.misc.object_number_type = obj_cite_digits.type; + _comp_obj_heading_.tags.segment_anchor_tag = segment_anchor_tag.to!string; + _comp_obj_heading_.node.marked_up_level = lev; + _comp_obj_heading_.node.heading_lev_markup = (!(lev_markup_number.empty) ? lev_markup_number.to!int : 0); + _comp_obj_heading_.node.heading_lev_collapsed = (!(lev_collapsed_number.empty) ? lev_collapsed_number.to!int : 0); + _comp_obj_heading_.node.parent_ocn = p_["object_number"]; + _comp_obj_heading_.node.parent_lev_markup = p_["lev_markup_number"]; + _comp_obj_heading_.tags.heading_ancestors_text = lv_ancestors_txt; + _comp_obj_heading_.ptr.doc_object = cntr_; + _comp_obj_heading_.ptr.html_segnames = ((lev_markup_number == "4") ? html_segnames_ptr : 0); + _comp_obj_heading_.ptr.heading = ptr_; + _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; debug(node) { if (lev_markup_number.match(rgx.levels_numbered_headings)) { writeln("* ", _node.to!string); diff --git a/src/sdp/meta/metadoc_summary.d b/src/sdp/meta/metadoc_summary.d index 3167677..a025411 100644 --- a/src/sdp/meta/metadoc_summary.d +++ b/src/sdp/meta/metadoc_summary.d @@ -24,7 +24,7 @@ template SiSUabstractionSummary() { string[string] check = [ "last_object_number" : "NA [debug \"checkdoc\" not run]", "last_object_number_body" : "0", - "last_object_number_bkidx" : "0", + "last_object_number_book_index" : "0", ]; foreach (k; doc_matters.xml.keys_seq.seg) { foreach (obj; doc_abstraction[k]) { @@ -39,7 +39,7 @@ template SiSUabstractionSummary() { } if (k == "bookindex_seg") { if (obj.misc.object_number_type == 2) { - check["last_object_number_bkidx"] = obj.misc.object_number_bkidx; + check["last_object_number_book_index"] = obj.misc.object_number_book_index; } } } @@ -83,7 +83,7 @@ template SiSUabstractionSummary() { ? (to!int(doc_abstraction["bookindex_seg"].length)) : 0, " last book idx ocn:", - to!int(check["last_object_number_bkidx"]), + to!int(check["last_object_number_book_index"]), "length blurb:", (doc_abstraction["blurb"].length > 1) ? (to!int(doc_abstraction["blurb"].length)) diff --git a/src/sdp/meta/object_setter.d b/src/sdp/meta/object_setter.d index 840a71c..967f9ec 100644 --- a/src/sdp/meta/object_setter.d +++ b/src/sdp/meta/object_setter.d @@ -6,28 +6,33 @@ module sdp.meta.object_setter; template ObjectSetter() { /+ structs +/ - struct DocObj_TypeInfo_ { + struct DocObj_TypeInfo_ { // typeinfo string of_part = ""; // frontmatter, body, backmatter string of_section = ""; // toc, body, glossary, biography, book index, blurb string is_of = ""; // para, block ? string is_a = ""; // heading, para, table, code block, group, ... } - struct DocObj_TxtAttrib_ { + struct DocObj_TxtAttrib_ { // attrib int indent_base = 0; int indent_hang = 0; bool bullet = false; string language = ""; // not implemented, consider } - struct DocObj_Has_ { + struct DocObj_Has_ { // has bool inline_links = false; bool inline_notes_reg = false; bool inline_notes_star = false; bool contains_image_without_dimensions = false; } - struct DocObj_Node_ { + struct DocObj_Node_ { // node string[string][string] node; - int ocn = 0; // duplicated as string with object_number - string object_number = ""; // duplicated as int with ocn may apply additional info for backmatter (glossary, biblio etc.) + int ocn = 0; + string object_number() const @property { + return (ocn==0) + ? "" + : ocn.to!string; + } + string ocn_type = ""; // code duplicated typeinfo is_a string marked_up_level = "9"; int heading_lev_markup = 9; int heading_lev_collapsed = 9; @@ -38,22 +43,22 @@ template ObjectSetter() { int parent_ocn = 0; int[] ancestors = []; } - struct DocObj_Table_ { + struct DocObj_Table_ { // table int number_of_columns = 0; double[] column_widths = []; string[] column_aligns = []; bool heading = false; bool walls = false; // not implemented } - struct DocObj_CodeBlock_ { + struct DocObj_CodeBlock_ { // code_block string syntax = ""; } - struct DocObj_Pointer_ { + struct DocObj_Pointer_ { // ptr int doc_object = 0; int html_segnames = 0; int heading = 0; } - struct DocObj_Tags_ { + struct DocObj_Tags_ { // tags string[] heading_ancestors_text = [ "", "", "", "", "", "", "", "", ]; string segment_anchor_tag = ""; string segname_prev = ""; @@ -61,10 +66,46 @@ template ObjectSetter() { string[] lev4_subtoc = []; string[] anchor_tags = []; } - struct DocObj_Misc_ { - string object_number_bkidx = ""; - string object_number_off = ""; - int object_number_type = 0; // { ocn, non, bkidx } + struct DocObj_Misc_ { // misc + int o_n_substantive = 0; + int o_n_non_substantive = 0; + int o_n_glossary = 0; + int o_n_bibliography = 0; + int o_n_book_index = 0; + int o_n_blurb = 0; + string object_number_substantive() const @property { + return (o_n_substantive==0) + ? "" + : o_n_substantive.to!string; + } + string object_number_non_substantive() const @property { + return (o_n_non_substantive==0) + ? "" + : o_n_non_substantive.to!string; + } + string object_number_glossary() const @property { + return (o_n_glossary==0) + ? "" + : o_n_glossary.to!string; + } + string object_number_bibliography() const @property { + return (o_n_bibliography==0) + ? "" + : o_n_bibliography.to!string; + } + string object_number_book_index() const @property { + return (o_n_book_index==0) + ? "" + : o_n_book_index.to!string; + } + string object_number_blurb() const @property { + return (o_n_blurb==0) + ? "" + : o_n_blurb.to!string; + } + string object_number_off = ""; + bool visible_object_number = false; + int object_number_type = 0; // { ocn, non, bkidx } } struct ObjGenericComposite { string text = ""; diff --git a/src/sdp/output/epub3.d b/src/sdp/output/epub3.d index 303898d..82d8764 100644 --- a/src/sdp/output/epub3.d +++ b/src/sdp/output/epub3.d @@ -29,7 +29,7 @@ template outputEPub3() { ΒΆ") ~ "\n\n"; return o; } - string epub3_oebps_content(D,I,P)(D doc_abstraction, I doc_matters, P parts) { + string epub3_oebps_content(D,M,P)(D doc_abstraction, M doc_matters, P parts) { auto xhtml_format = outputXHTMLs(); auto pth_epub3 = SiSUpathsEPUB!()(doc_matters.output_path, doc_matters.src.language); string uuid = "18275d951861c77f78acd05672c9906924c59f18a2e0ba06dad95959693e9bd8"; // TODO sort uuid in doc_matters! -- cgit v1.2.3