On Wednesday, November 10, 2004, at 10:45 AM, Walter Underwood wrote:
--On Wednesday, November 10, 2004 08:28:38 AM -0700 Antone Roundy <[EMAIL PROTECTED]> wrote:On Tuesday, November 9, 2004, at 10:10 PM, Walter Underwood wrote:Thus my suggestion to add an optional attribute to indicate what the path separator is.Finally, we cannot reserve a character as a path separator unless we want to escape that character inside a category name. Which is messy.
There are a few reasons why we shouldn't do that.
1. There is no need for the client to parse the path. That is, the client
is not going to click on parts of the path to navigate. It may need to
display it, but not parse it.
Not necessarily true--the client may use the category path to automatically file feeds and/or entries in some sort of hierarchical system.
2. Selecting any character, even a configurable one, makes that character
unavailable for use inside names.
Any well-designed system that has paths will have a way to escape its path character, or will not use it in its names.
3. Many systems (faceted, geographic, DAGs) don't have paths, so this would only apply to some.
That's easy enough to accommodate as follows:
1) If @domain is not specified, then the default domain is used. It's rules are:
a) The category name is a hierarchical path.
b) There is no default hierarchy.
c) The default path separator is "/".
d) An empty path separator may be specified (path-separator=""). This results in a non-hierarchical system.
2) If @domain is specified, there is no Atom-specified default path separator. If the system is hierarchical, @path-separator SHOULD be specified.
Thus flat systems that use "/" in names could be done in either of the following ways:
<category path-separator="">This / is / not / hierarchical</category> <category domain="foo">This / is / not / hierarchical</category>
