John, there is a problem in defs with Fake A-Label<br><br>Defs:<br><pre class="newpage">   Some labels that are prefixed with &quot;xn--&quot; 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 &quot;xn--&quot;<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>