西瓜計画 n0007, 2001-02-22, 若葉。 分類: FYI。 URI の一部として使われる file の命名指針 1. 適用範囲 このメモは、西瓜計画の管理するサーバーにおいて、 URIの 一部として使われ得る file の命名についての指針を提示する。 その背景となる理論や理念等に付いては触れない。 このメモは強制力を持たない。 2. 概要 西瓜計画の http server のソフトウェアである Apache は、 http の機能を利用し、file の命名の工夫である資源名(URI) に複数の file を関連付けることが可能である。 このメモは、その機能を有効に生かした命名方法を説明する。 一貫性の観点から、http 以外の手順により利用される file にも応用されることが望ましい。 3. 定義 "/foo/bar/hogehoge.ext" という名前の file が存在したと して、このメモではその各部位について次の様に呼ぶ。 /foo/bar/hogehoge.ext [絶対]パス hogehoge.ext file 名 hogehoge 基底名 ext 拡張子 注意: 拡張子は複数重ねることが出来る。 例: foo.bar.hogehoge.kakukaku (拡張子は bar, hogehoge, kakukaku。) 4. file名 file名は、ISO/IEC 646 に含まれ、 [A-Za-z0-9._-] という 正規表現で表される文字から成らなければならない。 但し、最初の1文字については、 [A-Za-z] でなければなら ない。 参考1: directory 名についても同様である。 参考2: directoryの区切りとしては、「/」が使用される。 4. 基底名 基底名は、その file(群)の内容を端的に表したものとする。 例: index 文書の一覧 introduction 紹介文 suika 西瓜の絵 5. 拡張子 拡張子は、そのfileの性質を表した文字列を、必要に応じて 付与する。 a. 言語 文書などの言語を示す。画像などであっても、その中に文字 が含まれる場合などは、付与する。 例: ja 日本語 en 英語 fr 仏語 注意: 言語を表す拡張子は、複数使用出来る。例えば、 foo.ja.en というfile名は、fooというもので、第1言 語が日本語, 第2言語が英語であることを示している。 b. 種類 文書の機械可読形式としての表現法を示す。 例: txt plain-text html Hyper Text Markup Language css Cascading Style Sheets pdf PDF png PNG jpg JPEG c. 文字コード 文字コードが関係する種類(txt, htmlなど)にあって、その 文書の文字コードを明示するのに使用する。 文字コードが ISO-2022-JP系の場合、必要ない。 例: euc 日本語EUC sjis シフトJIS * 各種拡張子の指定順序について 各種拡張子は、原則として a, b, c の順に指定する。 例: foo.ja.html.euc 6. 注意 ひとまとまりの文書のfile群であっても、各fileの内容が同 一でない場合は、基底名を異なったものにする。 例: foo.html foo.txt foo-style.css foo-style.xsl この4つのfileは全て foo という事柄に関するという点 で共通であるが、前者2つは文書そのもの、後者2つは文書 のスタイル情報であるという点で相違している。 そこで、後者を foo.css のようにするのではなく、 基 底名を違ったものとし、区別する。 同一パスにおいて、directory名と基底名を同じにしない。 非推奨の例: /foo/bar/ directory。 /foo/bar directoryと同じ名前。 /foo/bar.ja directoryと同じ基底名。 * /fou/bar これは勿論問題ない。