<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>
<http://suika.fam.cx/~wakaba/archive/2005/5/equiv-percent-digit>
<http://suika.fam.cx/~wakaba/archive/2005/5/equiv-scheme>
scheme
において、大文字は小文字と等価。<http://suika.fam.cx/~wakaba/archive/2005/5/equiv-urn-nid>
<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 を任意個定義できます。
<urn:x-suika-fam-cx:>
の構文における
sub-nid
の値は、西瓜計画管理部登録名係で管理します。登録済み sub-nid
の一覧 [LIST] をご覧下さい。
新しい sub-nid
の登録や既存の
sub-nid
の登録内容の変更は、
次の手続きにより行います。
<sana@suika.fam.cx>
へ、
または電子ニュースで
suika.admin
(NNTP /
HTTP)
までお送り下さい。登録内容の変更の場合、非互換な変更を行うことはできません。
また、一旦登録したものを削除することはできません。
使用しないことにする時は、状態を非推奨
として下さい。
urn:
の他の名前空間, あるいは別の <urn:x-suika-fam-cx:>
URI
で表せるものに割当てを行うべきではありません。UUID には
<urn:uuid:>
を使うべきであり、新たに割当てを行うべきではありません。
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
の変更権は、登録者と西瓜計画管理部登録名係が有します。
<urn:ietf:rfc:2234>
。<urn:ietf:rfc:2119>
。<urn:x-suika-fam-cx:>
sub-nid
の一覧, 西瓜計画管理部登録名係,
<http://suika.fam.cx/admin/assign/urn-x-suika-fam-cx>
(最新版)。
<urn:x-suika-fam-cx:markup:>
URI の一覧, 西瓜計画管理部登録名係,
<http://suika.fam.cx/admin/assign/urn-x-suika-fam-cx-markup>
(最新版)。
<urn:ietf:rfc:3406>
。<urn:ietf:rfc:3986>
。<urn:ietf:rfc:2141>
。この文書で定義した <urn:x-suika-fam-cx:>
名前空間は
IANA
に登録されていないものですが、
IANA
に登録する際に使用する雛形 [RFC 3406]
を埋めたものを次に示します。
x-suika-fam-cx
w@suika.fam.cx
x-suika-fam-cx
は
実験用のための x-
接頭辞を使用し、
残りの部分は DNS の名前に基づいています。
余程のことがない限り、そして西瓜計画が DNS の名前
suika.fam.cx
を確保している限りにおいては、
第3者の識別子と衝突することはないと考えられます。sub-nid
はこの文書で登録手続きを規定しています。
手続きに従って sub-nid
が使用される限り、
この部分の固有性は保障されます。sub-nid
ごとに規定されます。
ですから、使用する sub-nid
によって識別子の全体としての固有性が決定されます。sub-nid
ごとに規定される部分の規定に対して永続性を保証することを求めています。