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.d11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/sisudoc/ocda/abstraction/ssp.d b/src/sisudoc/ocda/abstraction/ssp.d
index 6aa55c2..3e80956 100644
--- a/src/sisudoc/ocda/abstraction/ssp.d
+++ b/src/sisudoc/ocda/abstraction/ssp.d
@@ -414,7 +414,11 @@ template spineAbstractionTxt() {
import std.string;
import std.array;
mixin sspObjectRecord;
- void spineAbstractionTxt(D)(D doc) {
+ /+ ↓ the whole .ssp for a document, as lines. the file writer below emits
+ these, and the abstraction db is built by reading them back, so the
+ database cannot carry anything the .ssp does not
+ +/
+ string[] sspDocumentLines(D)(D doc) {
auto doc_abstraction = doc.abstraction;
auto doc_matters = doc.matters;
string[] output;
@@ -556,6 +560,11 @@ template spineAbstractionTxt() {
output ~= "}";
output ~= "";
}
+ return output;
+ }
+ void spineAbstractionTxt(D)(D doc) {
+ auto doc_matters = doc.matters;
+ string[] output = sspDocumentLines(doc);
/+ ↓ write to file +/
/+ path: <output_path>/<language>/abstraction/<doc_uid_out>.ssp +/
string out_root = (doc_matters.output_path.length > 0)