ietf-mta-filters
[Top] [All Lists]

Re: draft-homme-sieve-variables-03.txt

2004-08-12 02:22:57

On Wed, 2004-08-11 at 11:21 -0400, Tony Hansen wrote:
It says this:

    This extension changes the semantics of quoted-string, multi-line-
    literal and multi-line-dotstuff found in [SIEVE] to enable the inclu-
    sion of the value of variables.  The syntax follows [ABNF].

but never gives the redefined ABNF for quoted-string, multi-line-literal 
nor multi-line-dotstuff.

my very first draft (not submitted) tried to make a change to the
syntax, but it was pointed out on this list that it was ambiguous:
*CHAR expands to valid variable references.  I tried to rewrite the
syntax to avoid the problem, but it got really convoluted.  list
consensus at the time was to leave the syntax alone and change the
semantics.  this also mimics the natural way of implementing the
extension, IMHO.

I do agree the wording in that paragraph is a little confusing, though.
perhaps it's better to put the grammar _below_ the explanation of the
procedure.  also, the reference to [ABNF] is a better fit in the
conventions paragraph in the introduction:

    Conventions for notations are as in [SIEVE] section 1.1, including
-   use of [KEYWORDS].  In this document, "character" means a [UNICODE]
+   use of [KEYWORDS] and [ABNF].  In this document, "character" means a

my copy now says:

3.  Interpretation of strings

   This extension changes the semantics of quoted-string, multi-line-
   literal and multi-line-dotstuff found in [SIEVE] to enable the inclu-
   sion of the value of variables.

   When a string is evaluated, substrings matching variable-ref shall be
   replaced by the value of variable-name.  Only one pass through the
   string shall be done.  Variable names are case insensitive, so "foo"
   and "FOO" refer to the same variable.  Unknown variables are replaced
   by the empty string.

      variable-ref        =  "${" variable-name "}"
      variable-name       =  num-variable / *namespace identifier
      namespace           =  identifier "."
      num-variable        =  1*DIGIT

   Examples:
      [...]


242c242
<    When the string is evaluated, substrings matching variable-ref
<    shall
---
 >    When the string is evaluated, substrings matching variable-ref
 >    SHALL

is it appropriate to use these capitalised forms everywhere?  if so,
this should(!) be a MUST.

244c244
<    string shall be done.  Variable names are case insensitive.
407c407
<    stops.  Variable names are case insensitive.

hmm, a little duplication.  I guess it doesn't hurt to point it out
twice, though.

thank you for your nits, with the exception of SHALL, they have been
incorporated in my copy.

-- 
Kjetil T.