- [8] 一般に、[[名前空間]]を示すための[[接頭辞]]を、 (そのままですが) [DFN[名前空間接頭辞]]といいます。具体的にどんなものでどんな意味かは、 [WEAK[(そりゃぁ名前空間の接頭辞であることは明らかですが、)]] その場面によって異なります。 [[#comment]] *XML 名前空間接頭辞 (namespace prefix) [1] >[定義: [[属性名]]が[CODE@en[[[PrefixedAttName]]]]に[[一致]]する時、 その[CODE[[[NCName]]]]が[DFN[[RUBY[名前空間接頭辞][なまえくうかんせっとうじ]@en[namespace prefix]]]]となり、 その[[宣言]]が付された[[要素]]の[[適用範囲]]内の[[要素名]]や[[属性名]]を[[属性値]]中の[[名前空間名]]と関連付けるために使います。] [SRC[XML名前空間 1.1]] [10] 仕様書: -[[XML名前空間]] -- [2] >>1 の定義において、属性名・属性値というのは [SAMP(XML)[xmlns:foo="http://foo.example/"]] のような属性のものを指します。 つまり、この例でいうと [SAMP(XML)[foo]] が名前空間接頭辞になります。 - [3] 名前空間接頭辞を[[要素型]]名や[[属性]]名で使うときには、必ずその要素又は祖先要素で [[xmlns]]:* 属性を使って[[宣言]]しておかなければなりません。 (ただし、暗黙のうちに宣言されている [[xml]], [[xmlns]] 両接頭辞は陽に宣言する必要はありません。) () [[#comment]] **特殊な名前空間 [4] 次の2つの名前空間は、常に特定の接頭辞と結びつき、 暗黙のうちに宣言されているとみなされます。 ,[[xml]] ,[[http://www.w3.org/XML/1998/namespace]] ,[[xmlns]],[[http://www.w3.org/2000/xmlns/]] また、 [CODE(ABNF)["XML"]] から始まる名前空間接頭辞は XML・関連規格での使用のために予約されていますから、 一般の用途には使えません。 [7] >>4 の内容は >>6 の正誤表で規定されているもので、 仕様書原文には違ったことが書かれています。 [CODE(XML)[xml:]] についてはほぼ同様ですが、 [CODE(XML)[xmlns:]] は[[名前空間名]]とは関係のない特別なものとされていました。 また、両名前空間接頭辞/名の特別な関係 (他の接頭辞/名と関連付けられない。) や暗示されているが明示しても良いこと、 [CODE(ABNF)["XML"]] から始まるという予約接頭辞については曖昧であるか触れられていませんでした。 (正誤表を参照していない解説等は古い内容を基にしている可能性が高いですから、注意が必要です。) - [5] ''ノート 2003年04月 - マークの付けかた: Namespace name と prefix の対応'' -[6] ''Namespaces in XML Errata'' [9] >>7 への補足。接頭辞 [CODE(XML)[xml:]] は陽に宣言することもできます (MAY) が、接頭辞 [CODE(XML)[xmlns:]] は陽に宣言することはできません (MUST NOT)。念のため。 [[#comment]]