diff options
| author | Ralph Amissah <ralph.amissah@gmail.com> | 2026-09-30 16:18:59 -0400 |
|---|---|---|
| committer | Ralph Amissah <ralph.amissah@gmail.com> | 2026-09-30 23:14:23 -0400 |
| commit | 993a3f655359f98dc26d3d3222e07792e2ccddf7 (patch) | |
| tree | 1633a8183b2affec4a2951c8357ab89e9073bd25 /src/sisudoc/ocda/abstraction/ssp_in.d | |
| parent | search database: show all included notes (diff) | |
abstraction 2.1: a poem states its object range
- A poem is a container of verse, and stores its range of verse ocn,
- its verse are the citable units with ocn.
- A note in the last verse of a poem previously was not gathered into
the endnotes section, this now is fixed
Format 2.0 -> 2.1: the property is an addition, the poem is not a
citable object (but contans a range of objects), its verse are
(individual citable objects), and every reader checks the major version.
A 2.0 database reads as having no ranges.
(assisted by Claude-Code)
Diffstat (limited to 'src/sisudoc/ocda/abstraction/ssp_in.d')
| -rw-r--r-- | src/sisudoc/ocda/abstraction/ssp_in.d | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/sisudoc/ocda/abstraction/ssp_in.d b/src/sisudoc/ocda/abstraction/ssp_in.d index 0e461ad..0c67ab2 100644 --- a/src/sisudoc/ocda/abstraction/ssp_in.d +++ b/src/sisudoc/ocda/abstraction/ssp_in.d @@ -76,7 +76,7 @@ template spineAbstractionRead() { object sections in the order the file gives them +/ struct SSPdocument { - string format; // "% SiSU Document Abstraction v2.0" + string format; // "% SiSU Document Abstraction v2.1" string source; // "% Source: ..." string[string] source_info; // the @source block string[] source_info_order; @@ -230,6 +230,14 @@ template spineAbstractionRead() { case "section": obj.metainfo.is_of_section = _val; break; case "parent": obj.metainfo.parent_ocn = _val.to!int; break; case "last_descendant": obj.metainfo.last_descendant_ocn = _val.to!int; break; + case "ocn_range": { + auto _r = _ints(_val); + if (_r.length == 2) { + obj.metainfo.ocn_range_first = _r[0]; + obj.metainfo.ocn_range_last = _r[1]; + } + break; + } case "children": obj.metainfo.children_headings = _ints(_val); break; case "ancestors": obj.metainfo.markedup_ancestors = _eight(_val); |
