<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> 
古い版の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SuikaWiki</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WikiNameの名前空間</anchor>機能を実装していました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> 
現在の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SuikaWiki</anchor> は過去のデータとの互換性のために必要な程度にのみ対応しています。
新たに利用はしないでください。</p><section><h1>名前空間の仕様 (WikiName 編)</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <dfn>WikiName</dfn> を、任意の個数のWiki名前空間名と(狭義の) WikiName 
を名前空間区切子で連結したものとして再定義します。
<dfn>名前空間区切子</dfn>には <code class="wiki">//</code> を使います。</p><p>(<var>n</var> + 1) 番目の部分の名前を持った Wiki 名前空間又は WikiPage
は、 <var>n</var> 番目の部分の名前を持った Wiki 名前空間に所属します。
但し、 1 番目の部分の名前を持った Wiki 名前空間又は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WikiPage</anchor>
は根名前空間 (従来における唯一の名前空間に相当。) に所属します。</p><p>例:<ul><li>WikiName <samp class="wiki">Foo//Bar</samp> は、根名前空間に属する Wiki 名前空間 
<samp class="wiki">Foo</samp> に属し、(狭義の) WikiName が <samp class="wiki">Bar</samp>
である WikiPage を表します。</li><li>WikiName <samp class="wiki">Foo//Bar//Baz</samp> は、根名前空間に属する  
Wiki 名前空間 <samp class="wiki">Foo</samp> に属する 
Wiki 名前空間 <samp class="wiki">Bar</samp> に属し、
(狭義の) WikiName が <samp class="wiki">Baz</samp> である WikiPage を表します。</li><li>WikiName <samp class="wiki">Foo</samp> は、根名前空間に属する WikiPage 
<samp class="wiki">Foo</samp> を表します。 (そしてこれは、従来の WikiPage
<samp class="wiki">Foo</samp> と同じものを表します。)</li></ul></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> WikiName の始めの名前空間区切子, 
最後の名前空間区切子はあっても無くても同じです。
また、連続した名前空間区切子は1つの名前空間区切子とみなします。</p><p>但し、 WikiName と Wiki名前空間名を混在して扱う場面
(あまりない。) では、 WikiName の最後が名前空間区切子である場合には
Wiki名前空間名であるとみなすので、その有無で意味が異なってきます。</p><p>例:<ul><li><samp class="wiki">//Foo</samp> と <samp class="wiki">Foo//</samp> と <samp class="wiki">Foo</samp> は同じです。</li><li><samp class="wiki">Foo//Bar</samp> と <samp class="wiki">Foo////Bar</samp> は同じです。</li></ul></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <em>一番最初の部分に限って</em>、自己参照子, 親参照子が使えます。
<dfn>自己参照子</dfn>は <code class="wiki">.</code>, <dfn>親参照子</dfn>は
<code class="wiki">..</code> です。</p><p>両参照子が含まれる WikiName は、基底 WikiName
に従って解決されます。 <dfn>基底 WikiName</dfn> は、普通参照がある
WikiPage (リンク元 WikiPage。) になります。</p><p>自己参照子は基底 WikiName を名前とする Wiki名前空間,
親参照子は基底 WikiName の所属する Wiki名前空間に置き換えられます。</p><p>例:<ul><li>基底 WikiName が <samp class="wiki">Foo//Bar</samp> である時、<ul><li><samp class="wiki">.//Baz</samp> は <samp class="wiki">Foo//Bar//Baz</samp> になります。</li><li><samp class="wiki">..//Baz</samp> は <samp class="wiki">Foo//Baz</samp> になります。</li><li><samp class="wiki">..//..//Baz</samp> は不正です。</li><li><samp class="wuiki">..</samp> は <samp class="wiki">Foo</samp> になります。</li></ul></li></ul></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> (狭義の) WikiName 及び Wiki名前空間名には、名前空間区切子,
自己参照子, 親参照子, 文字 <code>0</code> は使えません。
また、 Wiki名前空間名は斜線で終わることは出来ません。</p><p>例:<ul><li>WikiName <samp class="wiki">..</samp> は不正です。相対名とみなされます。</li><li>WikiName <samp class="wiki">Foo//..//Bar</samp> は不正です。</li><li>WikiName <samp class="wiki">Foo//0</samp> は不正です。</li><li>WikiName <samp class="wiki">text/plain//(^^)///顔文字。</samp> は、
根名前空間に属する Wiki名前空間 <samp class="wiki">text/plain</samp>
に属する Wiki名前空間 <samp class="wiki">(^^)</samp> に属する
WikiPage <samp class="wiki">/顔文字。</samp> を表します。</li></ul></p></section><section><h1>メモ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end>  やっとですが、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WikiName</anchor> の名前空間に対応しました。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">わかば</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2003-03-27 16:48</weak>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end>  2日間の実装・実験期間を経て <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CVS</anchor> HEAD に merge しました。 (もっと実験する予定だったけど、待ちくたびれなくて(w)
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">わかば</anchor>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end>  名前空間を使ってみるテストには <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SandBox//NameSpace</anchor> をご利用下さい。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">わかば</anchor> [sage])</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end>  斜線で終わる WikiName は今のところ禁止されていませんが、その名前を名前空間とする下位頁を考えると推奨できません。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">わかば</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2003-03-27 17:36</weak>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end>  ところで、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">comment</anchor> を分割して <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">comment//MessageHeader</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">comment//SGML</anchor> にしてみたんですが・・・なんかぴんときません。</p><p>その理由はおそらく、これが本来「メッセージ・ヘッダーの comment」や「SGML の comment 要素」のような名前になるべきだからでしょう。</p><p>SuikaWiki の、というか SuikaWiki の内容の現在の編集方針では、(もともと名前空間がなかったことも原因ではありますが) 特定の技術の何かという分類より、何かの特に特定技術について、という分類の仕方がされてます。名前が同じからには共通点や類似性や共有する歴史とかがあるはずで、そういう技術間の横のつながりに焦点を当てたいってのがあります。だから言語的な順番と内容的な順序が入れ替わってて、しっくりこないんでしょうね。</p><p>で、このことを決定的に問題付けているのは、リンクの始点アンカーの文字列が終点アンカーの WikiName に固定されていることのように思えます。始点アンカーの文字列は普通その属する文章の一部であって、名前空間名つきの WikiName では齟齬が生じるのですね。当然といえば当然です。</p><p>この解決として、世間の Wiki では狭義の WikiName を始点アンカーにする方策が採られていることが多いような気がしますが、前述の通り SuikaWiki でこれをやると、 <samp class="ABNF">comment</samp> を参照したいのに始点アンカーが <samp class="wiki">MessageHeader</samp> になっちゃって、話にならん。多分リンク元文書も message についての話題なんでしょうから、文書中「message」という始点アンカーだらけになりかねません。</p><p>解決策はもう、始点アンカーを自由に設定できるようにするしかなさそうです。
今まで SuikaWiki でこの機能を採用してこなかったのは、<ul><li>リンク先が不透明になる<ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">title</anchor> 属性の補助で (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML4</anchor> 以上対応の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UA</anchor> で読むなら) 解決済み。</li></ul></li><li>WikiName のファイル名化の危惧<ul><li>杞憂かも。</li></ul></li></ul></p><p>なので、別に導入してもいいような気がします。</p><p>(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">わかば</anchor>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end>  でも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日本の祝日</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">祝日//日本</anchor>になるのはなんだかなあ。かといって、逆転させて後ろを大分類にするのも何か違う気がする。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">わかば</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2003-03-27 17:54</weak>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end>  WikiName はファイル名化してしまうという選択子もあるね。どうかとは思うけど。つまり、リンク先 WikiPage に題名情報を持たせて、それを既定の始点アンカー文字列にしてしまう。</p><p>SuikaWiki の画像埋め込み (<code class="wiki">#embed:IMG:</code>) は既にそうなっているわけで。
(始点アンカー = <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">img</anchor> 要素 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">alt</anchor> 属性は画像のある WikiPage の <code class="wiki">image-alt</code> 属性の値になる。)
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">わかば</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2003-03-27 17:59</weak>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end>  <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;11</anchor-internal> のように思ったのは、例えば従来の <samp class="wiki">RFC1234</samp> は <samp class="wiki">RFC//1234</samp> にしてしまって、始点アンカー文字列は (題名として記録してある) <samp>RFC 1234</samp> を使うのはどうだろ、と思って。</p><p>始点アンカーを <samp>Tunneling IPX Traffic through IP Networks</samp>
とか任意の文字列にしたいなら、参照側でそう上書きすればいいわけで。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">わかば</anchor>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end>  ところで話は変わりますけど、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HashedWiki</anchor>
みたいなことやってみたいと思ってます。
モジュール書いて。文書 = 名前空間, 段落 = WikiPage にしてみるわけです。</p><p>上手く利用者界面を実装すれば結構使い物になるんじゃないかと思うんですが、どうでしょう?
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">わかば</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2003-03-27 18:05</weak>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end>  <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;13</anchor-internal> の問題は、段落 (WikiPage) の名前をどうするかということです。段落に一々名前付けるの? めんどくさ〜い。かといって<samp class="wiki">段落1</samp>みたいな匿名段落もちょっとなぁ。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">わかば</anchor>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end>  しかしまあ、同じようなことはもう考えている人がいるわけで。 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="IW" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="HashedWiki:ParagraphOrientedWiki">IW:HashedWiki:ParagraphOrientedWiki</anchor-external>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">わかば</anchor>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end>  <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;14</anchor-internal> 名前を付けたい時は付けれて、つける必要のないときはつけなくてもいいスタイルでやってけばいいのかなあ。昔の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML</anchor> の <code class="HTML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">nextid</anchor></code> みたいな感じで。</p><p>(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">わ</anchor>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end>
2年経ったわけだけど結局名前空間が有効に機能したのは
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Wiki</anchor> 以下の階層に管理用のものを押し込めただけ。
やっぱり名前空間は失敗だったかも (と2年前からずっと思ってたわけですが。。。。)
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2005-07-21 04:47:42 +00:00</weak>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end>
一応うまく行った例にはあと <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">BugTrack</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Calendar</anchor>
もあった。</p><p>でも <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;17</anchor-internal>-18 の3つのどれも WikiName を title
でなくファイル名として扱っているところがあるわけで。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end></p><p><cite xml:lang="ja">冬様もすなる☆日記というもの (2008年11月)</cite> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">わかば</anchor> 著, <time>2008-11-10 23:04:12 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://suika.fam.cx/~wakaba/d/d200811#d10-1">http://suika.fam.cx/~wakaba/d/d200811#d10-1</anchor-external></p></section></body></html>