aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRalph Amissah <ralph@amissah.com>2018-06-19 12:17:37 -0400
committerRalph Amissah <ralph@amissah.com>2019-04-10 15:14:15 -0400
commit4101c83a16ce715c84d353572bd0f231059bfbac (patch)
tree5e84eb93addb7e63bcc3dbd7ede0e66d64f735df
parentdoc abstraction run only when processing flags require (diff)
make string object_number a property of int o_n
-rw-r--r--org/meta_abstraction.org548
-rw-r--r--org/output_xmls.org2
-rw-r--r--org/sdp.org6
-rw-r--r--src/sdp/meta/metadoc_from_src.d451
-rw-r--r--src/sdp/meta/metadoc_summary.d6
-rw-r--r--src/sdp/meta/object_setter.d69
-rw-r--r--src/sdp/output/epub3.d2
7 files changed, 541 insertions, 543 deletions
diff --git a/org/meta_abstraction.org b/org/meta_abstraction.org
index 3d6f6b0..3b21446 100644
--- a/org/meta_abstraction.org
+++ b/org/meta_abstraction.org
@@ -509,7 +509,6 @@ comp_obj_heading_.typeinfo.is_of = "para";
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";
@@ -686,7 +685,6 @@ if there is a glossary section you need to:
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";
@@ -705,7 +703,6 @@ if there is a glossary section you need to:
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";
@@ -727,7 +724,6 @@ if there is a glossary section you need to:
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"];
@@ -810,7 +806,6 @@ if there is a blurb section you need to:
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";
@@ -829,7 +824,6 @@ if there is a blurb section you need to:
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";
@@ -851,7 +845,6 @@ if there is a blurb section you need to:
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";
@@ -870,7 +863,6 @@ if there is a blurb section you need to:
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"];
@@ -1281,26 +1273,25 @@ if ((obj_type_status["heading"] == State.on)
= 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,
@@ -1413,7 +1404,6 @@ if (an_object["glossary_nugget"].length == 0) {
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";
@@ -1452,7 +1442,6 @@ if (biblio_ordered.length > 0) {
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";
@@ -1469,7 +1458,6 @@ if (biblio_ordered.length > 0) {
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";
@@ -1488,7 +1476,6 @@ if (biblio_ordered.length > 0) {
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";
@@ -1527,7 +1514,6 @@ foreach (entry; biblio_ordered) {
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;
@@ -1613,7 +1599,6 @@ if (an_object["blurb_nugget"].length == 0) {
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 = "";
@@ -1645,7 +1630,6 @@ comp_obj_toc.typeinfo.of_section = "toc";
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"];
@@ -2002,7 +1986,6 @@ foreach (ref obj; the_document_head_section) {
"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) +/
@@ -2021,7 +2004,7 @@ foreach (ref obj; the_document_head_section) {
}
#+END_SRC
-***** ↻ Loop section: toc
+***** ↻ Loop section: toc [to]
#+name: abs_post
#+BEGIN_SRC d
@@ -2082,7 +2065,7 @@ if (the_table_of_contents_section["scroll"].length > 1) {
}
#+END_SRC
-***** ↻ Loop section: document body
+***** ↻ Loop section: document body [bd]
#+name: abs_post
#+BEGIN_SRC d
@@ -2126,7 +2109,7 @@ if (the_document_body_section.length > 1) {
auto images=uniq(_images.sort());
#+END_SRC
-***** ↻ Loop section: endnotes
+***** ↻ Loop section: endnotes [en]
- endnotes have their own number, (also use in node) and they belong to calling object
@@ -2145,7 +2128,6 @@ if (the_endnotes_section.length > 1) {
}
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) {
@@ -2174,7 +2156,7 @@ if (the_endnotes_section.length > 1) {
}
#+END_SRC
-***** ↻ Loop section: glossary
+***** ↻ Loop section: glossary [gl]
- add glossary numbering, (also use in node) no need to show in text
@@ -2189,7 +2171,6 @@ if (the_glossary_section.length > 1) {
}
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) {
@@ -2216,13 +2197,12 @@ if (the_glossary_section.length > 1) {
} 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;
}
}
}
#+END_SRC
-***** ↻ Loop section: bibliography
+***** ↻ Loop section: bibliography [bb]
- add bibliography numbering, (also use in node) no need to show in text
@@ -2237,7 +2217,6 @@ if (the_bibliography_section.length > 1) {
}
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) {
@@ -2264,13 +2243,12 @@ if (the_bibliography_section.length > 1) {
} 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;
}
}
}
#+END_SRC
-***** ↻ Loop section: book index (scroll, seg)
+***** ↻ Loop section: book index (scroll, seg) [bi]
- add book index numbering?, (also use in node) no need to show in text
@@ -2290,7 +2268,6 @@ if (the_bookindex_section["scroll"].length > 1) {
}
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) {
@@ -2315,10 +2292,10 @@ if (the_bookindex_section["scroll"].length > 1) {
}
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 +/
@@ -2330,7 +2307,6 @@ if (the_bookindex_section["scroll"].length > 1) {
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) {
@@ -2356,8 +2332,8 @@ if (the_bookindex_section["scroll"].length > 1) {
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
@@ -2367,7 +2343,7 @@ if (the_bookindex_section["scroll"].length > 1) {
}
#+END_SRC
-***** ↻ Loop section: blurb
+***** ↻ Loop section: blurb [bl]
#+name: abs_post
#+BEGIN_SRC d
@@ -2380,7 +2356,6 @@ if (the_blurb_section.length > 1) {
}
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) {
@@ -2429,7 +2404,6 @@ comp_obj_heading_.typeinfo.of_section = "empty";
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 = "";
@@ -3394,21 +3368,20 @@ void _poem_block_(L,O,T,C,N,CMM)(
= 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");
@@ -3452,21 +3425,20 @@ void _poem_block_(L,O,T,C,N,CMM)(
= 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;
@@ -3495,22 +3467,21 @@ void _poem_block_(L,O,T,C,N,CMM)(
= 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;
@@ -3553,21 +3524,20 @@ void _poem_block_(L,O,T,C,N,CMM)(
= 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;
@@ -3696,15 +3666,14 @@ void _table_closed_make_special_notation_table_(N,CMM)(
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;
@@ -3770,23 +3739,22 @@ void _block_flag_line_empty_(B,N,CMM)(
= 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;
@@ -3820,23 +3788,22 @@ void _block_flag_line_empty_(B,N,CMM)(
= 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;
@@ -3868,24 +3835,23 @@ void _block_flag_line_empty_(B,N,CMM)(
);
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;
@@ -3914,20 +3880,19 @@ void _block_flag_line_empty_(B,N,CMM)(
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");
#+END_SRC
@@ -3960,23 +3925,22 @@ void _block_flag_line_empty_(B,N,CMM)(
= 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;
@@ -4009,18 +3973,17 @@ void _block_flag_line_empty_(B,N,CMM)(
);
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;
@@ -5446,7 +5409,6 @@ static struct ObjInlineMarkup {
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"];
@@ -5466,7 +5428,6 @@ static struct ObjInlineMarkup {
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"];
@@ -5482,7 +5443,6 @@ static struct ObjInlineMarkup {
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;
@@ -6337,7 +6297,6 @@ struct BookIndexReportSection {
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";
@@ -6357,7 +6316,6 @@ struct BookIndexReportSection {
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";
@@ -6435,7 +6393,6 @@ struct BookIndexReportSection {
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;
@@ -6452,7 +6409,6 @@ struct BookIndexReportSection {
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";
@@ -6596,7 +6552,6 @@ struct NotesSection {
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";
@@ -6614,7 +6569,6 @@ struct NotesSection {
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";
@@ -6634,7 +6588,6 @@ struct NotesSection {
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";
@@ -6652,7 +6605,6 @@ struct NotesSection {
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;
@@ -7026,29 +6978,28 @@ struct NodeStructureMetadata {
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);
@@ -7361,32 +7312,51 @@ template ObjectSetter() {
#+END_SRC
** 1. initialize structs :struct:
+*** heading attribute
+
+#+BEGIN_SRC d
+struct HeadingAttrib {
+ string lev = "9";
+ int heading_lev_markup = 9;
+ int heading_lev_collapsed = 9;
+ int[] closes_lev_collapsed = [];
+ int[] closes_lev_markup = [];
+ int array_ptr = 0;
+ int heading_array_ptr_segments = 0;
+}
+#+END_SRC
+
*** [#A] _composite object_
#+name: meta_structs_init
#+BEGIN_SRC d
-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;
@@ -7397,22 +7367,22 @@ struct DocObj_Node_ {
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 = "";
@@ -7420,10 +7390,46 @@ struct DocObj_Tags_ {
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/org/output_xmls.org b/org/output_xmls.org
index db81b28..58f251a 100644
--- a/org/output_xmls.org
+++ b/org/output_xmls.org
@@ -1929,7 +1929,7 @@ xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
#+name: output_epub3_constructs
#+BEGIN_SRC d
-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!
diff --git a/org/sdp.org b/org/sdp.org
index ac80370..4144630 100644
--- a/org/sdp.org
+++ b/org/sdp.org
@@ -971,7 +971,7 @@ auto markup = InlineMarkup();
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]) {
@@ -986,7 +986,7 @@ foreach (k; doc_matters.xml.keys_seq.seg) {
}
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;
}
}
}
@@ -1036,7 +1036,7 @@ writefln(
? (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/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() {
</rootfiles>¶") ~ "\n</container>\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!