"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
_______________________________________________

Reply via email to