[10] XML名前空間において、名前空間接頭辞を除去した純粋な名前の部分を局所名や局所部分といいます。
[16] XML名前空間仕様自体では「局所部分」という名称を使っていますが、他の多くの仕様では
「局所名」と言っています。DOM の属性の名前も localName
です。
[定義: 名前Nが名前空間Iに属する場合と名前空間に属さない場合で、引用者による追記いずれの場合でも、局所名はNです。]
This document uses the phrase "namespace URI" to identify the concept identified in [Namespaces in XML] as "namespace name", and the phrase "local name" to identify the concept identified in [Namespaces in XML] as "local part".
[12] 修飾名 (QName) の後半、すなわち、
QName から名前空間接頭辞と :
を (あれば)
取り除いたものが局所名です。
[13] 局所名は、構文的には NCName
です。
(具体的に使える文字の種類は XML名前空間 1.0 と XML名前空間 1.1 で異なります。)
[15] RDF などでは、 QName を展開して1つの URI参照 (ないし IRI参照) として扱うことにしています。 そのような用途が想定される場合は、相互運用性の観点から、 ASCII に含まれない名前文字を局所名の一部に使用しない方が好ましいかもしれません。
[14] 名前空間接頭辞がない場合 (既定名前空間に属する場合)
には、局所名はそのものが1つの名前と見なされることになりますから、
最初の3文字が大文字または小文字の "XML"
であってはなりません。そのような名前は W3C が予約しています。
名前空間接頭辞がある場合でも、既定名前空間を使った場合に予約名となってしまう
"XML"
から始まるものは使わない方が良いとされています。
(詳しくは XML 名前空間の仕様書をご覧下さい。)
Node
界面 localName
属性 (DOM)[1] DOM2 読み取り属性
Node.
の値は、その節の局部名です (localName
DOMString
)。
[2] その節が要素節又は属性節のいずれでもない場合および
DOM1 の method で作成された節の場合には、
null
になります。
[3]
>>2 DOM である節点が DOM 水準 1 の
(名前空間を知らない) 節点なのか DOM
水準 2 以上の (名前空間を知っている)
節点なのかを判断するためには
localName
が null
かどうかを調べればいいことになっています。
[4]
が、困ったことに Gecko は
DOM 水準 1 の節点でも要素型名や属性名を
localName
にしている模様です。
(名無しさん 2005-05-13 11:07:46 +00:00)
[6] >>4 Operaも (確かSafariも) そう。
[7]
>>4 DocumentType
はlocalName
が常にnull
らしい。
[8] WinIE7 が XMLHttpRequest の responseXML
で返す XML DOM (MSXML?) は namespaceURI
や prefix
がありますが、
localName
はなぜかありません (undefined
)。
nodeName
に修飾名があるので、そこから取るしかありません。
[9] IRC logs: freenode / #whatwg / 20100906 ( ( 版)) <http://krijnhoetmer.nl/irc-logs/whatwg/20100906>