version

SuikaWikiConfig/2.0

[25] SuikaWikiConfig/2.0 は、 SuikaWiki3 の種々の設定ファイルや WikiPlugin 原始ファイルの記述のために設計された汎用の記述形式です。 SuikaWiki のほかにも、いくつかの簡易工具で使用されています。

SuikaWikiConfig/2.0 では、入れ子になった構造 (木構造) を手軽に扱うことができます。また、簡単な並び (リスト) を扱うこともできます。

SuikaWikiConfig/2.0 構文

改行の取扱い

[18] 改行 (CRLF) は、環境に応じて CR, LF, CRLF のいずれを使ってもよい。 また、これらが混在してもよい。正規形は CRLF とし、 解析器は構文解析の前に正規形に変換されているかのように扱わなければならない。 ネットワーク転送時には正規形にするべきである

符号化文字集合

[19] SuikaWikiConfig/2.0 文書は、 構文に必要な文字を含んでいるどのような符号化文字集合を使って表現してもよい。 解析器は MIME charset US-ASCII に対応しなければならない

SuikaWikiConfig/2.0 文書の符号化文字集合には、 US-ASCII の符号化文字をすべて含むものを使用することを推奨する。 解析器や応用プログラムの使用する符号化方式は、実装定義とする。

SuikaWikiConfig/2.0 情報集合

[20] SuikaWikiConfig/2.0 情報集合は、 SuikaWikiConfig/2.0 で表現できる情報の抽象模型である。 解析器は、情報集合の情報項目に対応する情報を応用プログラムに提供できなければならない (が、具体的な提供方法は実装定義とし、情報集合の抽象模型に直接対応する必要はない)。

[30] SuikaWikiConfig/2.0 では、注釈情報項目のは常に文書情報項目とする。 将来の版の SuikaWikiConfig では、要素情報項目もと認めるかもしれない。

直列化

[21] SuikaWikiConfig/2.0 情報集合を SuikaWikiConfig/2.0 文書に直列化するときに、次の場合にはそのままでは直列化できない。

これらの場合は誤りとする。直列化器は誤りから回復してもよい

識別子

[22] SuikaWikiConfig/2.0 文書のインターネット媒体型application/x.suikawiki.config とする。

引数:

名前値の型既定値意味
charsetcharset(ほぼ必須)MIME charset
version"2.0"(必須)SuikaWikiConfig の版

引数 charset は、外部プロトコルの一部を構成する場合 (たとえば XML 実体に直接埋め込まれている場合) には使用してはならない。外部プロトコルが別途指定手段を有するときや、 SuikaWikiConfig/2.0 文書そのものは転送されない場合 (たとえば HTTPAccept: 欄の場合) には省略してもよい。 それ以外の場合 (たとえば MIME や HTTP の Content-Type: 欄の場合) には指定しなければならない

SuikaWikiConfig/2.0 の処理器が version2.0 でない実体を渡されたときの動作は実装定義とする。

[31] 参考: HTTP の Accept: 欄を使用する場合で、 charset を指定したい時は、通常 charset 引数ではなく Accept-Charset: 欄を使用する。

[23] SuikaWikiConfig/2.0 を構文として使用する応用形式は、 独自の媒体型を定義してもよい。その場合は媒体亜型の最後を +swcfg としなければならない。 また、引数 charset および version>>22 と同じと定義するか、またはより制限されたものとしなければならない。 処理器は、未知の媒体型であっても +swcfg で終わるものは application/x.suikawiki.config とみなすべきである

歴史

[27] SuikaWikiConfig/2.0 は、 SuikaWiki3 を期に SuikaWikiConfig/0.9, SuikaWikiConfig/1.0, SuikaWikiConst/0.9, SuikaWikiConfig/1.1 を統一・拡張して設計されました。

[28] SuikaWikiConst/0.9 などは SuikaWiki2 で使用されていた書式です。

[32] 2004年9月21日: >>29-32 を追加。 >>23 の typo を修正。 >>10 は削除。

[34] 2005年2月17日: >>33 を追加。

[24]

#?SuikaWikiConfig/2.0
Foo:
  aiueo
Bar: aiueo
# comment
# comment
FooBar:
  @@:something
  @Foo:\ foo 
  @Bar:
  bar
  foo
  @foo:
    @@foo:@@foo@@
    @@bar:@@bar@@
    @@\@foo:@@foo@@
    @@@: FOO BAR
  @\@foo:Hello!
  @bar:
   \@foo:bar
foo[list]:
  http://foo.example/
  http://bar.example/
  http://baz.example/

メモ