John, there is a problem in defs with Fake A-Label<br><br>Defs:<br><pre class="newpage"> Some labels that are prefixed with "xn--" may not be the output of<br> the Punycode algorithm, or may fail the other tests outlined below or<br>
violate other IDNA restrictions and thus are also not valid IDNA-<br> labels. They are called FAKE-A Labels for convenience.-<br></pre><br>Protocol: <br clear="all"><pre class="newpage">Fake A-labels, i.e.,<br> invalid strings that appear to be A-labels but are not, MUST NOT be<br>
placed in DNS zones that support IDNA.<br></pre>But in ASCII-LABEL for Fake A-Label you have:<br><br><pre class="newpage"> (3) Note that a Fake A-Label has a prefix "xn--"<br> but the remainder of the label is NOT the valid<br>
output of the Punycode algorithm.<br></pre>I think what we should have is: XN-Label (as defined), with a subclass P-Label (the remainder is valid punycode), with a subclass A-Label (corresponds to U-Label). Then we have:<br>
<ul><li>P-Label corresponds 1:1 with Unicode Label (any Unicode string with at least one non-ASCII character)</li><li>A-Label corresponds 1:1 with U-Label<br></li></ul>A Fake A-Label is {XN-Label - A-Label}, and not {XN-Label - P-Label}, which is what (3) says.<br>
<br>Mark<br>