There is actually a fourth sensible option:

4. Start = first character (inclusive) and length = length of a substring.

Just saying. It could be easier to implement for some people.

пт, 4 дек. 2020 г. в 19:21, Tedd Sterr <teddst...@outlook.com>:
>
> "How to specify character ranges" is a problem that keeps appearing - can we 
> resolve this once and for all, and then ensure we're consistent with that in 
> all XEPs?
>
> There are only three sensible options:
>
> 1. Start = first character (inclusive), end = last character (exclusive);
> 2. Start = first character (inclusive), end = last character (inclusive);
> 3. Start = Boundary before first character, end = boundary after last 
> character.
>
> Option 1 is what I presume most are familiar with as that's how indexing 
> works in many programming languages, and option 2 makes some sense as you're 
> pointing to the first and last characters to be included. The problem with 
> the first two options is that it leads to this inclusive/exclusive confusion 
> where the text seems to say one thing and the example says another.
>
> Option 3 sidesteps that issue by indexing the positions between characters, 
> rather than the characters themselves - so a character is either before or 
> after a boundary, and is explicitly included or excluded from a range. 
> Numerically, this is actually equivalent to option 1, but by describing it in 
> this way, the confusion never arises.
>
> _______________________________________________
> Standards mailing list
> Info: https://mail.jabber.org/mailman/listinfo/standards
> Unsubscribe: standards-unsubscr...@xmpp.org
> _______________________________________________



-- 
Andrew Nenakhov
CEO, redsolution, OÜ
https://redsolution.com
_______________________________________________
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
_______________________________________________

Reply via email to