Subject: [Jsonpath] Re: [Technical Errata Reported] RFC9485 (7990)
From: Carsten Bormann <[email-masked]>
To: RFC Errata System <[email-masked]>
Cc: Tim Bray <[email-masked]>, "Murray S. Kucherawy" <[email-masked]>, [email-masked], [email-masked], [email-masked], [email-masked]
Date: Thu, 13 Jun 2024 22:00:54 +0200
List-Id: Discussion of JSONPath syntax <jsonpath.ietf.org>

Hi Björn,

thank you for your attention and this report.

However, I need to argue for rejecting this specific report.

On 2024-06-13, at 20:57, RFC Errata System <[email-masked]> wrote:
> 
> `\S` excludes the form feed and vertical tabulation characters in Perl, ECMAScript, and other implementations, while the suggested replacement includes them. Given the entire document is about interoperable regular expressions, misrepresentation of the common definition of `\S` runs counter to that. Including form feed and vertical tabulation literally in the replacement expression is not likely to be helpful, so removing the misleading rows seems to be the best option.

Mozilla [1] actually claims that, for JavaScript, \S is equivalent to [^\f\n\r\t\v\u0020\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]

The entries in the table are examples, and they clearly need to be modulated by the specific type of regex flavor, library version, Unicode version, platform specification version etc.
The intent is to demonstrate how these replacements can be built, not to supply readymade replacements with the highest fidelity to a specific combination of implementation and Unicode versions.

The entries for the first two examples in the table given are based on W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes, Appendix G.4.2.5 "Multi-character escapes". 
(The value for the third example is *not* taken from that source, which would have suggested \p{Nd}, but mirrors what most regexp writers tend to believe \d means.)

Grüße, Carsten

[1]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions/Character_classes