aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sisudoc/ocda/abstraction/ssp.d
diff options
context:
space:
mode:
Diffstat (limited to 'src/sisudoc/ocda/abstraction/ssp.d')
-rw-r--r--src/sisudoc/ocda/abstraction/ssp.d12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/sisudoc/ocda/abstraction/ssp.d b/src/sisudoc/ocda/abstraction/ssp.d
index 6b487d7..487a33b 100644
--- a/src/sisudoc/ocda/abstraction/ssp.d
+++ b/src/sisudoc/ocda/abstraction/ssp.d
@@ -61,7 +61,9 @@ module sisudoc.ocda.abstraction.ssp;
1.1 2026-09-10 @source block; the document metadata the output writers
read carried in full (14 meta and 3 make properties
- added); was 0.1
+ added); .segment_lv4_is, the segment a cross
+ reference to a heading above level 4 lands on;
+ was 0.1
+/
enum ssp_format_version = "1.1";
enum ssp_format_version_major = "1";
@@ -380,6 +382,14 @@ template sspObjectRecord() {
if (obj.tags.epub_segment_anchor_tag_is.length > 0) {
output ~= ".segment_epub_is: " ~ obj.tags.epub_segment_anchor_tag_is;
}
+ /+ ↓ the level 4 segment a cross reference to this heading lands on,
+ emitted only where it is not the segment the heading sits in, which
+ is every heading at level 4 or below +/
+ if (obj.tags.segment_lv4_is.length > 0
+ && obj.tags.segment_lv4_is != obj.tags.html_segment_anchor_tag_is
+ ) {
+ output ~= ".segment_lv4_is: " ~ obj.tags.segment_lv4_is;
+ }
/+ ↓ heading ancestors text +/
{
bool has_hat = false;