Subject: encoding package values as ANBF VALUES

From: Troy Cauble <[email-masked]>
Date: Thu, 12 Apr 2001 17:53:12 -0400

(Item 1)

   VALUE                = quotedString / 1*(SafeChar)
   SafeChar             = DIGIT / ALPHA / "+" / "-" / "&" /
                          "!" / "_" / "/" / "'" / "?" / "@" /
                          "^" / "`" / "~" / "*" / "$" / "\" /
                          "(" / ")" / "%" / "|" / ".

VALUE is used in many package elements (properties, event params,
etc.).  

These are all legal ABNF encoded property forms
	tdmc/gain=2
	tdmc/gain="2"
	tdmc/ec=on
	tdmc/ec="on"

It would have been more straightforward to just require quotes 
all of the time.  But it's probably too late for that.

I strongly feel that while a package can define the type of
a property, that it shouldn't be able to define whether or
not the quotes are to be used.  This is part of the ENCODING
SPEC.

(Item 2)
In a similar vein, I've seem some packages with "complex string"
values defined.  Forgive me for not tracking one down; naspkg
may have been one of them.  Anyway, I've seen some package that
stated that a value string would have the same form as the 
terminationIDList.

   terminationIDList    = LBRKT TerminationID *(COMMA TerminationID) RBRKT

It needs to be understood that any such string would have to be 
encoded as the quotedString form of VALUE (since it contains 
non-SafeChars).  It needs to be understood that packages do not 
get to redefine the ABNF encoding of VALUE, but must work within
it.  Note that this means there is no way to have a double quote 
character within a package element value.

(Item 3)
This all ties into the lack of specifications for encoding package 
element *values* as ABNF *VALUES*.  For example if a package 
defines property foo/bar as having type Integer, there is nothing 
in the spec that disallows these encodings:

	foo/bar=seventeen
	foo/bar=XVII

We hammered out the analogous ASN.1 specs in the "Additions"
document, section 1.1.  We need a similar addition for ABNF
encoding that says how to encode strings, ints, enums, etc.
in ABNF VALUES.  It should note the *possibility* of quotes as
defined by the ABNF for "VALUE".

After the argument dies down, and if no one else wants to, I'll
submit a proposal.

-troy