diff options
author | David Robillard <d@drobilla.net> | 2023-03-31 20:32:26 -0400 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2023-12-02 18:49:08 -0500 |
commit | 0db18e483f11ac2f9518d96e137d217040ed1339 (patch) | |
tree | 8c1c77bdae31d55f311c89356483e873be81bb90 /src | |
parent | a1b677851274b7e5295962658e723cab007f9b85 (diff) | |
download | serd-0db18e483f11ac2f9518d96e137d217040ed1339.tar.gz serd-0db18e483f11ac2f9518d96e137d217040ed1339.tar.bz2 serd-0db18e483f11ac2f9518d96e137d217040ed1339.zip |
Add "contextual" output option
This is mainly for developer or power-user cases, where one wants to look at
some data for investigation or debugging. In such cases, it's common for the
set of prefixes to be implicitly known (because they are baked in to the
application, for example), so printing them just produces a large amount of
redundant noise.
That said, it can also be useful programmatically, because it allows several
snippets to be written independently and ultimately concatenated (with a header
to define the prefixes) without redundancy.
Diffstat (limited to 'src')
-rw-r--r-- | src/writer.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/writer.c b/src/writer.c index 30b8bb4e..7b821145 100644 --- a/src/writer.c +++ b/src/writer.c @@ -1434,6 +1434,10 @@ serd_writer_set_prefix(SerdWriter* writer, if (writer->syntax == SERD_TURTLE || writer->syntax == SERD_TRIG) { TRY(st, terminate_context(writer)); + if (writer->flags & SERD_WRITE_CONTEXTUAL) { + return st; + } + TRY(st, esink("@prefix ", 8, writer)); TRY(st, esink(serd_node_string(name), name->length, writer)); TRY(st, esink(": <", 3, writer)); |