-
Notifications
You must be signed in to change notification settings - Fork 19
Simple names
Justin Parker edited this page Jul 18, 2019
·
1 revision
-
Full names should support the entire Unicode character set.
-
When presenting reduced (brief) names:
- characters between round-brackets and those round-brackets are to be considered extraneous e.g.
Area A - Display (Samsung) -
//and following characters are to be considered extraneous(c-like) -
--and following characters are to be considered extraneous (sql-like)
- characters between round-brackets and those round-brackets are to be considered extraneous e.g.
-
When matching, flattened names are used according to the above rules as well as:
- all non-alphanumeric characters below code 127 (
0x7f) are extraneous e.g.-,_,.,!, etc. - full Unicode case-insensitivity
- diacritics are to be reduced according to (and then treated case-insensitively):
- all non-alphanumeric characters below code 127 (
{
"äæǽ": "ae", "öœ": "oe", "ü": "ue", "Ä": "Ae", "Ü": "Ue", "Ö": "Oe",
"ÀÁÂÃÄÅǺĀĂĄǍΑΆẢẠẦẪẨẬẰẮẴẲẶА": "A", "àáâãåǻāăąǎªαάảạầấẫẩậằắẵẳặа": "a",
"Б": "B", "б": "b", "ÇĆĈĊČ": "C", "çćĉċč": "c", "Д": "D", "д": "d", "ÐĎĐΔ": "Dj", "ðďđδ": "dj",
"ÈÉÊËĒĔĖĘĚΕΈẼẺẸỀẾỄỂỆЕЭ": "E", "èéêëēĕėęěέεẽẻẹềếễểệеэ": "e",
"Ф": "F", "ф": "f", "ĜĞĠĢΓГҐ": "G", "ĝğġģγгґ": "g", "ĤĦ": "H", "ĥħ": "h",
"ÌÍÎÏĨĪĬǏĮİΗΉΊΙΪỈỊИЫ": "I", "ìíîïĩīĭǐįıηήίιϊỉịиыї": "i",
"Ĵ": "J", "ĵ": "j", "ĶΚК": "K", "ķκк": "k", "ĹĻĽĿŁΛЛ": "L", "ĺļľŀłλл": "l",
"М": "M", "м": "m", "ÑŃŅŇΝН": "N", "ñńņňʼnνн": "n",
"ÒÓÔÕŌŎǑŐƠØǾΟΌΩΏỎỌỒỐỖỔỘỜỚỠỞỢО": "O", "òóôõōŏǒőơøǿºοόωώỏọồốỗổộờớỡởợо": "o",
"П": "P", "п": "p", "ŔŖŘΡР": "R", "ŕŗřρр": "r", "ŚŜŞȘŠΣС": "S", "śŝşșšſσςс": "s",
"ȚŢŤŦτТ": "T", "țţťŧт": "t", "ÙÚÛŨŪŬŮŰŲƯǓǕǗǙǛŨỦỤỪỨỮỬỰУ": "U",
"ùúûũūŭůűųưǔǖǘǚǜυύϋủụừứữửựу": "u", "ÝŸŶΥΎΫỲỸỶỴЙ": "Y", "ýÿŷỳỹỷỵй": "y",
"В": "V", "в": "v", "Ŵ": "W", "ŵ": "w", "ŹŻŽΖЗ": "Z", "źżžζз": "z",
"ÆǼ": "AE", "ß": "ss", "IJ": "IJ", "ij": "ij", "Œ": "OE", "ƒ": "f", "ξ": "ks", "π": "p",
"β": "v", "μ": "m", "ψ": "ps", "Ё": "Yo", "ё": "yo", "Є": "Ye", "є": "ye", "Ї": "Yi",
"Ж": "Zh", "ж": "zh", "Х": "Kh", "х": "kh", "Ц": "Ts", "ц": "ts", "Ч": "Ch", "ч": "ch",
"Ш": "Sh", "ш": "sh", "Щ": "Shch", "щ": "shch", "ЪъЬь": "", "Ю": "Yu", "ю": "yu", "Я": "Ya", "я": "ya"
}Nodel matches names according to their flattened form
-
Given:
XYZ Gallery FP ("First Peoples")XYZ Gallery ABC Display 1 (LG 34Z00 on the left)XYZ Gallery ABC Display 2 (Samsung UA65 on the right)XYZ Gallery ABC Player // TODO: IP address requiredXYZ Gallery SW SS ("Science Works - Science Stage") -- TODO: not online until Feb
Remote bindings to those nodes can be the reduced forms
XYZ Gallery FP,XYZ Gallery ABC Display 1,XYZ Gallery ABC Display 2,XYZ Gallery ABC PlayerandXYZ Gallery SW SSand respectively and never need updating. -
in node URLs, reduced names used instead of originals
- e.g.
http://.../nodes/GalleryXYZADAM6060relaydevice/instead ofhttp://.../nodes/Gallery%20XYZ%20ADAM%206060%20relay%20device/
- e.g.
-
diacritic flattening:
Crème Brûléeandcreme bruleeare equivalent (andcremebruleeof course) -
uses relaxed URL-encoded file names for node names (complete unrestricted Unicode support regardless of OS support)
- alphanumeric ASCII and only
()[]{}'&^$#@!~;.+=-_,` are treated as safe, everything else is "%" UTF-8 encoded
- alphanumeric ASCII and only
Nodel: http://nodel.io/ | White Paper