prohibiting final full stops in names (action 2023-11-28-e)

Last year we discussed possible redefinitions of 'name' to prohibit full
stops at the end, in a thread starting at

  https://lists.w3.org/Archives/Public/public-ixml/2023Nov/0022.html

The changes I proposed at the outset suffered from some deficiencies and
provoked a series of alternative proposals.  Some of these correctly
defined the language intended by the authors, and the language intended
was sometimes the language desired by the CG.

At the end of November I took an action to survey the ground and make a
proposal, attempting to weigh both correctness and ease of reading and
understanding the definition.

My proposal is that we adopt the suggestion made by Gunther Rademacher
on 30 November in message
https://lists.w3.org/Archives/Public/public-ixml/2023Nov/0032.html

  name: namestart, ( '.'*, namefollower )*.
  -namestart: ["_"; L].
  -namefollower: namestart; ["-·‿⁀"; Nd; Mn].

This accepts all of the following as instances of name:

  name name.name name...name name.n name...n n.name n...name n.n n...n
  this.is.a.name a.b.c this...is.a...name a..b....c

And it rejects all of the following strings as non-names:

  .name name.  ...name name...  n.  .n n...  ...n n.n.  n.n...  ..n.n
  not.a.name.  ...nor.this ...nor.even.this.

An alternative formulation also accepts and rejects the test cases just
given:

  name: namestart, namefollower*, ("."+, namefollower+)*.
  -namestart: ["_"; L].
  -namefollower: namestart; ["-·‿⁀"; Nd; Mn].

Some readers may prefer the one, others the other.

-- 
C. M. Sperberg-McQueen
Black Mesa Technologies LLC
http://blackmesatech.com

Received on Tuesday, 5 March 2024 01:41:48 UTC