Re: [netmod] rfc6991-bis: "token" type?

Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> Sun, 21 April 2019 14:40 UTC

Return-Path: <j.schoenwaelder@jacobs-university.de>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8D80212009C for <netmod@ietfa.amsl.com>; Sun, 21 Apr 2019 07:40:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id G32sHtPXargR for <netmod@ietfa.amsl.com>; Sun, 21 Apr 2019 07:40:33 -0700 (PDT)
Received: from atlas5.jacobs-university.de (atlas5.jacobs-university.de [212.201.44.20]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DF3DC12006B for <netmod@ietf.org>; Sun, 21 Apr 2019 07:40:32 -0700 (PDT)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas5.jacobs-university.de (Postfix) with ESMTP id 2B8901F; Sun, 21 Apr 2019 16:40:30 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas5.jacobs-university.de ([10.70.0.217]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10032) with ESMTP id yNNFhAsWiI7P; Sun, 21 Apr 2019 16:40:30 +0200 (CEST)
Received: from hermes.jacobs-university.de (hermes.jacobs-university.de [212.201.44.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hermes.jacobs-university.de", Issuer "Jacobs University CA - G01" (verified OK)) by atlas5.jacobs-university.de (Postfix) with ESMTPS; Sun, 21 Apr 2019 16:40:30 +0200 (CEST)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by hermes.jacobs-university.de (Postfix) with ESMTP id 0BFA0200CB; Sun, 21 Apr 2019 16:40:30 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from hermes.jacobs-university.de ([212.201.44.23]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10028) with ESMTP id 6f5aOKyI9ZHk; Sun, 21 Apr 2019 16:40:29 +0200 (CEST)
Received: from exchange.jacobs-university.de (SXCHMB01.jacobs.jacobs-university.de [10.70.0.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "exchange.jacobs-university.de", Issuer "DFN-Verein Global Issuing CA" (verified OK)) by hermes.jacobs-university.de (Postfix) with ESMTPS id B94B7200CA; Sun, 21 Apr 2019 16:40:29 +0200 (CEST)
Received: from anna.localdomain (10.50.218.117) by sxchmb03.jacobs.jacobs-university.de (10.70.0.155) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Sun, 21 Apr 2019 16:40:29 +0200
Received: by anna.localdomain (Postfix, from userid 501) id 1D68E30086BAB7; Sun, 21 Apr 2019 16:40:28 +0200 (CEST)
Date: Sun, 21 Apr 2019 16:40:28 +0200
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: Kent Watsen <kent+ietf@watsen.net>
CC: "netmod@ietf.org" <netmod@ietf.org>
Message-ID: <20190421144028.2pijzyloxxh77eix@anna.jacobs.jacobs-university.de>
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Mail-Followup-To: Kent Watsen <kent+ietf@watsen.net>, "netmod@ietf.org" <netmod@ietf.org>
References: <155535446032.10827.9204466950651701790@ietfa.amsl.com> <0100016a2ec8ed5f-14648cab-7615-4af4-9131-e85bf5826a03-000000@email.amazonses.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <0100016a2ec8ed5f-14648cab-7615-4af4-9131-e85bf5826a03-000000@email.amazonses.com>
User-Agent: NeoMutt/20180716
X-ClientProxiedBy: SXCHMB03.jacobs.jacobs-university.de (10.70.0.155) To sxchmb03.jacobs.jacobs-university.de (10.70.0.155)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/ygPvMxJO8XkY1n1UqaDn72ngUGA>
Subject: Re: [netmod] rfc6991-bis: "token" type?
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 21 Apr 2019 14:40:36 -0000

Kent,

can you provide examples where this particular type is useful? Or were
you generally looking for a type to name things and the XSD token type
was the first one that came your mind?

If the goal is to define a type for identifiers, then we likely should
follow the Unicode standard annex UAX-31 and make use of <XID_Start>
<XID_Continue>, which is what I think Python3 and Rust are using as
the basis for their notion of language identifiers (but then the
Unicode definitions are also criticized as buggy). A challenge is that
the definition of <XID_Start> and <XID_Continue> seems to evolve with
the unicode version. And once you start digging into the various
attempts of modern programming languages to support internationalized
identifiers, you discover that this is far from trivial to get right.

/js

On Thu, Apr 18, 2019 at 04:51:21AM +0000, Kent Watsen wrote:
> 
> Many times in models I want a non-empty version of what XSD calls a "token":
> 
>     token    A string that does not contain line feeds,
>              carriage returns, tabs, leading or trailing
>              spaces, or multiple spaces.
> 
> So how about the following?
> 
>   typedef token {
>       type string;
>       length "1.max";         // non-empty (some expr do this already)
>       pattern "[^\n\r\t"]+"   // no LFs, CRs, or Tabs
>       pattern "[^ ].*";       // no leading space     (min-length 1?)
>       pattern ".*[^ ]";       // no trailing space    (min-length 1?)
>       pattern ".*[^ ][^ ].*"  // no multiple spaces   (min-length 2?)
>   }
> 
> Kent // contributor
> 
> 
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>