[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[idn] amending [IDNA]?
Hi, Paul:
I suggest the following procedure specification
adds to [IDNA], this is only an idea, while I have no
intention to put proper words in the document.
[IDNA] is the component of internetionalization of
Domain Name system. It contains procedures preparing
localized domain name representation for DNS and
supply display representation for local standard
according to DNS registered hostnames.
The IDN-label protocol is:
idn-label(input, tag-file, input-std, zonefile, idn-name)
{
tag = find-tag(input, tag-file, input-std);
switch (tag)
{
case USASCII : return(input); /* a legal DNS string*/
case NIL: idn-name=
uni-compress(input, UNICODE, DEFAULT-ACE);
return strcat(DEFAULT-ACE, idn-name);
default:
idn-folding(input, input-std, tag, USASCII, output-list);
record-label(input, output-list, zonefile, tag);
if idn-label-length(output-list) >= MaxLabelLength
{
record-label(input, output-list, zonefile, tag);
idn-truncate-label(output-list, tag);
}
idn-label-concat(output-list, idn-name);
return strcat(tag, idn-name);
}
The idn-display protocol is:
idn-display-code(input, local-std, zonefile, display-string)
{
display-string = NIL;
search-zone(input, zonefile, local-std, display-string);
if display-string
return display-string;
tag = find-tag (input, tag-file, USASCII);
switch (tag)
{
case USASCII : return(input); /* a legal DNS string*/
case NIL: return(input); /* legacy name */
case DEFAULT-TAG:
local-std = UNICODE;
uni-decompress(input, display-string)
return display-string;
default:
idn-folding(input, USASCII, tag, local-std, display-string);
if length(inupt) >= MaxLabelLength) /* truncated */
idn-request-fullname(input, output-list, host1, host2);
return display-string;
}
[nameprep] shall be the host for and only deal with
idn-folding(input, in-std, tag, out-std, out-list)
for case folding table lookups, and leave exclusion list to be
checked by idn-label procedure within a tagged Unicode block.
I am looking forward for your comments.
Liana Ye