|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Section 4.1 clarificationsI 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 |