A DDS definition is comprised of a "name" and a
"value" in the form:
name=value
. There must not be
any "white space†" between the
"name" and the "=" character;
however, there can be any "white space" after the
"=" character which will become a part of
"value". So the "value" consists
of all characters following the "=" character up to
the beginning of the "name" for the following
Definition. Thus, a Definition "name" can multiple
lines up to the next Definition in the Dictionary. The "\"
(escape) character is NOT allow in Definition names; it can be used
to escape "=" other "white space" and other
characters such as quotes. Any non-printable character will be
converted to the ~
(tilde).
For examples the following definitions produce each corresponding "name" and a "value".
DEFINITION NAME VALUE --------------------- ------ ----------------------- 1) foo=caca... foo "caca..." 2) foo =caca... <invalid> 3) foo= caca... foo " caca..." 4) foo = caca... <invalid> 5) foo= caca bar=kaka... foo " caca " bar "kaka..." 6) foo=bar=caca... foo "" bar "caca..." 7) foo= =caca... foo " " (anonymous) <void> "caca..." 8) foo==caca... foo "" (anonymous) <void> "caca..." 9) foo=caca\=kaka... foo "caca\=kaka..." 10) foo=caca\=bar=kaka... foo "caca\=bar" <void> "kaka..." 11) alias:foo=caca... foo "caca..." (alias) 12) alias:=caca... <void> "caca..." (anonymous) 13) $foo=caca... foo "caca..." (alias) 14) $=caca... <void> "caca..." (anonymous)
NOTE when changing a Definition's value in a Dictionary, it is always better and safer to add it as a new Definition at the end of the Dictionary instead of changing it's value at it current location. This way you maintain a history of what has taken place and you avoid the chance of not changing it's latest occurance. It is easier to track errors made this way and you can more easily undo any changes.
† "white space" characters are space, form-feed ('\f'), newline ('\n'), carriage return ('\r'), horizontal tab ('\t'), and vertical tab ('\v').