diff options
| author | Ralph Amissah <ralph.amissah@gmail.com> | 2018-12-04 12:53:42 -0500 | 
|---|---|---|
| committer | Ralph Amissah <ralph.amissah@gmail.com> | 2019-05-17 16:59:38 -0400 | 
| commit | 17b7fb0af640daf2202adb74fedf8abcef03dfc0 (patch) | |
| tree | e7a598285424f5ddf79e22b6e18011b07d519b15 | |
| parent | reporting pod & source processing (diff) | |
json type match, fix breakage caused by external changedoc-reform_v0.3.2
| -rw-r--r-- | org/meta_conf_make_meta.org | 186 | ||||
| -rw-r--r-- | src/doc_reform/meta/conf_make_meta_json.d | 186 | 
2 files changed, 190 insertions, 182 deletions
| diff --git a/org/meta_conf_make_meta.org b/org/meta_conf_make_meta.org index df8d299..a45d7d0 100644 --- a/org/meta_conf_make_meta.org +++ b/org/meta_conf_make_meta.org @@ -474,39 +474,39 @@ static template contentJSONtoDocReformStruct() {  /+ make ------------------------------------------------------------------- +/  if ("make" in _json.object) {    if ("bold" in _json.object["make"] -    && (_json.object["make"]["bold"].type().to!string == "STRING") +    && (_json.object["make"]["bold"].type().to!string == "string")    ) {      _struct_composite.make_str.bold = _json.object["make"]["bold"].str;    }    if ("breaks" in _json.object["make"] -    && (_json.object["make"]["breaks"].type().to!string == "STRING") +    && (_json.object["make"]["breaks"].type().to!string == "string")    ) {      _struct_composite.make_str.breaks = _json.object["make"]["breaks"].str;    }    if ("cover_image" in _json.object["make"] -    && (_json.object["make"]["cover_image"].type().to!string == "STRING") +    && (_json.object["make"]["cover_image"].type().to!string == "string")    ) {      _struct_composite.make_str.cover_image = _json.object["make"]["cover_image"].str;    }    if ("css" in _json.object["make"] -    && (_json.object["make"]["css"].type().to!string == "STRING") +    && (_json.object["make"]["css"].type().to!string == "string")    ) {      _struct_composite.make_str.css = _json.object["make"]["css"].str;    }    if ("emphasis" in _json.object["make"] -    && (_json.object["make"]["emphasis"].type().to!string == "STRING") +    && (_json.object["make"]["emphasis"].type().to!string == "string")    ) {      _struct_composite.make_str.emphasis = _json.object["make"]["emphasis"].str;    }    if ("footer" in _json.object["make"] -    && (_json.object["make"]["footer"].type().to!string == "STRING") +    && (_json.object["make"]["footer"].type().to!string == "string")    ) {      char[][] __match_footer_array        = (cast(char[]) _json.object["make"]["footer"].str)          .split(_rgx.make_heading_delimiter);      _struct_composite.make_str.footer = __match_footer_array.to!(string[]);    } else if ("footer" in _json.object["make"] -    && _json.object["make"]["footer"].type().to!string == "ARRAY") { +    && _json.object["make"]["footer"].type().to!string == "array") {      string[] _match_footer_array;      foreach (_match_heading; _json.object["make"]["footer"].arrayNoRef) {        _match_footer_array ~= _match_heading.str; @@ -514,14 +514,14 @@ if ("make" in _json.object) {      _struct_composite.make_str.footer = _match_footer_array;    }    if ("headings" in _json.object["make"] -    && (_json.object["make"]["headings"].type().to!string == "STRING") +    && (_json.object["make"]["headings"].type().to!string == "string")    ) {     char[][] __match_headings_array        = (cast(char[]) _json.object["make"]["headings"].str)          .split(_rgx.make_heading_delimiter);      _struct_composite.make_str.headings = __match_headings_array.to!(string[]);    } else if ("headings" in _json.object["make"] -    && _json.object["make"]["headings"].type().to!string == "ARRAY") { +    && _json.object["make"]["headings"].type().to!string == "array") {      string[] _match_headings_array;      foreach (_match_heading; _json.object["make"]["headings"].arrayNoRef) {        _match_headings_array ~= _match_heading.str; @@ -529,14 +529,14 @@ if ("make" in _json.object) {      _struct_composite.make_str.headings = _match_headings_array;    }    if ("home_button_image" in _json.object["make"] -    && (_json.object["make"]["home_button_image"].type().to!string == "STRING") +    && (_json.object["make"]["home_button_image"].type().to!string == "string")    ) {     char[][] __match_home_button_image_array        = (cast(char[]) _json.object["make"]["home_button_image"].str)          .split(_rgx.make_heading_delimiter);      _struct_composite.make_str.home_button_image = __match_home_button_image_array.to!(string[]);    } else if ("home_button_image" in _json.object["make"] -    && _json.object["make"]["home_button_image"].type().to!string == "ARRAY") { +    && _json.object["make"]["home_button_image"].type().to!string == "array") {      string[] _match_home_button_image_array;      foreach (_match_heading; _json.object["make"]["home_button_image"].arrayNoRef) {        _match_home_button_image_array ~= _match_heading.str; @@ -544,11 +544,11 @@ if ("make" in _json.object) {      _struct_composite.make_str.home_button_image = _match_home_button_image_array;    }    if ("home_button_text" in _json.object["make"] -    && (_json.object["make"]["home_button_text"].type().to!string == "STRING") +    && (_json.object["make"]["home_button_text"].type().to!string == "string")    ) {      _struct_composite.make_str.home_button_text = _json.object["make"]["home_button_text"].str;    } else if ("home_button_text" in _json.object["make"] -    && _json.object["make"]["home_button_text"].type().to!string == "ARRAY" +    && _json.object["make"]["home_button_text"].type().to!string == "array"    ) {      string[] _match_home_button_text_array;      foreach (_match_heading; _json.object["make"]["home_button_text"].arrayNoRef) { @@ -558,12 +558,12 @@ if ("make" in _json.object) {      _struct_composite.make_str.home_button_text = _match_home_button_text_str;    }    if ("italics" in _json.object["make"] -    && (_json.object["make"]["italics"].type().to!string == "STRING") +    && (_json.object["make"]["italics"].type().to!string == "string")    ) {      _struct_composite.make_str.italics = _json.object["make"]["italics"].str;    }    if ("auto_num_top_at_level" in _json.object["make"] // str == A - D, 1 - 4 -    && (_json.object["make"]["auto_num_top_at_level"].type().to!string == "STRING") +    && (_json.object["make"]["auto_num_top_at_level"].type().to!string == "string")    ) {      _struct_composite.make_str.auto_num_top_at_level = _json.object["make"]["auto_num_top_at_level"].str;      switch (_json.object["make"]["auto_num_top_at_level"].str) { @@ -592,26 +592,26 @@ if ("make" in _json.object) {    ) {      _struct_composite.make_str.auto_num_depth = _json.object["make"]["auto_num_depth"].integer.to!int;    } else if ("auto_num_depth" in _json.object["make"] -    && (_json.object["make"]["auto_num_depth"].type().to!string == "STRING") +    && (_json.object["make"]["auto_num_depth"].type().to!string == "string")    ) {      _struct_composite.make_str.auto_num_depth = _json.object["make"]["auto_num_depth"].str.to!int;    }    if ("substitute" in _json.object["make"]) {      string[][] _sub;      if ( -      (_json.object["make"]["substitute"].type().to!string == "ARRAY") -      && (_json.object["make"]["substitute"][0].type().to!string == "ARRAY") +      (_json.object["make"]["substitute"].type().to!string == "array") +      && (_json.object["make"]["substitute"][0].type().to!string == "array")      ) {        foreach (substitute_pair; _json.object["make"]["substitute"].arrayNoRef) { -        if ((substitute_pair.type().to!string) == "ARRAY") { +        if ((substitute_pair.type().to!string) == "array") {            if (!empty(substitute_pair[0].str) && !empty(substitute_pair[1].str)) {              _sub ~= [ substitute_pair[0].str,  substitute_pair[1].str];            }          }        }      } else if ( -      (_json.object["make"]["substitute"].type().to!string == "ARRAY") -      && (_json.object["make"]["substitute"][0].type().to!string == "STRING") +      (_json.object["make"]["substitute"].type().to!string == "array") +      && (_json.object["make"]["substitute"][0].type().to!string == "string")      ) {         if (!empty(_json.object["make"]["substitute"][0].str) && !empty(_json.object["make"]["substitute"][1].str)) {           _sub = [[_json.object["make"]["substitute"][0].str, _json.object["make"]["substitute"][1].str]]; @@ -621,7 +621,7 @@ if ("make" in _json.object) {      _struct_composite.make_str.substitute  = _sub;    }    if ("texpdf_font" in _json.object["make"] -    && (_json.object["make"]["texpdf_font"].type().to!string == "STRING") +    && (_json.object["make"]["texpdf_font"].type().to!string == "string")    ) {      _struct_composite.make_str.texpdf_font  = _json.object["make"]["texpdf_font"].str;    } @@ -650,7 +650,7 @@ if ("make" in _json.object) {  /+ conf ------------------------------------------------------------------- +/  if ("webserv" in _json.object) {    if ("url_root" in _json.object["webserv"] -    && (_json.object["webserv"]["url_root"].type().to!string == "STRING") +    && (_json.object["webserv"]["url_root"].type().to!string == "string")    ) {      _struct_composite.conf.webserv_url_doc_root = _json.object["webserv"]["url_root"].str;      if (auto m = _struct_composite.conf.webserv_url_doc_root.match(_rgx.webserv_url_doc_root)) { @@ -659,155 +659,155 @@ if ("webserv" in _json.object) {      }    }    if ("images" in _json.object["webserv"] -    && (_json.object["webserv"]["images"].type().to!string == "STRING") +    && (_json.object["webserv"]["images"].type().to!string == "string")    ) {      _struct_composite.conf.webserv_images = _json.object["webserv"]["images"].str;    }    if ("cgi" in _json.object["webserv"] -    && (_json.object["webserv"]["cgi"].type().to!string == "STRING") +    && (_json.object["webserv"]["cgi"].type().to!string == "string")    ) {      _struct_composite.conf.webserv_cgi = _json.object["webserv"]["cgi"].str;    }    if ("cgi_host" in _json.object["webserv"] -    && (_json.object["webserv"]["cgi_host"].type().to!string == "STRING") +    && (_json.object["webserv"]["cgi_host"].type().to!string == "string")    ) {      _struct_composite.conf.webserv_cgi_host = _json.object["webserv"]["cgi_host"].str;    }    if ("cgi_host_path" in _json.object["webserv"] -    && (_json.object["webserv"]["cgi_host_path"].type().to!string == "STRING") +    && (_json.object["webserv"]["cgi_host_path"].type().to!string == "string")    ) {      _struct_composite.conf.webserv_cgi_host_path = _json.object["webserv"]["cgi_host_path"].str;    }    if ("cgi_port" in _json.object["webserv"] -    && (_json.object["webserv"]["cgi_port"].type().to!string == "STRING") +    && (_json.object["webserv"]["cgi_port"].type().to!string == "string")    ) {      _struct_composite.conf.webserv_cgi_port = _json.object["webserv"]["cgi_port"].str;    }    if ("cgi_user" in _json.object["webserv"] -    && (_json.object["webserv"]["cgi_user"].type().to!string == "STRING") +    && (_json.object["webserv"]["cgi_user"].type().to!string == "string")    ) {      _struct_composite.conf.webserv_cgi_user = _json.object["webserv"]["cgi_user"].str;    }    if ("cgi_file_links" in _json.object["webserv"] -    && (_json.object["webserv"]["cgi_file_links"].type().to!string == "STRING") +    && (_json.object["webserv"]["cgi_file_links"].type().to!string == "string")    ) {      _struct_composite.conf.webserv_cgi_file_links = _json.object["webserv"]["cgi_file_links"].str;    }  }  if ("processing" in _json.object) {    if ("path" in _json.object["processing"] -    && (_json.object["processing"]["path"].type().to!string == "STRING") +    && (_json.object["processing"]["path"].type().to!string == "string")    ) {      _struct_composite.conf.processing_path = _json.object["processing"]["path"].str;    }    if ("dir" in _json.object["processing"] -    && (_json.object["processing"]["dir"].type().to!string == "STRING") +    && (_json.object["processing"]["dir"].type().to!string == "string")    ) {      _struct_composite.conf.processing_dir = _json.object["processing"]["dir"].str;    }    if ("concord_max" in _json.object["processing"] -    && (_json.object["processing"]["concord_max"].type().to!string == "STRING") +    && (_json.object["processing"]["concord_max"].type().to!string == "string")    ) {      _struct_composite.conf.processing_concord_max = _json.object["processing"]["concord_max"].str;    }  }  if ("flag" in _json.object) {    if ("act0" in _json.object["flag"] -    && (_json.object["flag"]["act0"].type().to!string == "STRING") +    && (_json.object["flag"]["act0"].type().to!string == "string")    ) {      _struct_composite.conf.flag_act0 = _json.object["flag"]["act0"].str;    }    if ("act1" in _json.object["flag"] -    && (_json.object["flag"]["act1"].type().to!string == "STRING") +    && (_json.object["flag"]["act1"].type().to!string == "string")    ) {      _struct_composite.conf.flag_act1 = _json.object["flag"]["act1"].str;    }    if ("act2" in _json.object["flag"] -    && (_json.object["flag"]["act2"].type().to!string == "STRING") +    && (_json.object["flag"]["act2"].type().to!string == "string")    ) {      _struct_composite.conf.flag_act2 = _json.object["flag"]["act2"].str;    }    if ("act3" in _json.object["flag"] -    && (_json.object["flag"]["act3"].type().to!string == "STRING") +    && (_json.object["flag"]["act3"].type().to!string == "string")    ) {      _struct_composite.conf.flag_act3 = _json.object["flag"]["act3"].str;    }    if ("act4" in _json.object["flag"] -    && (_json.object["flag"]["act4"].type().to!string == "STRING") +    && (_json.object["flag"]["act4"].type().to!string == "string")    ) {      _struct_composite.conf.flag_act4 = _json.object["flag"]["act4"].str;    }    if ("act5" in _json.object["flag"] -    && (_json.object["flag"]["act5"].type().to!string == "STRING") +    && (_json.object["flag"]["act5"].type().to!string == "string")    ) {      _struct_composite.conf.flag_act5 = _json.object["flag"]["act5"].str;    }    if ("act6" in _json.object["flag"] -    && (_json.object["flag"]["act6"].type().to!string == "STRING") +    && (_json.object["flag"]["act6"].type().to!string == "string")    ) {      _struct_composite.conf.flag_act6 = _json.object["flag"]["act6"].str;    }    if ("act7" in _json.object["flag"] -    && (_json.object["flag"]["act7"].type().to!string == "STRING") +    && (_json.object["flag"]["act7"].type().to!string == "string")    ) {      _struct_composite.conf.flag_act7 = _json.object["flag"]["act7"].str;    }    if ("act8" in _json.object["flag"] -    && (_json.object["flag"]["act8"].type().to!string == "STRING") +    && (_json.object["flag"]["act8"].type().to!string == "string")    ) {      _struct_composite.conf.flag_act8 = _json.object["flag"]["act8"].str;    }    if ("act9" in _json.object["flag"] -    && (_json.object["flag"]["act9"].type().to!string == "STRING") +    && (_json.object["flag"]["act9"].type().to!string == "string")    ) {      _struct_composite.conf.flag_act9 = _json.object["flag"]["act9"].str;    }  }  if ("default" in _json.object) {    if ("papersize" in _json.object["default"] -    && (_json.object["default"]["papersize"].type().to!string == "STRING") +    && (_json.object["default"]["papersize"].type().to!string == "string")    ) {      _struct_composite.conf.default_papersize = _json.object["default"]["papersize"].str;    }    if ("text_wrap" in _json.object["default"] -    && (_json.object["default"]["text_wrap"].type().to!string == "STRING") +    && (_json.object["default"]["text_wrap"].type().to!string == "string")    ) {      _struct_composite.conf.default_text_wrap = _json.object["default"]["text_wrap"].str;    }    if ("emphasis" in _json.object["default"] -    && (_json.object["default"]["emphasis"].type().to!string == "STRING") +    && (_json.object["default"]["emphasis"].type().to!string == "string")    ) {      _struct_composite.conf.default_emphasis = _json.object["default"]["emphasis"].str;    }    if ("language" in _json.object["default"] -    && (_json.object["default"]["language"].type().to!string == "STRING") +    && (_json.object["default"]["language"].type().to!string == "string")    ) {      _struct_composite.conf.default_language = _json.object["default"]["language"].str;    }    if ("digest" in _json.object["default"] -    && (_json.object["default"]["digest"].type().to!string == "STRING") +    && (_json.object["default"]["digest"].type().to!string == "string")    ) {      _struct_composite.conf.default_digest = _json.object["default"]["digest"].str;    }  }  if ("search" in _json.object) {    if ("flag" in _json.object["search"] -    && (_json.object["search"]["flag"].type().to!string == "STRING") +    && (_json.object["search"]["flag"].type().to!string == "string")    ) {      _struct_composite.conf.search_flag = _json.object["search"]["flag"].str;    }    if ("action" in _json.object["search"] -    && (_json.object["search"]["action"].type().to!string == "STRING") +    && (_json.object["search"]["action"].type().to!string == "string")    ) {      _struct_composite.conf.search_action = _json.object["search"]["action"].str;    }    if ("db" in _json.object["search"] -    && (_json.object["search"]["db"].type().to!string == "STRING") +    && (_json.object["search"]["db"].type().to!string == "string")    ) {      _struct_composite.conf.search_db = _json.object["search"]["db"].str;    }    if ("title" in _json.object["search"] -    && (_json.object["search"]["title"].type().to!string == "STRING") +    && (_json.object["search"]["title"].type().to!string == "string")    ) {      _struct_composite.conf.search_title = _json.object["search"]["title"].str;    } @@ -821,64 +821,64 @@ if ("search" in _json.object) {  /+ meta ------------------------------------------------------------------- +/  if ("classify" in _json.object) {    if ("dewey" in _json.object["classify"] -    && (_json.object["classify"]["dewey"].type().to!string == "STRING") +    && (_json.object["classify"]["dewey"].type().to!string == "string")    ) {      _struct_composite.meta.classify_dewey = _json.object["classify"]["dewey"].str;    }    if ("keywords" in _json.object["classify"] -    && (_json.object["classify"]["keywords"].type().to!string == "STRING") +    && (_json.object["classify"]["keywords"].type().to!string == "string")    ) {      _struct_composite.meta.classify_keywords = _json.object["classify"]["keywords"].str;    }    if ("loc" in _json.object["classify"] -    && (_json.object["classify"]["loc"].type().to!string == "STRING") +    && (_json.object["classify"]["loc"].type().to!string == "string")    ) {      _struct_composite.meta.classify_loc = _json.object["classify"]["loc"].str;    }    if ("subject" in _json.object["classify"] -    && (_json.object["classify"]["subject"].type().to!string == "STRING") +    && (_json.object["classify"]["subject"].type().to!string == "string")    ) {      _struct_composite.meta.classify_subject = _json.object["classify"]["subject"].str;    }    if ("topic_register" in _json.object["classify"] -    && (_json.object["classify"]["topic_register"].type().to!string == "STRING") +    && (_json.object["classify"]["topic_register"].type().to!string == "string")    ) {      _struct_composite.meta.classify_topic_register = _json.object["classify"]["topic_register"].str;    }  }  if ("date" in _json.object) {    if ("added_to_site" in _json.object["date"] -    && (_json.object["date"]["added_to_site"].type().to!string == "STRING") +    && (_json.object["date"]["added_to_site"].type().to!string == "string")    ) {      _struct_composite.meta.date_added_to_site = _json.object["date"]["added_to_site"].str;    }    if ("available" in _json.object["date"] -    && (_json.object["date"]["available"].type().to!string == "STRING") +    && (_json.object["date"]["available"].type().to!string == "string")    ) {      _struct_composite.meta.date_available = _json.object["date"]["available"].str;    }    if ("created" in _json.object["date"] -    && (_json.object["date"]["created"].type().to!string == "STRING") +    && (_json.object["date"]["created"].type().to!string == "string")    ) {      _struct_composite.meta.date_created = _json.object["date"]["created"].str;    }    if ("issued" in _json.object["date"] -    && (_json.object["date"]["issued"].type().to!string == "STRING") +    && (_json.object["date"]["issued"].type().to!string == "string")    ) {      _struct_composite.meta.date_issued = _json.object["date"]["issued"].str;    }    if ("modified" in _json.object["date"] -    && (_json.object["date"]["modified"].type().to!string == "STRING") +    && (_json.object["date"]["modified"].type().to!string == "string")    ) {      _struct_composite.meta.date_modified = _json.object["date"]["modified"].str;    }    if ("published" in _json.object["date"] -    && (_json.object["date"]["published"].type().to!string == "STRING") +    && (_json.object["date"]["published"].type().to!string == "string")    ) {      _struct_composite.meta.date_published = _json.object["date"]["published"].str;    }    if ("valid" in _json.object["date"] -    && (_json.object["date"]["valid"].type().to!string == "STRING") +    && (_json.object["date"]["valid"].type().to!string == "string")    ) {      _struct_composite.meta.date_valid = _json.object["date"]["valid"].str;    } @@ -886,34 +886,34 @@ if ("date" in _json.object) {  if ("links" in _json.object) {}  if ("notes" in _json.object) {    if ("abstract" in _json.object["notes"] -    && (_json.object["notes"]["abstract"].type().to!string == "STRING") +    && (_json.object["notes"]["abstract"].type().to!string == "string")    ) {      _struct_composite.meta.notes_abstract = _json.object["notes"]["abstract"].str;    }    if ("description" in _json.object["notes"] -    && (_json.object["notes"]["description"].type().to!string == "STRING") +    && (_json.object["notes"]["description"].type().to!string == "string")    ) {      _struct_composite.meta.notes_description = _json.object["notes"]["description"].str;    }  }  if ("original" in _json.object) {    if ("language" in _json.object["original"] -    && (_json.object["original"]["language"].type().to!string == "STRING") +    && (_json.object["original"]["language"].type().to!string == "string")    ) {      _struct_composite.meta.original_language = _json.object["original"]["language"].str;    }    if ("language_char" in _json.object["original"] -    && (_json.object["original"]["language_char"].type().to!string == "STRING") +    && (_json.object["original"]["language_char"].type().to!string == "string")    ) {      _struct_composite.meta.original_language_char = _json.object["original"]["language_char"].str;    }    if ("source" in _json.object["original"] -    && (_json.object["original"]["source"].type().to!string == "STRING") +    && (_json.object["original"]["source"].type().to!string == "string")    ) {      _struct_composite.meta.original_source = _json.object["original"]["source"].str;    }    if ("title" in _json.object["original"] -    && (_json.object["original"]["title"].type().to!string == "STRING") +    && (_json.object["original"]["title"].type().to!string == "string")    ) {      _struct_composite.meta.original_title = _json.object["original"]["title"].str;    } @@ -921,47 +921,47 @@ if ("original" in _json.object) {  if ("publisher" in _json.object) {}  if ("rights" in _json.object) {    if ("copyright" in _json.object["rights"] -    && (_json.object["rights"]["copyright"].type().to!string == "STRING") +    && (_json.object["rights"]["copyright"].type().to!string == "string")    ) {      _struct_composite.meta.rights_copyright = _json.object["rights"]["copyright"].str;    }    if ("copyright_text" in _json.object["rights"] -    && (_json.object["rights"]["copyright_text"].type().to!string == "STRING") +    && (_json.object["rights"]["copyright_text"].type().to!string == "string")    ) {      _struct_composite.meta.rights_copyright_text = _json.object["rights"]["copyright_text"].str;    }    if ("copyright_audio" in _json.object["rights"] -    && (_json.object["rights"]["copyright_audio"].type().to!string == "STRING") +    && (_json.object["rights"]["copyright_audio"].type().to!string == "string")    ) {      _struct_composite.meta.rights_copyright_audio = _json.object["rights"]["copyright_audio"].str;    }    if ("copyright_cover" in _json.object["rights"] -    && (_json.object["rights"]["copyright_cover"].type().to!string == "STRING") +    && (_json.object["rights"]["copyright_cover"].type().to!string == "string")    ) {      _struct_composite.meta.rights_copyright_cover = _json.object["rights"]["copyright_cover"].str;    }    if ("copyright_illustrations" in _json.object["rights"] -    && (_json.object["rights"]["copyright_illustrations"].type().to!string == "STRING") +    && (_json.object["rights"]["copyright_illustrations"].type().to!string == "string")    ) {      _struct_composite.meta.rights_copyright_illustrations = _json.object["rights"]["copyright_illustrations"].str;    }    if ("copyright_photographs" in _json.object["rights"] -    && (_json.object["rights"]["copyright_photographs"].type().to!string == "STRING") +    && (_json.object["rights"]["copyright_photographs"].type().to!string == "string")    ) {      _struct_composite.meta.rights_copyright_photographs = _json.object["rights"]["copyright_photographs"].str;    }    if ("copyright_translation" in _json.object["rights"] -    && (_json.object["rights"]["copyright_translation"].type().to!string == "STRING") +    && (_json.object["rights"]["copyright_translation"].type().to!string == "string")    ) {      _struct_composite.meta.rights_copyright_translation = _json.object["rights"]["copyright_translation"].str;    }    if ("copyright_video" in _json.object["rights"] -    && (_json.object["rights"]["copyright_video"].type().to!string == "STRING") +    && (_json.object["rights"]["copyright_video"].type().to!string == "string")    ) {      _struct_composite.meta.rights_copyright_video = _json.object["rights"]["copyright_video"].str;    }    if ("license" in _json.object["rights"] -    && (_json.object["rights"]["license"].type().to!string == "STRING") +    && (_json.object["rights"]["license"].type().to!string == "string")    ) {      _struct_composite.meta.rights_license = _json.object["rights"]["license"].str;    } @@ -969,22 +969,22 @@ if ("rights" in _json.object) {  if (_struct_composite.meta.creator_author.empty) {    if ("creator" in _json.object) {      if ("author" in _json.object["creator"] -      && (_json.object["creator"]["author"].type().to!string == "STRING") +      && (_json.object["creator"]["author"].type().to!string == "string")      ) {        _struct_composite.meta.creator_author = _json.object["creator"]["author"].str;      }      if ("email" in _json.object["creator"] -      && (_json.object["creator"]["email"].type().to!string == "STRING") +      && (_json.object["creator"]["email"].type().to!string == "string")      ) {        _struct_composite.meta.creator_author_email = _json.object["creator"]["email"].str;      }      if ("illustrator" in _json.object["creator"] -      && (_json.object["creator"]["illustrator"].type().to!string == "STRING") +      && (_json.object["creator"]["illustrator"].type().to!string == "string")      ) {        _struct_composite.meta.creator_illustrator = _json.object["creator"]["illustrator"].str;      }      if ("translator" in _json.object["creator"] -      && (_json.object["creator"]["translator"].type().to!string == "STRING") +      && (_json.object["creator"]["translator"].type().to!string == "string")      ) {        _struct_composite.meta.creator_translator = _json.object["creator"]["translator"].str;      } @@ -998,39 +998,43 @@ if (_struct_composite.meta.creator_author.empty) {  }  if (_struct_composite.meta.title_main.empty) {    if ("title" in _json.object) { -    if ((_json.object["title"].type().to!string) == "STRING") { +    if ((_json.object["title"].type().to!string) == "string") {        _struct_composite.meta.title_main = _json.object["title"].str;      } else {        if ("edition" in _json.object["title"] -        && (_json.object["title"]["edition"].type().to!string == "STRING") +        && (_json.object["title"]["edition"].type().to!string == "string")        ) {          _struct_composite.meta.title_edition = _json.object["title"]["edition"].str;        }        if ("full" in _json.object["title"] -        && (_json.object["title"]["full"].type().to!string == "STRING") +        && (_json.object["title"]["full"].type().to!string == "string")        ) {}        if ("language" in _json.object["title"] -        && (_json.object["title"]["language"].type().to!string == "STRING") +        && (_json.object["title"]["language"].type().to!string == "string")        ) {          _struct_composite.meta.title_language = _json.object["title"]["language"].str;        }        if ("main" in _json.object["title"] -        && (_json.object["title"]["main"].type().to!string == "STRING") +        && (_json.object["title"]["main"].type().to!string == "string")        ) {          _struct_composite.meta.title_main = _json.object["title"]["main"].str; +      } else if ("title" in _json.object["title"] +        && (_json.object["title"]["title"].type().to!string == "string") +      ) { +        _struct_composite.meta.title_main = _json.object["title"]["title"].str;        }        if ("note" in _json.object["title"] -        && (_json.object["title"]["note"].type().to!string == "STRING") +        && (_json.object["title"]["note"].type().to!string == "string")        ) {          _struct_composite.meta.title_note = _json.object["title"]["note"].str;        }        if ("sub" in _json.object["title"] -        && (_json.object["title"]["sub"].type().to!string == "STRING") +        && (_json.object["title"]["sub"].type().to!string == "string")        ) {          _struct_composite.meta.title_sub = _json.object["title"]["sub"].str;        }        if ("subtitle" in _json.object["title"] -        && (_json.object["title"]["subtitle"].type().to!string == "STRING") +        && (_json.object["title"]["subtitle"].type().to!string == "string")        ) {          _struct_composite.meta.title_subtitle = _json.object["title"]["subtitle"].str;        } diff --git a/src/doc_reform/meta/conf_make_meta_json.d b/src/doc_reform/meta/conf_make_meta_json.d index cf4c21a..484747a 100644 --- a/src/doc_reform/meta/conf_make_meta_json.d +++ b/src/doc_reform/meta/conf_make_meta_json.d @@ -39,39 +39,39 @@ static template contentJSONtoDocReformStruct() {      /+ make ------------------------------------------------------------------- +/      if ("make" in _json.object) {        if ("bold" in _json.object["make"] -        && (_json.object["make"]["bold"].type().to!string == "STRING") +        && (_json.object["make"]["bold"].type().to!string == "string")        ) {          _struct_composite.make_str.bold = _json.object["make"]["bold"].str;        }        if ("breaks" in _json.object["make"] -        && (_json.object["make"]["breaks"].type().to!string == "STRING") +        && (_json.object["make"]["breaks"].type().to!string == "string")        ) {          _struct_composite.make_str.breaks = _json.object["make"]["breaks"].str;        }        if ("cover_image" in _json.object["make"] -        && (_json.object["make"]["cover_image"].type().to!string == "STRING") +        && (_json.object["make"]["cover_image"].type().to!string == "string")        ) {          _struct_composite.make_str.cover_image = _json.object["make"]["cover_image"].str;        }        if ("css" in _json.object["make"] -        && (_json.object["make"]["css"].type().to!string == "STRING") +        && (_json.object["make"]["css"].type().to!string == "string")        ) {          _struct_composite.make_str.css = _json.object["make"]["css"].str;        }        if ("emphasis" in _json.object["make"] -        && (_json.object["make"]["emphasis"].type().to!string == "STRING") +        && (_json.object["make"]["emphasis"].type().to!string == "string")        ) {          _struct_composite.make_str.emphasis = _json.object["make"]["emphasis"].str;        }        if ("footer" in _json.object["make"] -        && (_json.object["make"]["footer"].type().to!string == "STRING") +        && (_json.object["make"]["footer"].type().to!string == "string")        ) {          char[][] __match_footer_array            = (cast(char[]) _json.object["make"]["footer"].str)              .split(_rgx.make_heading_delimiter);          _struct_composite.make_str.footer = __match_footer_array.to!(string[]);        } else if ("footer" in _json.object["make"] -        && _json.object["make"]["footer"].type().to!string == "ARRAY") { +        && _json.object["make"]["footer"].type().to!string == "array") {          string[] _match_footer_array;          foreach (_match_heading; _json.object["make"]["footer"].arrayNoRef) {            _match_footer_array ~= _match_heading.str; @@ -79,14 +79,14 @@ static template contentJSONtoDocReformStruct() {          _struct_composite.make_str.footer = _match_footer_array;        }        if ("headings" in _json.object["make"] -        && (_json.object["make"]["headings"].type().to!string == "STRING") +        && (_json.object["make"]["headings"].type().to!string == "string")        ) {         char[][] __match_headings_array            = (cast(char[]) _json.object["make"]["headings"].str)              .split(_rgx.make_heading_delimiter);          _struct_composite.make_str.headings = __match_headings_array.to!(string[]);        } else if ("headings" in _json.object["make"] -        && _json.object["make"]["headings"].type().to!string == "ARRAY") { +        && _json.object["make"]["headings"].type().to!string == "array") {          string[] _match_headings_array;          foreach (_match_heading; _json.object["make"]["headings"].arrayNoRef) {            _match_headings_array ~= _match_heading.str; @@ -94,14 +94,14 @@ static template contentJSONtoDocReformStruct() {          _struct_composite.make_str.headings = _match_headings_array;        }        if ("home_button_image" in _json.object["make"] -        && (_json.object["make"]["home_button_image"].type().to!string == "STRING") +        && (_json.object["make"]["home_button_image"].type().to!string == "string")        ) {         char[][] __match_home_button_image_array            = (cast(char[]) _json.object["make"]["home_button_image"].str)              .split(_rgx.make_heading_delimiter);          _struct_composite.make_str.home_button_image = __match_home_button_image_array.to!(string[]);        } else if ("home_button_image" in _json.object["make"] -        && _json.object["make"]["home_button_image"].type().to!string == "ARRAY") { +        && _json.object["make"]["home_button_image"].type().to!string == "array") {          string[] _match_home_button_image_array;          foreach (_match_heading; _json.object["make"]["home_button_image"].arrayNoRef) {            _match_home_button_image_array ~= _match_heading.str; @@ -109,11 +109,11 @@ static template contentJSONtoDocReformStruct() {          _struct_composite.make_str.home_button_image = _match_home_button_image_array;        }        if ("home_button_text" in _json.object["make"] -        && (_json.object["make"]["home_button_text"].type().to!string == "STRING") +        && (_json.object["make"]["home_button_text"].type().to!string == "string")        ) {          _struct_composite.make_str.home_button_text = _json.object["make"]["home_button_text"].str;        } else if ("home_button_text" in _json.object["make"] -        && _json.object["make"]["home_button_text"].type().to!string == "ARRAY" +        && _json.object["make"]["home_button_text"].type().to!string == "array"        ) {          string[] _match_home_button_text_array;          foreach (_match_heading; _json.object["make"]["home_button_text"].arrayNoRef) { @@ -123,12 +123,12 @@ static template contentJSONtoDocReformStruct() {          _struct_composite.make_str.home_button_text = _match_home_button_text_str;        }        if ("italics" in _json.object["make"] -        && (_json.object["make"]["italics"].type().to!string == "STRING") +        && (_json.object["make"]["italics"].type().to!string == "string")        ) {          _struct_composite.make_str.italics = _json.object["make"]["italics"].str;        }        if ("auto_num_top_at_level" in _json.object["make"] // str == A - D, 1 - 4 -        && (_json.object["make"]["auto_num_top_at_level"].type().to!string == "STRING") +        && (_json.object["make"]["auto_num_top_at_level"].type().to!string == "string")        ) {          _struct_composite.make_str.auto_num_top_at_level = _json.object["make"]["auto_num_top_at_level"].str;          switch (_json.object["make"]["auto_num_top_at_level"].str) { @@ -157,26 +157,26 @@ static template contentJSONtoDocReformStruct() {        ) {          _struct_composite.make_str.auto_num_depth = _json.object["make"]["auto_num_depth"].integer.to!int;        } else if ("auto_num_depth" in _json.object["make"] -        && (_json.object["make"]["auto_num_depth"].type().to!string == "STRING") +        && (_json.object["make"]["auto_num_depth"].type().to!string == "string")        ) {          _struct_composite.make_str.auto_num_depth = _json.object["make"]["auto_num_depth"].str.to!int;        }        if ("substitute" in _json.object["make"]) {          string[][] _sub;          if ( -          (_json.object["make"]["substitute"].type().to!string == "ARRAY") -          && (_json.object["make"]["substitute"][0].type().to!string == "ARRAY") +          (_json.object["make"]["substitute"].type().to!string == "array") +          && (_json.object["make"]["substitute"][0].type().to!string == "array")          ) {            foreach (substitute_pair; _json.object["make"]["substitute"].arrayNoRef) { -            if ((substitute_pair.type().to!string) == "ARRAY") { +            if ((substitute_pair.type().to!string) == "array") {                if (!empty(substitute_pair[0].str) && !empty(substitute_pair[1].str)) {                  _sub ~= [ substitute_pair[0].str,  substitute_pair[1].str];                }              }            }          } else if ( -          (_json.object["make"]["substitute"].type().to!string == "ARRAY") -          && (_json.object["make"]["substitute"][0].type().to!string == "STRING") +          (_json.object["make"]["substitute"].type().to!string == "array") +          && (_json.object["make"]["substitute"][0].type().to!string == "string")          ) {             if (!empty(_json.object["make"]["substitute"][0].str) && !empty(_json.object["make"]["substitute"][1].str)) {               _sub = [[_json.object["make"]["substitute"][0].str, _json.object["make"]["substitute"][1].str]]; @@ -186,7 +186,7 @@ static template contentJSONtoDocReformStruct() {          _struct_composite.make_str.substitute  = _sub;        }        if ("texpdf_font" in _json.object["make"] -        && (_json.object["make"]["texpdf_font"].type().to!string == "STRING") +        && (_json.object["make"]["texpdf_font"].type().to!string == "string")        ) {          _struct_composite.make_str.texpdf_font  = _json.object["make"]["texpdf_font"].str;        } @@ -209,7 +209,7 @@ static template contentJSONtoDocReformStruct() {      /+ conf ------------------------------------------------------------------- +/      if ("webserv" in _json.object) {        if ("url_root" in _json.object["webserv"] -        && (_json.object["webserv"]["url_root"].type().to!string == "STRING") +        && (_json.object["webserv"]["url_root"].type().to!string == "string")        ) {          _struct_composite.conf.webserv_url_doc_root = _json.object["webserv"]["url_root"].str;          if (auto m = _struct_composite.conf.webserv_url_doc_root.match(_rgx.webserv_url_doc_root)) { @@ -218,155 +218,155 @@ static template contentJSONtoDocReformStruct() {          }        }        if ("images" in _json.object["webserv"] -        && (_json.object["webserv"]["images"].type().to!string == "STRING") +        && (_json.object["webserv"]["images"].type().to!string == "string")        ) {          _struct_composite.conf.webserv_images = _json.object["webserv"]["images"].str;        }        if ("cgi" in _json.object["webserv"] -        && (_json.object["webserv"]["cgi"].type().to!string == "STRING") +        && (_json.object["webserv"]["cgi"].type().to!string == "string")        ) {          _struct_composite.conf.webserv_cgi = _json.object["webserv"]["cgi"].str;        }        if ("cgi_host" in _json.object["webserv"] -        && (_json.object["webserv"]["cgi_host"].type().to!string == "STRING") +        && (_json.object["webserv"]["cgi_host"].type().to!string == "string")        ) {          _struct_composite.conf.webserv_cgi_host = _json.object["webserv"]["cgi_host"].str;        }        if ("cgi_host_path" in _json.object["webserv"] -        && (_json.object["webserv"]["cgi_host_path"].type().to!string == "STRING") +        && (_json.object["webserv"]["cgi_host_path"].type().to!string == "string")        ) {          _struct_composite.conf.webserv_cgi_host_path = _json.object["webserv"]["cgi_host_path"].str;        }        if ("cgi_port" in _json.object["webserv"] -        && (_json.object["webserv"]["cgi_port"].type().to!string == "STRING") +        && (_json.object["webserv"]["cgi_port"].type().to!string == "string")        ) {          _struct_composite.conf.webserv_cgi_port = _json.object["webserv"]["cgi_port"].str;        }        if ("cgi_user" in _json.object["webserv"] -        && (_json.object["webserv"]["cgi_user"].type().to!string == "STRING") +        && (_json.object["webserv"]["cgi_user"].type().to!string == "string")        ) {          _struct_composite.conf.webserv_cgi_user = _json.object["webserv"]["cgi_user"].str;        }        if ("cgi_file_links" in _json.object["webserv"] -        && (_json.object["webserv"]["cgi_file_links"].type().to!string == "STRING") +        && (_json.object["webserv"]["cgi_file_links"].type().to!string == "string")        ) {          _struct_composite.conf.webserv_cgi_file_links = _json.object["webserv"]["cgi_file_links"].str;        }      }      if ("processing" in _json.object) {        if ("path" in _json.object["processing"] -        && (_json.object["processing"]["path"].type().to!string == "STRING") +        && (_json.object["processing"]["path"].type().to!string == "string")        ) {          _struct_composite.conf.processing_path = _json.object["processing"]["path"].str;        }        if ("dir" in _json.object["processing"] -        && (_json.object["processing"]["dir"].type().to!string == "STRING") +        && (_json.object["processing"]["dir"].type().to!string == "string")        ) {          _struct_composite.conf.processing_dir = _json.object["processing"]["dir"].str;        }        if ("concord_max" in _json.object["processing"] -        && (_json.object["processing"]["concord_max"].type().to!string == "STRING") +        && (_json.object["processing"]["concord_max"].type().to!string == "string")        ) {          _struct_composite.conf.processing_concord_max = _json.object["processing"]["concord_max"].str;        }      }      if ("flag" in _json.object) {        if ("act0" in _json.object["flag"] -        && (_json.object["flag"]["act0"].type().to!string == "STRING") +        && (_json.object["flag"]["act0"].type().to!string == "string")        ) {          _struct_composite.conf.flag_act0 = _json.object["flag"]["act0"].str;        }        if ("act1" in _json.object["flag"] -        && (_json.object["flag"]["act1"].type().to!string == "STRING") +        && (_json.object["flag"]["act1"].type().to!string == "string")        ) {          _struct_composite.conf.flag_act1 = _json.object["flag"]["act1"].str;        }        if ("act2" in _json.object["flag"] -        && (_json.object["flag"]["act2"].type().to!string == "STRING") +        && (_json.object["flag"]["act2"].type().to!string == "string")        ) {          _struct_composite.conf.flag_act2 = _json.object["flag"]["act2"].str;        }        if ("act3" in _json.object["flag"] -        && (_json.object["flag"]["act3"].type().to!string == "STRING") +        && (_json.object["flag"]["act3"].type().to!string == "string")        ) {          _struct_composite.conf.flag_act3 = _json.object["flag"]["act3"].str;        }        if ("act4" in _json.object["flag"] -        && (_json.object["flag"]["act4"].type().to!string == "STRING") +        && (_json.object["flag"]["act4"].type().to!string == "string")        ) {          _struct_composite.conf.flag_act4 = _json.object["flag"]["act4"].str;        }        if ("act5" in _json.object["flag"] -        && (_json.object["flag"]["act5"].type().to!string == "STRING") +        && (_json.object["flag"]["act5"].type().to!string == "string")        ) {          _struct_composite.conf.flag_act5 = _json.object["flag"]["act5"].str;        }        if ("act6" in _json.object["flag"] -        && (_json.object["flag"]["act6"].type().to!string == "STRING") +        && (_json.object["flag"]["act6"].type().to!string == "string")        ) {          _struct_composite.conf.flag_act6 = _json.object["flag"]["act6"].str;        }        if ("act7" in _json.object["flag"] -        && (_json.object["flag"]["act7"].type().to!string == "STRING") +        && (_json.object["flag"]["act7"].type().to!string == "string")        ) {          _struct_composite.conf.flag_act7 = _json.object["flag"]["act7"].str;        }        if ("act8" in _json.object["flag"] -        && (_json.object["flag"]["act8"].type().to!string == "STRING") +        && (_json.object["flag"]["act8"].type().to!string == "string")        ) {          _struct_composite.conf.flag_act8 = _json.object["flag"]["act8"].str;        }        if ("act9" in _json.object["flag"] -        && (_json.object["flag"]["act9"].type().to!string == "STRING") +        && (_json.object["flag"]["act9"].type().to!string == "string")        ) {          _struct_composite.conf.flag_act9 = _json.object["flag"]["act9"].str;        }      }      if ("default" in _json.object) {        if ("papersize" in _json.object["default"] -        && (_json.object["default"]["papersize"].type().to!string == "STRING") +        && (_json.object["default"]["papersize"].type().to!string == "string")        ) {          _struct_composite.conf.default_papersize = _json.object["default"]["papersize"].str;        }        if ("text_wrap" in _json.object["default"] -        && (_json.object["default"]["text_wrap"].type().to!string == "STRING") +        && (_json.object["default"]["text_wrap"].type().to!string == "string")        ) {          _struct_composite.conf.default_text_wrap = _json.object["default"]["text_wrap"].str;        }        if ("emphasis" in _json.object["default"] -        && (_json.object["default"]["emphasis"].type().to!string == "STRING") +        && (_json.object["default"]["emphasis"].type().to!string == "string")        ) {          _struct_composite.conf.default_emphasis = _json.object["default"]["emphasis"].str;        }        if ("language" in _json.object["default"] -        && (_json.object["default"]["language"].type().to!string == "STRING") +        && (_json.object["default"]["language"].type().to!string == "string")        ) {          _struct_composite.conf.default_language = _json.object["default"]["language"].str;        }        if ("digest" in _json.object["default"] -        && (_json.object["default"]["digest"].type().to!string == "STRING") +        && (_json.object["default"]["digest"].type().to!string == "string")        ) {          _struct_composite.conf.default_digest = _json.object["default"]["digest"].str;        }      }      if ("search" in _json.object) {        if ("flag" in _json.object["search"] -        && (_json.object["search"]["flag"].type().to!string == "STRING") +        && (_json.object["search"]["flag"].type().to!string == "string")        ) {          _struct_composite.conf.search_flag = _json.object["search"]["flag"].str;        }        if ("action" in _json.object["search"] -        && (_json.object["search"]["action"].type().to!string == "STRING") +        && (_json.object["search"]["action"].type().to!string == "string")        ) {          _struct_composite.conf.search_action = _json.object["search"]["action"].str;        }        if ("db" in _json.object["search"] -        && (_json.object["search"]["db"].type().to!string == "STRING") +        && (_json.object["search"]["db"].type().to!string == "string")        ) {          _struct_composite.conf.search_db = _json.object["search"]["db"].str;        }        if ("title" in _json.object["search"] -        && (_json.object["search"]["title"].type().to!string == "STRING") +        && (_json.object["search"]["title"].type().to!string == "string")        ) {          _struct_composite.conf.search_title = _json.object["search"]["title"].str;        } @@ -374,64 +374,64 @@ static template contentJSONtoDocReformStruct() {      /+ meta ------------------------------------------------------------------- +/      if ("classify" in _json.object) {        if ("dewey" in _json.object["classify"] -        && (_json.object["classify"]["dewey"].type().to!string == "STRING") +        && (_json.object["classify"]["dewey"].type().to!string == "string")        ) {          _struct_composite.meta.classify_dewey = _json.object["classify"]["dewey"].str;        }        if ("keywords" in _json.object["classify"] -        && (_json.object["classify"]["keywords"].type().to!string == "STRING") +        && (_json.object["classify"]["keywords"].type().to!string == "string")        ) {          _struct_composite.meta.classify_keywords = _json.object["classify"]["keywords"].str;        }        if ("loc" in _json.object["classify"] -        && (_json.object["classify"]["loc"].type().to!string == "STRING") +        && (_json.object["classify"]["loc"].type().to!string == "string")        ) {          _struct_composite.meta.classify_loc = _json.object["classify"]["loc"].str;        }        if ("subject" in _json.object["classify"] -        && (_json.object["classify"]["subject"].type().to!string == "STRING") +        && (_json.object["classify"]["subject"].type().to!string == "string")        ) {          _struct_composite.meta.classify_subject = _json.object["classify"]["subject"].str;        }        if ("topic_register" in _json.object["classify"] -        && (_json.object["classify"]["topic_register"].type().to!string == "STRING") +        && (_json.object["classify"]["topic_register"].type().to!string == "string")        ) {          _struct_composite.meta.classify_topic_register = _json.object["classify"]["topic_register"].str;        }      }      if ("date" in _json.object) {        if ("added_to_site" in _json.object["date"] -        && (_json.object["date"]["added_to_site"].type().to!string == "STRING") +        && (_json.object["date"]["added_to_site"].type().to!string == "string")        ) {          _struct_composite.meta.date_added_to_site = _json.object["date"]["added_to_site"].str;        }        if ("available" in _json.object["date"] -        && (_json.object["date"]["available"].type().to!string == "STRING") +        && (_json.object["date"]["available"].type().to!string == "string")        ) {          _struct_composite.meta.date_available = _json.object["date"]["available"].str;        }        if ("created" in _json.object["date"] -        && (_json.object["date"]["created"].type().to!string == "STRING") +        && (_json.object["date"]["created"].type().to!string == "string")        ) {          _struct_composite.meta.date_created = _json.object["date"]["created"].str;        }        if ("issued" in _json.object["date"] -        && (_json.object["date"]["issued"].type().to!string == "STRING") +        && (_json.object["date"]["issued"].type().to!string == "string")        ) {          _struct_composite.meta.date_issued = _json.object["date"]["issued"].str;        }        if ("modified" in _json.object["date"] -        && (_json.object["date"]["modified"].type().to!string == "STRING") +        && (_json.object["date"]["modified"].type().to!string == "string")        ) {          _struct_composite.meta.date_modified = _json.object["date"]["modified"].str;        }        if ("published" in _json.object["date"] -        && (_json.object["date"]["published"].type().to!string == "STRING") +        && (_json.object["date"]["published"].type().to!string == "string")        ) {          _struct_composite.meta.date_published = _json.object["date"]["published"].str;        }        if ("valid" in _json.object["date"] -        && (_json.object["date"]["valid"].type().to!string == "STRING") +        && (_json.object["date"]["valid"].type().to!string == "string")        ) {          _struct_composite.meta.date_valid = _json.object["date"]["valid"].str;        } @@ -439,34 +439,34 @@ static template contentJSONtoDocReformStruct() {      if ("links" in _json.object) {}      if ("notes" in _json.object) {        if ("abstract" in _json.object["notes"] -        && (_json.object["notes"]["abstract"].type().to!string == "STRING") +        && (_json.object["notes"]["abstract"].type().to!string == "string")        ) {          _struct_composite.meta.notes_abstract = _json.object["notes"]["abstract"].str;        }        if ("description" in _json.object["notes"] -        && (_json.object["notes"]["description"].type().to!string == "STRING") +        && (_json.object["notes"]["description"].type().to!string == "string")        ) {          _struct_composite.meta.notes_description = _json.object["notes"]["description"].str;        }      }      if ("original" in _json.object) {        if ("language" in _json.object["original"] -        && (_json.object["original"]["language"].type().to!string == "STRING") +        && (_json.object["original"]["language"].type().to!string == "string")        ) {          _struct_composite.meta.original_language = _json.object["original"]["language"].str;        }        if ("language_char" in _json.object["original"] -        && (_json.object["original"]["language_char"].type().to!string == "STRING") +        && (_json.object["original"]["language_char"].type().to!string == "string")        ) {          _struct_composite.meta.original_language_char = _json.object["original"]["language_char"].str;        }        if ("source" in _json.object["original"] -        && (_json.object["original"]["source"].type().to!string == "STRING") +        && (_json.object["original"]["source"].type().to!string == "string")        ) {          _struct_composite.meta.original_source = _json.object["original"]["source"].str;        }        if ("title" in _json.object["original"] -        && (_json.object["original"]["title"].type().to!string == "STRING") +        && (_json.object["original"]["title"].type().to!string == "string")        ) {          _struct_composite.meta.original_title = _json.object["original"]["title"].str;        } @@ -474,47 +474,47 @@ static template contentJSONtoDocReformStruct() {      if ("publisher" in _json.object) {}      if ("rights" in _json.object) {        if ("copyright" in _json.object["rights"] -        && (_json.object["rights"]["copyright"].type().to!string == "STRING") +        && (_json.object["rights"]["copyright"].type().to!string == "string")        ) {          _struct_composite.meta.rights_copyright = _json.object["rights"]["copyright"].str;        }        if ("copyright_text" in _json.object["rights"] -        && (_json.object["rights"]["copyright_text"].type().to!string == "STRING") +        && (_json.object["rights"]["copyright_text"].type().to!string == "string")        ) {          _struct_composite.meta.rights_copyright_text = _json.object["rights"]["copyright_text"].str;        }        if ("copyright_audio" in _json.object["rights"] -        && (_json.object["rights"]["copyright_audio"].type().to!string == "STRING") +        && (_json.object["rights"]["copyright_audio"].type().to!string == "string")        ) {          _struct_composite.meta.rights_copyright_audio = _json.object["rights"]["copyright_audio"].str;        }        if ("copyright_cover" in _json.object["rights"] -        && (_json.object["rights"]["copyright_cover"].type().to!string == "STRING") +        && (_json.object["rights"]["copyright_cover"].type().to!string == "string")        ) {          _struct_composite.meta.rights_copyright_cover = _json.object["rights"]["copyright_cover"].str;        }        if ("copyright_illustrations" in _json.object["rights"] -        && (_json.object["rights"]["copyright_illustrations"].type().to!string == "STRING") +        && (_json.object["rights"]["copyright_illustrations"].type().to!string == "string")        ) {          _struct_composite.meta.rights_copyright_illustrations = _json.object["rights"]["copyright_illustrations"].str;        }        if ("copyright_photographs" in _json.object["rights"] -        && (_json.object["rights"]["copyright_photographs"].type().to!string == "STRING") +        && (_json.object["rights"]["copyright_photographs"].type().to!string == "string")        ) {          _struct_composite.meta.rights_copyright_photographs = _json.object["rights"]["copyright_photographs"].str;        }        if ("copyright_translation" in _json.object["rights"] -        && (_json.object["rights"]["copyright_translation"].type().to!string == "STRING") +        && (_json.object["rights"]["copyright_translation"].type().to!string == "string")        ) {          _struct_composite.meta.rights_copyright_translation = _json.object["rights"]["copyright_translation"].str;        }        if ("copyright_video" in _json.object["rights"] -        && (_json.object["rights"]["copyright_video"].type().to!string == "STRING") +        && (_json.object["rights"]["copyright_video"].type().to!string == "string")        ) {          _struct_composite.meta.rights_copyright_video = _json.object["rights"]["copyright_video"].str;        }        if ("license" in _json.object["rights"] -        && (_json.object["rights"]["license"].type().to!string == "STRING") +        && (_json.object["rights"]["license"].type().to!string == "string")        ) {          _struct_composite.meta.rights_license = _json.object["rights"]["license"].str;        } @@ -522,22 +522,22 @@ static template contentJSONtoDocReformStruct() {      if (_struct_composite.meta.creator_author.empty) {        if ("creator" in _json.object) {          if ("author" in _json.object["creator"] -          && (_json.object["creator"]["author"].type().to!string == "STRING") +          && (_json.object["creator"]["author"].type().to!string == "string")          ) {            _struct_composite.meta.creator_author = _json.object["creator"]["author"].str;          }          if ("email" in _json.object["creator"] -          && (_json.object["creator"]["email"].type().to!string == "STRING") +          && (_json.object["creator"]["email"].type().to!string == "string")          ) {            _struct_composite.meta.creator_author_email = _json.object["creator"]["email"].str;          }          if ("illustrator" in _json.object["creator"] -          && (_json.object["creator"]["illustrator"].type().to!string == "STRING") +          && (_json.object["creator"]["illustrator"].type().to!string == "string")          ) {            _struct_composite.meta.creator_illustrator = _json.object["creator"]["illustrator"].str;          }          if ("translator" in _json.object["creator"] -          && (_json.object["creator"]["translator"].type().to!string == "STRING") +          && (_json.object["creator"]["translator"].type().to!string == "string")          ) {            _struct_composite.meta.creator_translator = _json.object["creator"]["translator"].str;          } @@ -551,39 +551,43 @@ static template contentJSONtoDocReformStruct() {      }      if (_struct_composite.meta.title_main.empty) {        if ("title" in _json.object) { -        if ((_json.object["title"].type().to!string) == "STRING") { +        if ((_json.object["title"].type().to!string) == "string") {            _struct_composite.meta.title_main = _json.object["title"].str;          } else {            if ("edition" in _json.object["title"] -            && (_json.object["title"]["edition"].type().to!string == "STRING") +            && (_json.object["title"]["edition"].type().to!string == "string")            ) {              _struct_composite.meta.title_edition = _json.object["title"]["edition"].str;            }            if ("full" in _json.object["title"] -            && (_json.object["title"]["full"].type().to!string == "STRING") +            && (_json.object["title"]["full"].type().to!string == "string")            ) {}            if ("language" in _json.object["title"] -            && (_json.object["title"]["language"].type().to!string == "STRING") +            && (_json.object["title"]["language"].type().to!string == "string")            ) {              _struct_composite.meta.title_language = _json.object["title"]["language"].str;            }            if ("main" in _json.object["title"] -            && (_json.object["title"]["main"].type().to!string == "STRING") +            && (_json.object["title"]["main"].type().to!string == "string")            ) {              _struct_composite.meta.title_main = _json.object["title"]["main"].str; +          } else if ("title" in _json.object["title"] +            && (_json.object["title"]["title"].type().to!string == "string") +          ) { +            _struct_composite.meta.title_main = _json.object["title"]["title"].str;            }            if ("note" in _json.object["title"] -            && (_json.object["title"]["note"].type().to!string == "STRING") +            && (_json.object["title"]["note"].type().to!string == "string")            ) {              _struct_composite.meta.title_note = _json.object["title"]["note"].str;            }            if ("sub" in _json.object["title"] -            && (_json.object["title"]["sub"].type().to!string == "STRING") +            && (_json.object["title"]["sub"].type().to!string == "string")            ) {              _struct_composite.meta.title_sub = _json.object["title"]["sub"].str;            }            if ("subtitle" in _json.object["title"] -            && (_json.object["title"]["subtitle"].type().to!string == "STRING") +            && (_json.object["title"]["subtitle"].type().to!string == "string")            ) {              _struct_composite.meta.title_subtitle = _json.object["title"]["subtitle"].str;            } | 
