From bba59dfe2664e534b78630be2f36303636a365e9 Mon Sep 17 00:00:00 2001 From: mxngls Date: Fri, 17 Apr 2026 07:33:20 +0900 Subject: [PATCH] Document rationale for ! as escape character in 2.2 --- spec.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spec.md b/spec.md index 5f40029..e6d5a23 100644 --- a/spec.md +++ b/spec.md @@ -82,6 +82,8 @@ subject.cid -- "bafyreicuxyp5rmsrqsf3v63ww6gc3j7q6cp7qyk6bv47c3bqkj2gzswiqq" Object field names can be arbitrary strings, so RecordPath needs to disambiguate its own syntax when fields contain syntax characters. +The backslash is the conventional escape character in many languages and systems, but as per the URL-unreserved character constraint in section 1, it cannot be used here. The exclamation mark ! serves as its replacement. + RecordPath has six syntax characters, which must be escaped by a preceeding `!` if they appear in a field name in the path. | Literal | Escaped | Syntax hint | -- 2.51.2