Guus der Kinderen<http://jabber.markmail.org/message/kihf36azo2kvmczf?q=guus> pointed out some problems in XEP-0106 in the JDev chatroom.
Section 1. of the XEP lists nine code points which are forbidden in a node identifier. The character '\' is not in that list, and is used as the escape character in the algorithms described in the XEP. Section 4.3 states: "In order to maintain as much backward compatibility as possible, partial > escape sequences and escape sequences corresponding to characters not on the > list of disallowed characters MUST be ignored." The sequence '\5c' (corresponding to the character '\') as input to the escaping algorithm needs to be escaped. But it isn't a partial escape sequence, and it doesn't correspond to a disallowed character, so the above text dictates that it not be escaped. This breaks the algorithm. A possible correction is to refer to the mapping in tables 1 or 2, instead of the list of disallowed characters. In section 5.1, table 3, the last four examples 9, 10, 11 and 12 do not follow section 4.3 exceptions. The '\' characters in those examples MUST not be escaped, according to section 4.3. Example 12 in that list would be correct with the above suggested correction to section 4.3. -- Waqas Hussain