If intending to do action code based creation/deletion/traversal of links in the document, it is advisable to avoid the following characters when titling notes: forward or backward slashes, opening/closing parentheses, colon, semi-colon. Note: this list is not exhaustive.
If a path contains slashes or parentheses, Tinderbox checks for note names that exactly match the path. For example, if the input path value is S/Z
, this matches either the note Z
inside container S
or the note named S/Z
.
Paths containing Parentheses
Paths containing $Names including parentheses, e.g. "Fred Smith (Jr.)", will handle correctly during concatenation. In older pre-v6 versions, parentheses caused the new string to terminate at the first parenthesis. For a note with $Name "Fred Smith (Jr.)" setting a new path:
"/Some/Path/"+ $Name
…gives "/Some/Path/Fred Smith (Jr.)" unlike the old (and incorrect) "/Some/Path/Fred Smith ".
Improved parsing
From v9.1.0, the action parser behaves better when handling unquoted paths, as in
create(/Sources/People/Jefferson);
Previously, Tinderbox attempted to parse the path, which could lead to unexpected results. Now, a path with an initial "/" is recognised and treated as if it were a literal string. However, as literal paths containing commas, semicolons, or parentheses can confuse the parser.
Therefore if it is necessary to include commas and semicolons and parentheses in your path names, enclose the path in quotes or store the name in a string attribute.
create("/Sources/Martin Luther King, Jr./Speeches");
More normally paths are not quoted:
create(/Sources/Journals/Nature);
The same is true for attribute references
create($MyString);