|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Section 4.1 clarifications
I have some observations on Section 4.1 of Draft 12.
(1) The set of valid characters for values does not include the '/' and '='
characters, both of which are specified by RFC 2045 for use in base-64
encoding. Because base-64 encoding is allowed for binary items with the
"0b" prefix, I believe '/' and '=' should be added to the list of valid
characters for values.
(2) Because '+' and '-' are valid characters for values, I suggest that it
be made explicit whether or not signed binary items are allowed. For what
it's worth, I've been assuming that all binary items are unsigned and signs
are not valid characters in said items.
(3) In Section 4.1 and elsewhere throughout the spec, the term "value" is
sometimes used to refer to everything to the right of the '=' delimiter and
sometimes used to refer to an individual item in a list or range. Since
"key=value" seems to be an entrenched usage in which "value" means
"everything to the right of the leftmost instance of the '=' delimiter,"
perhaps the other terms should be redefined in order to preserve this
meaning of "value." I suggest that the following definitions (or some other
set of definitions--I don't care which one!) be applied CONSISTENTLY
throughout the spec:
literal string: string described by regular expression
"[][a-zA-Z0-9 .-+@_:]*"
Boolean constant: Boolean constant described by regular expression
"Yes|No" (was called "Boolean value")
decimal constant: unsigned decimal constant described by regular
expression "[0-9]+"
hex constant: unsigned hexadecimal constant described by regular
expression "0[xX][0-9a-zA-Z]+"
base-64 constant: unsigned base-64 constant described by regular
expression "0b[A-Za-z0-9+/=]+"
binary item: decimal constant, hex constant, or base-64 constant
literal list: one or more literal strings separated by commas
numeric range: two binary items separated by a tilde
value: literal string, Boolean constant, binary item,
literal list, or a numeric range (under this
definition of "value," the delimiters ',' and '~'
must be added to the list of valid characters,
along with '/' and '=')
I realize that this is starting to look like the beginning of a proper BNF
description of valid iSCSI text-mode strings, which is something I cannot
believe hasn't been done yet, but which I don't have time to attempt now.
If anyone blessed with abundant spare time would like to pick up this ball
and run with it, the spec would be much the better for it . . . ;-)
Michael
--
Michael J. Krueger mailto:michael.krueger@windriver.com
Wind River Networks http://www.windriver.com
500 Wind River Way phone: 510-749-2130
Alameda, CA 94501 fax: 510-749-2010
Home Last updated: Thu Apr 25 14:18:25 2002 9781 messages in chronological order |