[pmwiki-users] hierarchical groups, revisited
Américo Albuquerque
aalbuquerque at lanowar.sytes.net
Thu May 25 16:51:23 CDT 2006
----- Original Message -----
Subject: Re: [pmwiki-users] hierarchical groups, revisited
Date: Thu, 25 May 2006 15:42:58 -0500
From: "Patrick R. Michaud"
> On Thu, May 25, 2006 at 06:11:09PM +0100, Américo Albuquerque wrote:
> > > > The root of the confusion is that the filesystem analogy breaks
> > down at
> > > > this point. In a file system, a directory doesn't double as a
file; in
> > > > PmWiki, a group doubles as a page.
> > >
> > > Exactly.
> >
> > Not so for urls. Using /somedir is the same as doing
> > /somedir/index.html. The same can be said about the PmWiki groups,
> > /Group would be the same as saying /Group/$GroupPage (whatever the
> > $GroupPage is). In a hierarchical page you would simply have a Group
> > named Animal that would have to have a homepage defined, be it Animal,
> > HomePage or any other name. [[Animal]] in it's sibling pages would
> > actually lead to [[Animal/$GroupPage]]
>
> Actually, this doesn't quite work. Suppose someone creates
> a generic page about dogs called Animal.Canine (with no subpages).
> The Animal.Canine page contains links to other pages in the
> Animal group, such as [[Feline]] and [[Reptile]].
>
> After this page is created (and has links to it from other places),
> someone decides that Animal.Canine should have subpages in it such as
> Animal.Canine.Beagle and Animal.Canine.Terrier. So, they create
> Animal.Canine.$GroupPage to be the home page for the canine group.
>
> What happens to the original Animal.Canine page? We can't just
> move its contents to Animal.Canine.$GroupPage, because then all of
> its links will be broken. And we can't say that /Animal/Canine
> is the same as /Animal/Canine/$GroupPage, because then we don't
> have a way to get to the contents of the original Animal.Canine page.
I didn't say that, what I said was that the /Animal/Canine group is the
same as saying /Animal/Canine/$GroupPage. In your example you would have
2 Canine pages set, the first would be /Animal/Canine and the 2n would
be /Animal/Canine/$GroupPage. If you want to link to this pages in a
sibling what would you do? [[Canine]] would link the the /Animal/Canine
page, that means you need to use [[Canine/$GroupPage]] to link to the
group page. The same can be said if a user wants to create a page called
/Animal, it wouldn't link to /Animal/$GroupPage, would it? After all
that's what's going to happen when you allow a page to lay in the same
level as the group
>
> > > Exactly. And I think filesystem syntax is too widespread and
> > > too far ingrained in the web itself for us to be able to dismiss it.
> > Yes but there is some similarity with XML namespace syntax. XML
elements
> > can have both text (act as a page) and childs (act as a group)
>
> Sure, but does XML support relative links between elements?
Yes, it does. XML doesn't have a concept of Group, to XML everything is
a Element. /Animal in XML is a element, not a group. As a element it can
have text (as a page does) and other elements as children (as a group).
To XML there is no need of a /Animal/$GroupPage because /Animal has it's
own text. To see how the elements relate to each other check
http://www.w3.org/TR/1999/REC-xpath-19991116 (xpath is how is called the
link system between XML elements)
Americo Albuquerque
PS - your email provider doesn't accept emails from my home email so I'm
sending the reply just to the list
More information about the pmwiki-users
mailing list