aboutsummaryrefslogtreecommitdiffstats
path: root/include/serd/writer.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/serd/writer.h')
-rw-r--r--include/serd/writer.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/serd/writer.h b/include/serd/writer.h
index bf54c46c..e3915a86 100644
--- a/include/serd/writer.h
+++ b/include/serd/writer.h
@@ -42,6 +42,10 @@ typedef enum {
Although all the supported syntaxes are UTF-8 by definition, this can be
used to escape all non-ASCII characters so that data will survive
transmission through ASCII-only channels.
+
+ Non-printable-ASCII characters will be written as "U" escapes like
+ "\u007F" in string literals, and as hex-encoded UTF-8 bytes like "%07F" in
+ URIs.
*/
SERD_WRITE_ASCII = 1U << 0U,
@@ -96,6 +100,18 @@ typedef enum {
implicit context, so it will only be readable in a suitable enviromnent.
*/
SERD_WRITE_CONTEXTUAL = 1U << 6U,
+
+ /**
+ Escape additional characters in RDF Test Cases format.
+
+ This writes "extended" characters as printable ASCII, using "U" escapes in
+ URIs instead of hex-encoding (escapes like "\u007F" instead of "%7F").
+ This is the format used by the outputs in the Turtle test suite (which
+ predates RDF 1.1 NTriples). This style makes NTriples output
+ non-canonical, so it generally shouldn't be used except for compatibility
+ purposes. See <https://www.w3.org/TR/rdf-testcases/>.
+ */
+ SERD_WRITE_ESCAPES = 1U << 7U,
} SerdWriterFlag;
/// Bitwise OR of #SerdWriterFlag values