simon:<div><br></div><div>Suppose you are (well, your software is) examining a string to determine whether to look it up in the DNS and, on examination, you discover a character in an apparent U-label that is labeled "CONTEXTJ". CONTEXTJ is one of the several special handling rules in IDNA2008. Upon examination, you discover that the character does NOT conform to the rule associated with CONTEXTJ. At this point you should cease further examination and reject the string as not being acceptable even for lookup in the DNS.  If the character satisfies the associated CONTEXTJ rule, you may continue to examine the string prior to looking it up.</div>
<div><br></div><div>Your interpretation (2) is the correct one. The idea is to allow the use of "joiner" characters only under specific conditions.</div><div><br></div><div>A "null" rule is a condition that has no specific actions associated with it. It's like defining a class of characters (perhaps by their Unicode properties) for purposes of singling them out for special treatment, and then not saying what should be done about them. If there is no rule, and if a character in a string under examination meets the condition, the string must be rejected if the condition does not have a defined rule (action) associated with it. The lack of a rule means there is no test to perform and it is interpreted in IDNA2008 as having failed implicitly. "null rule" means a rule that is "empty" "has no content" "missing" "awol" </div>
<div><br></div><div>v</div><div><br></div><div><br></div><div><br><br><div class="gmail_quote">On Sat, Jan 8, 2011 at 5:07 AM, Simon Josefsson <span dir="ltr"><<a href="mailto:simon@josefsson.org">simon@josefsson.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi,<br>
<br>
I need help with interpretation regarding section 5.4 which says:<br>
<br>
   Putative U-labels with any of the following characteristics MUST be<br>
   rejected prior to DNS lookup:<br>
...<br>
   o  Labels containing code points that are identified in the Tables<br>
      document as "CONTEXTJ", i.e., requiring exceptional contextual<br>
      rule processing on lookup, but that do not conform to those rules.<br>
<br>
I have trouble understand the bullet text.  To me, it seems as if the<br>
first part of the sentence, namely:<br>
<br>
    Labels containing code points that are identified in the Tables<br>
    document as "CONTEXTJ"<br>
<br>
says one thing but the rest of the sentence, namely:<br>
<br>
      requiring exceptional contextual rule processing on lookup, but<br>
      that do not conform to those rules.<br>
<br>
says a different thing.<br>
<br>
What is not clear to me is whether the test on a particular label is<br>
intended to fail if and only if:<br>
<br>
1) the label has any code point with the CONTEXTJ property.<br>
<br>
2) the label has any code point with the CONTEXTJ property AND the rule<br>
   fails.<br>
<br>
Interpretation 2) makes the most sense to me, but the normative part of<br>
the sentence suggests otherwise so I am looking for clarification.<br>
<br>
The text goes on and says:<br>
<br>
      Note that this implies that a rule must be defined, not null: a<br>
      character that requires a contextual rule but for which the rule<br>
      is null is treated in this step as having failed to conform to the<br>
      rule.<br>
<br>
What is a "null rule"?  I cannot find any definition.<br>
<br>
/Simon<br>
_______________________________________________<br>
Idna-update mailing list<br>
<a href="mailto:Idna-update@alvestrand.no">Idna-update@alvestrand.no</a><br>
<a href="http://www.alvestrand.no/mailman/listinfo/idna-update" target="_blank">http://www.alvestrand.no/mailman/listinfo/idna-update</a><br>
</blockquote></div><br></div>