diff --git a/relative-json-pointer.xml b/relative-json-pointer.xml index 0521fac2..084a95e4 100644 --- a/relative-json-pointer.xml +++ b/relative-json-pointer.xml @@ -12,7 +12,7 @@ - + Relative JSON Pointers @@ -83,35 +83,31 @@ A Relative JSON Pointer is a Unicode string in UTF-8 encoding (see RFC 8259, Section 8), comprising a non-negative integer, - followed by either a '#' (%x23) character or a JSON Pointer - (RFC 6901). + an optional index adjustment consisting of '+' (%x2B) or '-' (%x2D) followed + by a positive integer, followed by either a '#' (%x23) character or + a JSON Pointer (RFC 6901). - The separation between the integer prefix and the JSON Pointer will + The separation between the integer prefix (with optional adjustment) + and the JSON Pointer will always be unambiguous, because a JSON Pointer must be either zero- length or start with a '/' (%x2F). Similarly, a JSON Pointer will never be ambiguous with the '#'. -
- - The ABNF syntax of a Relative JSON Pointer is: - - - - relative-json-pointer =/ non-negative-integer "#" - index-manipulation = ("+" / "-") non-negative-integer - non-negative-integer = %x30 / %x31-39 *( %x30-39 ) - ; "0", or digits without a leading "0" -]]> - - - where <json-pointer> follows the production defined in - RFC 6901, Section 3 ("Syntax"). - -
+ The ABNF syntax of a Relative JSON Pointer is: +
@@ -203,7 +199,7 @@ @@ -329,6 +325,12 @@ + + + Fix ABNF omission for using # with index manipulation + Clarify handling of leading "0" + + Add array forward and backward index manipulation