Re: [salud] New version of the ABNF-syntax
worley@ariadne.com (Dale R. Worley) Wed, 13 February 2013 21:06 UTC
Return-Path: <worley@shell01.TheWorld.com>
X-Original-To: salud@ietfa.amsl.com
Delivered-To: salud@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8F36E21F8777 for <salud@ietfa.amsl.com>; Wed, 13 Feb 2013 13:06:08 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.587
X-Spam-Level:
X-Spam-Status: No, score=-1.587 tagged_above=-999 required=5 tests=[AWL=-0.907, BAYES_00=-2.599, MANGLED_TOOL=2.3, RCVD_IN_DNSWL_LOW=-1, RCVD_IN_SORBS_WEB=0.619]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id s1QF3PFoOxIT for <salud@ietfa.amsl.com>; Wed, 13 Feb 2013 13:06:06 -0800 (PST)
Received: from TheWorld.com (pcls4.std.com [192.74.137.144]) by ietfa.amsl.com (Postfix) with ESMTP id CE03121F8770 for <salud@ietf.org>; Wed, 13 Feb 2013 13:06:05 -0800 (PST)
Received: from shell.TheWorld.com (svani@shell01.theworld.com [192.74.137.71]) by TheWorld.com (8.14.5/8.14.5) with ESMTP id r1DL5Ena019573 for <salud@ietf.org>; Wed, 13 Feb 2013 16:05:16 -0500
Received: from shell01.TheWorld.com (localhost.theworld.com [127.0.0.1]) by shell.TheWorld.com (8.13.6/8.12.8) with ESMTP id r1DL5Ept1790455 for <salud@ietf.org>; Wed, 13 Feb 2013 16:05:14 -0500 (EST)
Received: (from worley@localhost) by shell01.TheWorld.com (8.13.6/8.13.6/Submit) id r1DL5BM01801234; Wed, 13 Feb 2013 16:05:11 -0500 (EST)
Date: Wed, 13 Feb 2013 16:05:11 -0500
Message-Id: <201302132105.r1DL5BM01801234@shell01.TheWorld.com>
From: worley@ariadne.com
Sender: worley@ariadne.com
To: salud@ietf.org
In-reply-to: <CACWXZj2WhAsmQ3Ku7bVpiNhbFxX7-vx9d9wWzzKgiVLSeKk__g@mail.gmail.com> (laura.liess.dt@googlemail.com)
References: <CACWXZj2WhAsmQ3Ku7bVpiNhbFxX7-vx9d9wWzzKgiVLSeKk__g@mail.gmail.com>
Subject: Re: [salud] New version of the ABNF-syntax
X-BeenThere: salud@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Sip ALerting for User Devices working group discussion list <salud.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/salud>, <mailto:salud-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/salud>
List-Post: <mailto:salud@ietf.org>
List-Help: <mailto:salud-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/salud>, <mailto:salud-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Feb 2013 21:06:08 -0000
(as an individual) OK, we can see that this is going well because the ABNF is quite simple and clear. I've made the following adjustments in the version below: - aligned the columns and normalized the spacing between elements - put blank lines to break the rules in to sections, and reordered the rules - applied Paul's simplification - changed the rule "YY=CC" to "YY=DIGIT DIGIT", because YY is semantically different from CC - removed DIGIT-1-9 and DIGIT-2-9, because they are not used - added a rule for "toplabel" - broken private-name into two parts, because one of the rules needs to refer to the provider-id-and-date part alert-URN = "urn:alert:" alert-identifier alert-identifier = alert-category ":" alert-indication alert-category = alert-name alert-indication = alert-name *(":" alert-name) alert-name = label / private-name name = label private-name = label "@" provider provider = provider-id ["(" date ")"] provider-id = 1*(label ".") toplabel [I'm not sure I like the names of the two preceding rules.] toplabel = ALPHA [ *let-dig-hyp let-dig ] label = let-dig [ *let-dig-hyp let-dig ] let-dig-hyp = let-dig / "-" let-dig = ALPHA / DIGIT date = [CC] YY [ "-" MM ["-" DD] ] CC = DIGIT DIGIT YY = DIGIT DIGIT MM = ( "0" %x31-39 ) / ( "1" %x30-32 ) DD = ( "0" %x31-39 ) / ( %x31-32 DIGIT ) / "30" / "31" ALPHA = %x41-5A / %x61-7A ; A-Z / a-z DIGIT = %x30-39 ; 0-9 I want to make two modifications so that the ABNF symbols can be used to describe the semantics more easily: 1. I want to have a symbol that refers to the component of the URN that can be removed during the resolution algorithm. Currently, alert-name is used for both alert-category and as a component of alert-indication. 2. I want to have a syntactic distinction between alert-names which have standard meanings and alert-names which are privately defined. However, both of these changes are messy and unclear when written in ABNF. So I will see if I can use semantic specifications to achieve the same result. The semantic rules are: 1) provider-id: This is intended to match the allowed ABNF for domain names. (What is the correct normative reference? With internationalization, is our syntax still correct?) 2) date: <date> syntax is a subset of ??? in RFC 3339. 2a) If <date> is absent from <private-name>, it defaults to 2013-01-01. 2b) If <DD> or <MM> are absent, each defaults to 01. 2c) If <CC> is absent, it defaults to 20. In all situations, including comparison of URNs and determining which entity defines the meanings of <alert-name>s, <provider>s are interpreted as if they contain <date> values with a full "CCYY-MM-DD" value, which is determined according to the above rules. 3) Comparison of URNs: Comparison is case-insensitive, considering the URNs as character strings (but with respect to rule (2)). 4) Removing components when interpreting URNs: (section 8.1 step (b)) The <alert-name>s of the URN are removed sequentially from back to front, until the first <alert-name> in the <alert-indication> is removed, at which point the URN is discarded from consideration. 5) Definition of meaning of <label>s: 5a) A <provider> has an "owner", which is the entity that was the registered owner of the domain name <provider-id> on the date <date> (with respect to rule (2)). 5b) If an entity is the first registrant of a domain name <provider-id>, it owns all <provider>s with that <provider-id> and all <date>s preceding when it registered the domain name. 5c) The entity owning <provider> defines the meaning of a <private-name>, whether it is used as an <alert-category> or an <alert-indication>. 5d) The entity owning <provider> within a <private-name> (in either an <alert-category> or an <alert-indication>) defines the meaning of each <alert-indication> which is a <label> following that <private-name> and preceding the next <alert-indication> which is a <private-name>. 5e) Entities SHOULD use only one <provider> value for all <private-name>s that they define. Dale
- [salud] New version of the ABNF-syntax Laura Liess
- Re: [salud] New version of the ABNF-syntax DRAGE, Keith (Keith)
- Re: [salud] New version of the ABNF-syntax Paul Kyzivat
- Re: [salud] New version of the ABNF-syntax Dale R. Worley
- Re: [salud] New version of the ABNF-syntax Paul Kyzivat
- Re: [salud] New version of the ABNF-syntax Dale R. Worley
- Re: [salud] New version of the ABNF-syntax Paul Kyzivat
- Re: [salud] New version of the ABNF-syntax Laura Liess
- Re: [salud] New version of the ABNF-syntax Paul Kyzivat
- Re: [salud] New version of the ABNF-syntax Dale R. Worley
- Re: [salud] New version of the ABNF-syntax DRAGE, Keith (Keith)
- Re: [salud] New version of the ABNF-syntax Dale R. Worley
- Re: [salud] New version of the ABNF-syntax Dale R. Worley
- Re: [salud] New version of the ABNF-syntax Paul Kyzivat
- Re: [salud] New version of the ABNF-syntax Paul Kyzivat
- Re: [salud] New version of the ABNF-syntax Dale R. Worley
- Re: [salud] New version of the ABNF-syntax Paul Kyzivat
- Re: [salud] New version of the ABNF-syntax DRAGE, Keith (Keith)
- Re: [salud] New version of the ABNF-syntax Paul Kyzivat
- Re: [salud] New version of the ABNF-syntax Dale R. Worley
- Re: [salud] New version of the ABNF-syntax Laura Liess
- Re: [salud] New version of the ABNF-syntax Dale R. Worley
- Re: [salud] New version of the ABNF-syntax Paul Kyzivat
- Re: [salud] New version of the ABNF-syntax Laura Liess
- Re: [salud] New version of the ABNF-syntax Dale R. Worley
- Re: [salud] New version of the ABNF-syntax Laura Liess
- Re: [salud] New version of the ABNF-syntax Paul Kyzivat
- Re: [salud] New version of the ABNF-syntax Laura Liess
- Re: [salud] New version of the ABNF-syntax Paul Kyzivat
- Re: [salud] New version of the ABNF-syntax Dale R. Worley
- Re: [salud] New version of the ABNF-syntax Dale R. Worley
- Re: [salud] New version of the ABNF-syntax Laura Liess
- Re: [salud] New version of the ABNF-syntax Paul Kyzivat
- Re: [salud] New version of the ABNF-syntax Paul Kyzivat
- Re: [salud] New version of the ABNF-syntax Laura Liess
- Re: [salud] New version of the ABNF-syntax Dale R. Worley
- Re: [salud] New version of the ABNF-syntax Laura Liess
- Re: [salud] New version of the ABNF-syntax Dale R. Worley
- [salud] Fwd: New version of the ABNF-syntax Laura Liess
- Re: [salud] New version of the ABNF-syntax Dale R. Worley
- Re: [salud] New version of the ABNF-syntax Paul Kyzivat
- Re: [salud] New version of the ABNF-syntax Laura Liess
- Re: [salud] New version of the ABNF-syntax Dale R. Worley
- Re: [salud] New version of the ABNF-syntax Paul Kyzivat
- Re: [salud] New version of the ABNF-syntax Laura Liess
- Re: [salud] New version of the ABNF-syntax Laura Liess
- Re: [salud] New version of the ABNF-syntax Dale R. Worley
- Re: [salud] New version of the ABNF-syntax Laura Liess
- Re: [salud] New version of the ABNF-syntax Dale R. Worley
- Re: [salud] New version of the ABNF-syntax Laura Liess