
[1]
[[展開名]]の [DFN[Clark [RUBYB[記法] @en[notation]]]]とは、
[[James Clark]] による [[XML名前空間]]の[[展開名]]の表記法を指します。

* 出店

[REFS[
- [2] [CITE@en[XML Namespaces]] ([[James Clark]] 著、1999年2月4日付)
<http://www.jclark.com/xml/xmlns.htm>
]REFS]

* 定義

[3]
- [[修飾名]]が[[名前空間URI]] を持たない場合、そのままにします。
- [[修飾名]]が[[名前空間URI]] を持つ場合、
[[名前空間接頭辞]]とその直後の [CODE(charname)@en[[[COLON]]]]
を、 [CODE(char)[[[{]]]], [[名前空間URI]], [CODE(char)[[[}]]]]
の列で置き換えます。

* 長短

[5] 
- [[名前空間接頭辞]]によるバリエーションの無い、
一意な[[名前]]の表現ができます。
- 明らかに [[XML]] の[[名前]]では無い括弧で括っているので、
本来の [[XML]] の[[修飾名]]と明確に区別できます。
- [[名前空間URI]] と[[局所名]]の区別が明確です。
[WEAK[([[RDF]] 型[[展開URI]] ではこの区別が失われます。)]]
- 冗長です。が、実用目的の記法ではなく、説明用のものですから、
短所というわけでもありません。

* 例

[EG[
[4] 例えば
[PRE(XML example code)[
<[CODE(XMLe)@en[doc]]><[CODE(XMLe)@en[[VAR[foo:]]x]] [CODE(XMLa)@en[[[xmlns]]:[VAR[foo]]]]="[CODE(URI)@en[http://www.jclark.com/]]"/></[CODE(XMLe)@en[doc]]>
]PRE]
... は、
[PRE(example code)[
<[CODE[[CODE(XMLe)@en[doc]]]]><[CODE[{[CODE(URI)@en[http://www.jclark.com/]]}[CODE(XMLe)@en[x]]]]/></[CODE[[CODE(XMLe)@en[doc]]]]>
]PRE]
... と表せます。
]EG]
