<urn:x-suika-fam-cx:> 名前空間

この版
<http://suika.fam.cx/admin/assign/urn-20050519>
<urn:x-suika-fam-cx:admin:27>
<http://suika.fam.cx/admin/doc.ad/n0027>
最新版
<http://suika.fam.cx/admin/assign/urn>
前の版
<http://suika.fam.cx/admin/assign/urn-20010531>
<http://suika.fam.cx/admin/assign/urn-20010421>

概要

この文書は、 URN <urn:x-suika-fam-cx:> 名前空間を定義し、その下位空間の割当てについて説明します。

はじめに

URI scheme urn: [URN]名前によって資源を識別する方法です。 この scheme を使った URI の構文は名前空間識別子 (NID) と素片識別子とその間の名前空間定義の部分に分けることができ、 名前空間定義の部分の構文と意味は名前空間識別子ごとの定義で決まります。

西瓜計画管理部では以前から x-suika-fam-cx という名前空間識別子のもと、名前空間定義の部分の構文を決定し、 識別子や識別子空間の割当てを行ってきました。 この文書はこれまでの決定を集成したものであり、 構文、等価性、意味、割当と委譲について説明しています。

表記法

この文書では、 RFC 2119 [KEYWORD] で定義された用語 しなければなりません (MUST), してはなりません (MUST NOT), するべきです (SHOULD), するべきではありません (SHOULD NOT), して構いません (MAY) を日本語で強調して使います。

構文の規定では、 ABNF [ABNF] を使います。但し、 URI は文字列であって必ずしもビット列ではないので、 終端はビット列ではなく文字であると考えます [URI 2.]。使用している構文規則のうち、この文書で定義されていないものは URI 一般構文の仕様書 [URI] で定義されています。

構文

この章では、 urn:x-suika-fam-cx: (大文字または小文字の任意の組合せ。) で始まる URI の構文を規定します。すべての urn:x-suika-fam-cx: から始まる URI は、この構文に適合しなければなりません。 また、この構文に適合する URI はすべて URI の一般構文 [URI] および urn: scheme の構文にも適合するはずです。もし一般構文とここで定義する構文とで矛盾があれば、 一般構文の規定が優先します。

suika-urn
= "urn:x-suika-fam-cx:" sub-nid *(":" suika-urn-atom) [":"] ["#" fragment]
sub-nid
= suika-urn-atom
suika-urn-atom
= 1*(ALPHA / DIGIT / "-" / pct-encoded)

素片識別子 (fragment の部分) は資源の表現の媒体型によって決定されます [URI] から、 この文書では規定しません。

Scheme 名である urn と、名前空間識別子である x-suika-fam-cx は、大文字・小文字のどの組合せで綴っても構いませんが、すべて小文字で書くべきです

suika-urn-atom では、一般に大文字・小文字を区別します。但し、 sub-nid によって特に規定がある場合はこの限りではありません。 なお、 sub-nid 自体では大文字・小文字を区別します

一般に、非予約な文字はそのまま記述しても、 百分率符号化しても常に等価です [URI 2.3.]。 しかし、非予約な文字を百分率符号化するべきではありません

非予約な文字以外は、構文的な意味を持つ場合 (例えば suika-urn 内の COLON) を除き、百分率符号化しなければなりません。 非 ASCII 文字は UTF-8 [ISO 10646] で符号化してから百分率符号化しなければなりません

非予約な文字のうち、 LOW LINE, FULL STOP, TILDE は使用することができません。 この文書の将来の版では使用を認めるかもしれません。

ASCII 文字は正規化などの問題があるため、 可能な限り避けた方がよいです。 この文書の将来の版では何らかの制限や指針を加えるかもしれません。

以前は suika-urn の末尾の COLON無視しなければならないとされていましたが、 新しい応用は無視してはなりません。 しかし、 COLON の有無だけが異なる2つの URI に異なる意味を与えてはなりません (一方は未定義であっても構いません)。

正規化と比較

URI に対しては様々な等価性が定義できます [URI 6.]

単純文字列比較

最も簡単なのは単純な文字列としての比較 [URI 6.2.1.] です。この比較方法では、2つの URI を構成する文字を比較し、まったく同じであれば等価、 そうでなければ異なるとします。

urn:x-suika-fam-cx: URI は単純な名前として使われることが多いと考えられますから、 ほとんどの場合はこの方法で比較がなされることとなるでしょう。 ですから、できるだけ常に正準形に正規化された URI を使用するべきです

等価性特性

何らかの正規化を行った上で行う比較 (あるいは何らかの違いを無視した比較) には色々な方法があります。 ここではその正規化の性質とその名前 (等価性特性) を定義します。

識別子
<http://suika.fam.cx/~wakaba/archive/2005/5/equiv-percent>
等価性
非予約文字を百分率符号化したものは、 非予約文字そのものと等価。
正準形
非予約文字そのものによる表現 [URI 6.2.2.2.]
識別子
<http://suika.fam.cx/~wakaba/archive/2005/5/equiv-percent-digit>
等価性
百分率符号化した結果における小文字は、大文字と等価。
正準形
大文字 [URI 6.2.2.2.]
識別子
<http://suika.fam.cx/~wakaba/archive/2005/5/equiv-scheme>
等価性
scheme において、大文字は小文字と等価。
正準形
小文字 [URI 6.2.2.1.]
識別子
<http://suika.fam.cx/~wakaba/archive/2005/5/equiv-urn-nid>
等価性
URN の名前空間識別子において、 大文字と小文字は等価。
正準形
小文字。
識別子
<http://suika.fam.cx/gate/2005/sw/urn%3Ax-suika-fam-cx#anchor-6>
等価性
urn:x-suika-fam-cx: で始まる URI (これ自体を含みません。) において、末尾に COLON が含まれても含まれなくても等価。
注意
この等価性は、以前の規定との互換性のためにここに定義しますが、 新しい応用では使用してはなりません

解決

ある URI が直接取出し (retrieve) できない場合において、その URI の代わりに取出しを行うことでその URI から取出しを行ったとみなしても良いと考えられる別の URI が存在する時、これを解決 URI といいます。 解決 URI は、元の URI とある文脈において同等と考え得る一次解決 URI と、 同等ではないものの代わりとし得ることがある二次解決 URIに分けることができます。

urn:x-suika-fam-cx: に属する URI には、解決 URI を任意個定義できます。

西瓜 Webではこれを利用した解決器を提供する予定です。

数年前に解決器が運用されていましたが、現在諸事情により停止しています。

割当

<urn:x-suika-fam-cx:> の構文における sub-nid の値は、西瓜計画管理部登録名係で管理します。登録済み sub-nid の一覧 [LIST] をご覧下さい。

新規登録・登録内容の変更

新しい sub-nid の登録や既存の sub-nid の登録内容の変更は、 次の手続きにより行います。

  1. 登録雛形を埋めて、電子メイルで <sana@suika.fam.cx> へ、 または電子ニュースsuika.admin (NNTP / HTTP) までお送り下さい。
  2. 電子メイルでお送り頂いた場合は、担当者が電子ニュースに転送します。
  3. 最低2日の評価期間中に技術的、その他の問題を検討します。
  4. 評価の結果特に問題が無ければ、あるいは評価期間中の修正を経て、 担当者は登録簿 [LIST] を更新します。

登録内容の変更の場合、非互換な変更を行うことはできません。 また、一旦登録したものを削除することはできません。 使用しないことにする時は、状態を非推奨として下さい。

登録の条件

他の URI で表せないこと
他の URI scheme, urn: の他の名前空間, あるいは別の <urn:x-suika-fam-cx:> URI で表せるものに割当てを行うべきではありません

UUID には <urn:uuid:> を使うべきであり、新たに割当てを行うべきではありません。

一次定義文書が存在しないこと
一次定義文書が存在する場合は、新たに割当てを行うべきではありません。 代わりに、取出し可能な場所に配置し、その取出しプロトコルに対応する URI を使用するべきです。

XML 名前空間名として使用する URI は、例えば HTTP で取出し可能な場所に名前空間文書 (人間可読な説明文や DTD など) を配置し、その http: URI を使用するべきです。

RDF 語彙は、 RDF/XML などによる表現を 例えば HTTP で取出し可能な場所に名前空間文書 (人間可読な説明文や DTD など) を配置し、その http: URI を使用するべきです。

ある名前空間を使わない XML の語彙があり、 その語彙を管理している組織が今後も名前空間 URI を定義しそうにない場合、 <urn:x-suika-fam-cx:> URI を割当てても構いません。 名前空間定義文書の代わりに使えそうな資源が公式に提供されていれば、 それを一次解決 URI に指定するべきです。非公式に提供されていれば、 それを二次解決 URI に指定するべきです。

実際には、この例の場合は <urn:x-suika-fam-cx:> 名前空間直下にではなく、 <urn:x-suika-fam-cx:markup:> [LIST-MARKUP] に登録するべきです。

権利上問題が無いこと
権利等の問題があるものを割当ててはなりません。例えば、 著作権上問題があるプログラムの断片を使用することはできません。 また、商標権的に問題となり得る名前を使用してはなりません。

登録雛形

sub-nid の登録の際には次の雛形を埋めて提出する必要があります。

sub-nid
(urn:x-suika-fam-cx: の直後に来る文字列です。)
版番号
(最初の登録では 1 とし、 以後修正がある毎に1ずつ増やしていきます。 必要があれば飛ばしても構いません。)
登録日
(提案 (登録) 者は提出時には空欄としておきます。 登録担当者は登録時に日付を挿入します。)
登録者
(登録者の名前と連絡先です。連絡先は電子メイルのアドレスにするべきです。)
構文と意味
(sub-nid より後で、 "#" fragment より前に来る文字列の構文と意味です。規定の方法は自由ですが、 曖昧なく定義しなければなりません。 構文は可能な組合せをすべて列挙するか、 または ABNF [ABNF] を使用するのが望ましいです。西瓜 Webにある文書を参照しても構いません。)
識別子の固有性
(識別子の固有性に関する考察です。 異なる意味を持つ同じ識別子が同時に存在してしまうことは防ぐべきです。)
識別子の永続性
(識別子の永続性に関する考察です。 ある識別子が一旦割当てられた後は、その識別子を別のものに割当ててはなりません。 使用を中止する時はそのことを明記して保留しなければなりません。)
識別子割当手続き
(識別子の割当ての方法についての規定です。)
識別子解決処理
(識別子の解決の方法についての規定です。)
識別子の等価性
(識別子の等価性についての規定です。)

権利等に関して

著作権等の問題がある URI<urn:x-suika-fam-cx:> のもとに作成してはなりません

割当てられた、あるいは下位で委譲された <urn:x-suika-fam-cx:> URI は、 原則としてどなたでも自由に使用して構いません。

登録済み sub-nid の変更権は、登録者と西瓜計画管理部登録名係が有します。

参考文献

ABNF
RFC 2234, Augmented BNF for Syntax Specifications: ABNF, D. Crocker, P. Overell, IETF, 1997年11月, <urn:ietf:rfc:2234>
ISO 10646
ISO/IEC 10646:2003, Information Technology ― Universal Multiple‐Octet Coded Character Set (UCS), ISO/IEC, 2003年12月。
KEYWORD
RFC 2119, Key words for use in RFCs to Indicate Requirement Levels, S. Bradner, IETF, BCP 14, 1997年3月, <urn:ietf:rfc:2119>
LIST
登録済み <urn:x-suika-fam-cx:> sub-nid の一覧, 西瓜計画管理部登録名係, <http://suika.fam.cx/admin/assign/urn-x-suika-fam-cx> (最新版)。
LIST-MARKUP
登録済み <urn:x-suika-fam-cx:markup:> URI の一覧, 西瓜計画管理部登録名係, <http://suika.fam.cx/admin/assign/urn-x-suika-fam-cx-markup> (最新版)。
RFC 3406
RFC 3406, Uniform Resource Names (URN) Namespace Definition Mechanisms, L. Daigle, et al., IETF, BCP 66, 2002年10月, <urn:ietf:rfc:3406>
URI
RFC 3986, Uniform Resource Identifier (URI): Generic Syntax, T. Berners‐Lee, et al., IETF, STD 66, 2005年1月, <urn:ietf:rfc:3986>
URN
RFC 2141, URN Syntax, R. Moats, IETF, 1997年5月, <urn:ietf:rfc:2141>

URN 名前空間識別子定義雛形

この文書で定義した <urn:x-suika-fam-cx:> 名前空間は IANA に登録されていないものですが、 IANA に登録する際に使用する雛形 [RFC 3406] を埋めたものを次に示します。

名前空間識別子
x-suika-fam-cx
登録情報
版 4
日付: 2005-05-20
名前空間定義者
名前
西瓜計画管理部登録番号係
担当者
わかば
電子メイル: w@suika.fam.cx
構造
構文の章で規定しています。
関連補助文書
この文書と登録簿 [LIST]
識別子固有性
名前空間識別子 x-suika-fam-cx は 実験用のための x- 接頭辞を使用し、 残りの部分は DNS の名前に基づいています。 余程のことがない限り、そして西瓜計画DNS の名前 suika.fam.cx を確保している限りにおいては、 第3者の識別子と衝突することはないと考えられます。
sub-nid はこの文書で登録手続きを規定しています。 手続きに従って sub-nid が使用される限り、 この部分の固有性は保障されます。
更に、残りの部分は sub-nid ごとに規定されます。 ですから、使用する sub-nid によって識別子の全体としての固有性が決定されます。
識別子永続性
識別子固有性の項で述べたことが永続性についても言えます。
この文書は、 sub-nid ごとに規定される部分の規定に対して永続性を保証することを求めています。
識別子割当処理
割当の章で規定しています。
識別子解決処理
解決の章で規定しています。
字句等価性規則
正規化と比較の章で規定しています。
URN 構文適合性
特記事項なし。
検証機構
規定なし。
適用範囲
大域。