<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="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <dfn>SWML</dfn> は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SuikaWiki</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>ベースのいわゆる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Wiki構文</anchor>と、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM</anchor> 表現が定義されています。</p><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><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> <cite xml:lang="en">SuikaWiki Markup Language (SWML)</cite> (<time>2016-03-01 21:51:13 +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="https://suikawiki.github.io/spec-swml/spec/">https://suikawiki.github.io/spec-swml/spec/</anchor-external><ul><li><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> 旧 <cite xml:lang="en">SuikaWiki Markup Language (SWML)</cite> <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/www/markup/suikawiki/spec/swml-work">http://suika.fam.cx/www/markup/suikawiki/spec/swml-work</anchor-external></li></ul></li></ul></refs></section><section><h1>文脈</h1><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> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SuikaWiki</anchor> で使われている他、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SuikaWiki</anchor> とは関係のないいくつかの
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webアプリケーション</anchor>でも採用されています。</p></section><section><h1>ご案内</h1><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> このウィキでの記事の書き方は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HelpPage</anchor> をご覧ください。</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> このウィキの新機能の追加、変更は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Wiki//News</anchor> をご覧ください。</p></section><section><h1>MIME型</h1><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> 
<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SWML MIME型<rt xmlns="http://www.w3.org/1999/xhtml">SWML MIME type</rt></rubyb></dfn>は、</p><ul><li><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> <dfn><code>text/x-suikawiki</code></dfn></li><li><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> <dfn><code>text/x.suikawiki.image</code></dfn></li></ul><p>です。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src></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> 
ただし、 
<code>text/x.suikawiki.image</code>
を新規に用いては<MUST xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">なりません</MUST>。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src></p></section><section><h1>歴史</h1><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:">SWML</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SuikaWiki</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マーク付け言語</anchor>で、その起源は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SuikaWiki1</anchor>
に遡ります。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SuikaWiki1</anchor> は<time>平成14(2002)年<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2002</attrvalue></time>頃に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">YukiWiki1</anchor> をほぼそのまま動かしたものでしたから、
当時の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マーク付け言語</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Wiki構文</anchor>) は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">YukiWiki1</anchor> の構文そのものでした。
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>YukiWiki1</anchor>, <anchor>SuikaWiki1</anchor> </sw-see></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> 
<time>平成14(2002)年6月<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2002-06</attrvalue></time>以後開発が進められた <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SuikaWiki2</anchor>
は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">YukiWiki2</anchor> から派生した <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WalWiki</anchor> から多くのコードを取り込みました。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マーク付け言語</anchor>は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">YukiWiki2</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WalWiki</anchor> 
に合わせた変更が加えられましたが、そのすべてを受け入れたわけではありませんでした。
そのかわりというわけではありませんが、独自の機能の追加が始まりました。
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>SuikaWiki2</anchor> </sw-see></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> 
平成14年か遅くても平成15年には、独自の進化を始めた<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マーク付け言語</anchor>を
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SuikaWiki/0.9</anchor> と呼ぶようになりました。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SuikaWiki</anchor> への機能追加に伴い<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マーク付け言語</anchor>の記述能力も高まっていきました。
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>SuikaWiki/0.9</anchor></sw-see></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:">画像</anchor>埋め込み機能を追加した派生言語である
<dfn>SuikaWikiImage/0.9</dfn>
も作られました。</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> 
平成16年には <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SuikaWiki3</anchor> の開発が始まりました。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SuikaWiki3</anchor>
で新たに追加された機能を含む<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マーク付け言語</anchor>は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SuikaWiki/0.10</anchor>
と呼ばれました。
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>SuikaWiki/0.10</anchor> </sw-see></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">
<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> 
なお、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">設定ファイル</anchor>の記述形式として
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SuikaWiki2</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SuikaWiki3</anchor> 時代に
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SuikaWikiConst/0.9</anchor>,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SuikaWikiConfig/0.9</anchor>,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SuikaWikiConfig/1.0</anchor>,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SuikaWikiConfig/1.1</anchor>,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SuikaWikiConfig/2.0</anchor>
が使われましたが、これらは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SWML</anchor> と互換性のない別の言語です。</comment-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> 
平成20年前後、
記事を長期にわたって編集し続けるウィキの仕組みと、版で機能を凍結する言語の
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">versioning</anchor>
の相性の悪さが問題となり、従来の
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SuikaWiki/0.9</anchor>,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SuikaWikiImage/0.9</anchor>,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SuikaWiki/0.10</anchor>
を単一の言語に統合して<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">後方互換性</anchor>を保ちながら新機能の追加を続ける方針に転換しました。
また、構文解析の方法とそれによって生成される <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM</anchor> の構造を明文化すると共に、
それに準拠した<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">テスト</anchor>データを整備することで、
将来にわたって文書の意味を安定的に解釈できるようにしました。
この言語と仕様書の名称を <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SWML</anchor> としました。</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 xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SuikaWiki</anchor> で必要な機能を中心に、他の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応用</anchor>の要件も勘案しつつ、
随時機能追加を行いながら現在に至っています。</p></section><section><h1>メモ</h1></section></body></html>