On Mon, 2002-12-09 at 03:53, Jonathan Walther wrote:
I have a goal for the design. My goal is that, once a Wikilink is exploded based on the ':' character, I can do simple database lookups, and append the results together to get the target URL without having to do any parsing on the data I looked up.
For instance, let us take a link Talk:foo
I can explode this into Talk and foo.
Each namespace has an "urlprefix". For Talk, the urlprefix would be http://www.wikipedia.org/Talk
Now, let's add a (separate) language into the mix. en:Talk:foo
I can explode it into en, Talk, and foo.
Now, the urlprefix for Talk is the same. How do I say that it is an english language page? The normal, standard way to do this would be like so:
http://www.wikipedia.org/en/Talk/foo
That feels "right" to me. But doing that would require parsing the urlprefix for the namespace to figure out where to put in the language. I don't want to do that, and don't feel I should have to.
You're also making the slash back into a magic character, which was part of the whole problem. If someone creates a page named [[Talk/Listen]] for some reason (say a film comes out with that title), then your scheme would cause a collision.