Re: [salud] New version of the ABNF-syntax

Paul Kyzivat <pkyzivat@alum.mit.edu> Thu, 14 February 2013 03:24 UTC

Return-Path: <pkyzivat@alum.mit.edu>
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 E0A6121E80D4 for <salud@ietfa.amsl.com>; Wed, 13 Feb 2013 19:24:04 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.832
X-Spam-Level:
X-Spam-Status: No, score=0.832 tagged_above=-999 required=5 tests=[AWL=-1.031, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_NET=0.611, MANGLED_TOOL=2.3, RDNS_NONE=0.1]
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 1C-YBgn8Xsjp for <salud@ietfa.amsl.com>; Wed, 13 Feb 2013 19:24:04 -0800 (PST)
Received: from qmta13.westchester.pa.mail.comcast.net (qmta13.westchester.pa.mail.comcast.net [IPv6:2001:558:fe14:44:76:96:59:243]) by ietfa.amsl.com (Postfix) with ESMTP id F008621E80D3 for <salud@ietf.org>; Wed, 13 Feb 2013 19:24:00 -0800 (PST)
Received: from omta08.westchester.pa.mail.comcast.net ([76.96.62.12]) by qmta13.westchester.pa.mail.comcast.net with comcast id 02x51l0010Fqzac5D3Q0fK; Thu, 14 Feb 2013 03:24:00 +0000
Received: from Paul-Kyzivats-MacBook-Pro.local ([50.138.229.164]) by omta08.westchester.pa.mail.comcast.net with comcast id 03Q01l0083ZTu2S3U3Q0pP; Thu, 14 Feb 2013 03:24:00 +0000
Message-ID: <511C58CF.80600@alum.mit.edu>
Date: Wed, 13 Feb 2013 22:23:59 -0500
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/20130107 Thunderbird/17.0.2
MIME-Version: 1.0
To: salud@ietf.org
References: <CACWXZj2WhAsmQ3Ku7bVpiNhbFxX7-vx9d9wWzzKgiVLSeKk__g@mail.gmail.com> <201302132105.r1DL5BM01801234@shell01.TheWorld.com>
In-Reply-To: <201302132105.r1DL5BM01801234@shell01.TheWorld.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20121106; t=1360812240; bh=7HF4Hq0VgWMkNRVfh69uOSgOtZ+ugRB7QpcPEOAAiGE=; h=Received:Received:Message-ID:Date:From:MIME-Version:To:Subject: Content-Type; b=QQWG2+z/UpqXrsHcEU1kYSTrLRY6JvSIOUoYbnpnV33eML5T7B6EGc0DWqW651OVe gHyZTOO/fzLh6q1J8IC8XMvHXrb6+SLWRN8FgPmLnoT4ieCb794UIcFTkQJdCIwlqe FrF3v6aMJJm5J5f/ssWomja1l/OtIhh3lpqN9V6rPO+aj8NeD3SxtE4mgKUg4/o/3b xF7RYkETY5axuG18WkLYaqSSbaxfOGk0rbVAzOmtunNdUZU9T8Rytg2tsZgh743toQ DeLmoOcR2WB1vcOEdmmO7uxeERmdJhmqO849i55JvCuvQl7YArdlnGX4Sds1/I9Tem Lp99qv+Hjas6A==
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: Thu, 14 Feb 2013 03:24:05 -0000

Thanks Dale! That cleans things up well, and resolves the problem I had.

One thing: the rule defining 'name' is never used, so it can be omitted.

	Thanks,
	Paul

On 2/13/13 4:05 PM, Dale R. Worley wrote:
> (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 mailing list
> salud@ietf.org
> https://www.ietf.org/mailman/listinfo/salud
>