<span class="Apple-style-span" style="font-family: Garamond; "><div style="margin-top: 0px; margin-bottom: 0px; ">I had a chance to review the documents again. There is good progress; the split of the definitions is very helpful. There is a tendency to always look for the remaining issues in the document, so I want to thank John for all the work done on this. I&#39;ll respond with some comments, with different subjects for easier tracking.</div>
<div style="margin-top: 0px; margin-bottom: 0px; "><br></div><div style="margin-top: 0px; margin-bottom: 0px; "><br></div><div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: 16px; font-weight: bold; ">Definitional Problem with U-Label and A-Label</span></div>
<div style="margin-top: 0px; margin-bottom: 0px; "><br></div><div style="margin-top: 0px; margin-bottom: 0px; ">I believe (although am not 100% sure) that the intent is for both&nbsp;U-Label and A-Label&nbsp;to only refer to *valid* possible labels under the specifications of IDNA2008, but the text does not yet support that consistently. Here is the breakdown. (I&#39;m using D1.3 to mean section 1.3 in Defs, and so on, with P for protocol, B for bidi, R for rationale).</div>
<div style="margin-top: 0px; margin-bottom: 0px; "><br></div><div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-weight: bold; ">LDH</span></div><div style="margin-top: 0px; margin-bottom: 0px; ">
The following conditions:</div><div style="margin-top: 0px; margin-bottom: 0px; "><ol style="margin-top: 0px; margin-bottom: 0px; "><li style="margin-top: 0px; margin-bottom: 0px; ">Must match&nbsp;<a id="gop9" href="http://tools.ietf.org/html/rfc952" title="http://tools.ietf.org/html/rfc952" style="color: rgb(85, 26, 139); ">http://tools.ietf.org/html/rfc952</a>&nbsp;</li>
<ul style="margin-top: 0px; margin-bottom: 0px; "><li style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-family: -webkit-monospace; white-space: pre; ">&lt;name&gt;  ::= &lt;let&gt;[*[&lt;let-or-digit-or-hyphen&gt;]&lt;let-or-digit&gt;]</span></li>
</ul><li style="margin-top: 0px; margin-bottom: 0px; ">Length limited to 1..63 (<a id="m4cb" href="http://tools.ietf.org/html/rfc1034" title="http://tools.ietf.org/html/rfc1034" style="color: rgb(85, 26, 139); ">http://tools.ietf.org/html/rfc1034</a>, 3.1)</li>
<li style="margin-top: 0px; margin-bottom: 0px; ">Must not have hyphens in both positions 3 and 4. (new condition)</li></ol><div style="margin-top: 0px; margin-bottom: 0px; "><br></div></div><div style="margin-top: 0px; margin-bottom: 0px; ">
Condition 3 is not stated in D2.3.1.2, but appears elsewhere. Should be in&nbsp;Defs <a href="http://2.3.1.2">2.3.1.2</a>.</div><div style="margin-top: 0px; margin-bottom: 0px; "><br></div><div style="margin-top: 0px; margin-bottom: 0px; ">
<span class="Apple-style-span" style="font-weight: bold; ">A-Label&nbsp;</span></div><div style="margin-top: 0px; margin-bottom: 0px; ">I believe the definition should be the following conditions:</div><div style="margin-top: 0px; margin-bottom: 0px; ">
<ol style="margin-top: 0px; margin-bottom: 0px; "><li style="margin-top: 0px; margin-bottom: 0px; ">ASCII string of length 5 to 64</li><li style="margin-top: 0px; margin-bottom: 0px; ">starts with &quot;xn--&quot; (or case variants thereof)&nbsp;[implicitly no hyphen at end]</li>
<li style="margin-top: 0px; margin-bottom: 0px; ">the remainder &nbsp;is valid punycode</li><li style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-style: italic; ">and</span>&nbsp;the depunycoded result must be a valid U-Label</li>
</ol><div style="margin-top: 0px; margin-bottom: 0px; "><br></div><div style="margin-top: 0px; margin-bottom: 0px; ">I believe that the above is the intended definition, but it is not fully supported by the text in Defs, except (perhaps) very indirectly. Note that A-Label according to this is dependent on U-Label. To make sure that we are not circular, we need to define U-Label independently of A-Label.</div>
<div style="margin-top: 0px; margin-bottom: 0px; "><br></div><div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-weight: bold; ">Putative A-Label</span></div><div style="margin-top: 0px; margin-bottom: 0px; ">
Any string that is all ASCII, but is neither LDH or A-Label.</div></div><div style="margin-top: 0px; margin-bottom: 0px; "><br></div><div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-weight: bold; ">U-Label</span></div>
<div style="margin-top: 0px; margin-bottom: 0px; ">This is difficult to make out. I believe the definition should be:</div><div style="margin-top: 0px; margin-bottom: 0px; "><br></div><div style="margin-top: 0px; margin-bottom: 0px; ">
<ol style="margin-top: 0px; margin-bottom: 0px; "><li style="margin-top: 0px; margin-bottom: 0px; ">contains at least one non-ASCII character.</li><li style="margin-top: 0px; margin-bottom: 0px; ">is in form NFC (P4.2)</li>
<li style="margin-top: 0px; margin-bottom: 0px; ">contains neither DISALLOWED nor UNASSIGNED (P4.3.1)</li><li style="margin-top: 0px; margin-bottom: 0px; ">no hyphens in both position 3 and 4 (P4.3.2.1) [implicitly no hyphen at start or end]</li>
<li style="margin-top: 0px; margin-bottom: 0px; ">no leading combining marks (P4.3.2.2)</li><li style="margin-top: 0px; margin-bottom: 0px; ">obeys context constrains (P4.3.2.3)</li><li style="margin-top: 0px; margin-bottom: 0px; ">
obeys bidi constraints (P4.3.2.4)</li><li style="margin-top: 0px; margin-bottom: 0px; ">converts to valid punycode of length &lt; 60</li></ol><div style="margin-top: 0px; margin-bottom: 0px; "><br></div><span class="Apple-style-span" style="font-style: italic; ">Protocol:&nbsp;</span></div>
<div style="margin-top: 0px; margin-bottom: 0px; "><br></div><div style="margin-top: 0px; margin-bottom: 0px; ">4.3.3 says the following:</div><div style="margin-top: 0px; margin-bottom: 0px; "><br></div><span class="Apple-style-span" style="font-family: Times; font-size: 16px; "><pre class="newpage" style="margin-top: 0px; margin-bottom: 0px; page-break-before: always; ">
<span class="Apple-style-span" style="font-size: 12px; "><span class="Apple-style-span" style="font-size: 13px; ">   </span>Strings that have been produced by the steps above, and whose&nbsp;</span></pre></span><div style="margin-top: 0px; margin-bottom: 0px; ">
<span class="Apple-style-span" style="font-family: -webkit-monospace; white-space: pre; ">   contents pass the above tests, are U-labels.</span></div><div style="margin-top: 0px; margin-bottom: 0px; "><br></div><div style="margin-top: 0px; margin-bottom: 0px; ">
However, this&nbsp;may does not include condition 8 above; that is the test for mapping to A-Label (eg overly long punycode) in 4.5, not &quot;above&quot; <a href="http://4.3.3.">4.3.3.</a> Condition #1 is also implicit.</div>
<div style="margin-top: 0px; margin-bottom: 0px; "><br></div><div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-style: italic; ">Defs:&nbsp;</span></div><div style="margin-top: 0px; margin-bottom: 0px; ">
<span class="Apple-style-span" style="font-style: italic; "><br></span></div><div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-style: italic; "><span class="Apple-style-span" style="font-style: normal; "><a href="http://2.3.1.1">2.3.1.1</a> says the following:</span><br>
</span><div style="margin-top: 0px; margin-bottom: 0px; "><br></div><div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-family: Times; font-size: 16px; "><pre class="newpage" style="margin-top: 0px; margin-bottom: 0px; page-break-before: always; ">
<span class="Apple-style-span" style="font-size: 12px; ">      A &quot;U-label&quot; is an IDNA-valid string of Unicode characters,
      including at least one non-ASCII character, expressed in a
      standard Unicode Encoding Form -- in an Internet transmission
      context this will normally be UTF-8 -- and subject to the
      constraint below.</span></pre></span></div><div style="margin-top: 0px; margin-bottom: 0px; "><br></div><ol style="margin-top: 0px; margin-bottom: 0px; "><li style="margin-top: 0px; margin-bottom: 0px; ">This is inconsistent with 4.3.3, with the only constraints being that U-Labels be NFC, be convertable to and from valid A-Labels, and not be of the form xx--.. But the phrase in bullet 2 seems to state that they must meet &quot;all of the requirements of *these specifications*&quot;. But it is not clear what those are: they should be listed precisely.</li>
</ol><div><br></div><div>I can understand not wanting to complicate Defs by having conditions 1-8 spelled out completely. It would be possible to handle this without complicating Defs, *if* the specific sections corresponding to the conditions were explicitly referenced in Defs.</div>
<div style="margin-top: 0px; margin-bottom: 0px; "><br></div><div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-weight: bold; ">Putative U-Label</span></div><div style="margin-top: 0px; margin-bottom: 0px; ">
Any Unicode string that contains at least one non-ASCII character, but is not a U-Label.</div><div style="margin-top: 0px; margin-bottom: 0px; "><br></div><div style="margin-top: 0px; margin-bottom: 0px; ">I can suggest some text fixes, if that would be helpful, but wanted to get the principles right first.</div>
<div><br></div></div></span>Mark<br>