#?SuikaWiki/0.9
[1] 【[[XML名前空間]]】 [[名前空間接頭辞]]つきの[[属性名]]を持つ[[属性]] ⇔ [[名前空間名]]を持つ属性 ⇔ 特定の[[要素型]]に属さない属性 ⇔ 大域属性 ⇔ Global attribute。
[2]
たとえば、 [SAMP(XML)[]] の [SAMP[attr]] 属性は、接頭辞を持っていません。この属性は要素型区画に属しています。これは大域属性ではありません。
一方で、 [SAMP(XML)[]]
では、 [SAMP(XML)[attr]] 属性は、
接頭辞 [SAMP(XML)[ns]] で表される名前空間に属しています。こちらを大域属性といいます。
[3] 名前空間に属しているのに''大域''属性とは変に思えるかもしれませんが、そうではありません。
大域属性ではない場合、
[SAMP(XML)[]] と
[SAMP(XML)[]] の [SAMP[attr]] 属性は、どちらも同じ属性のように思えますが、 [WEAK[(少なくても XML 名前空間の水準では)]] 別の要素型に属する別の属性です。一方で、大域属性である場合には、
[SAMP(XML)[]] と
[SAMP(XML)[]] の
[SAMP[attr]] 属性は、どちらも同じ名前空間に属するので、同じ属性です。
このように、大域属性は、要素型を超えて使うことができます。これが大域属性の大域たる所以です。
([[名無しさん]])
[4]
XML 名前空間を初めて知った人が一番よくはまるのが、 [SAMP(XML)[]]
と [SAMP(XML)[]]
の違いです。
前者は大域属性ではありませんが、後者は大域属性です。
大域属性は名前空間に属しますが、非大域属性は要素型毎の区画に属します。
前者の [SAMP[attr]] 属性は[Q[名前空間 [VAR[ns]] の要素型 [SAMP[e]] の属性 [SAMP[attr]]]] であるのに対し、後者の [SAMP[attr]] 属性は[Q[名前空間 [VAR[ns]] の属性 [SAMP[attr]]]] であり、意味が異なるのです。
([[名無しさん]])
[5]
ところで、 XML Names 1.0 の仕様書には「global attribute」という語が何度も出てくるのに対し、 XML Names 1.1 の仕様書には一度も出てきません。他の語に置換えられたのではなく、こういう概念自体が出てきません。 (実態は変わっていないにもかかわらず。)
[6] なお、 [[HTML5]] では「[[大域属性]]」は [[HTML名前空間]]のすべての[[要素]]に共通の[[属性]]のことを指しており、
[[XML名前空間]]における用語とは意味が異なります。
[7] この [[wiki]] の解説文では、 [[XHTML m12n]] における[[共通属性]]を[[大域属性]]と呼んでいることがあります。
[8] [CITE[Packaged Web Apps (Widgets) - Packaging and XML Configuration (Second Edition)]]
( ([TIME[2012-11-22 21:22:20 +09:00]] 版))