[1] [[MathML]] の [DFN[[CODE(XMLa)@en[[[other]]]] [[属性]]]]は、
[[MathML]] で規定されていない[[非標準]]の[[属性]]を[[指定]]するために使うことができます。

[13] 
:[[要素]]:[[MathML]] のすべての[[要素]]
:[[属性名]]:[CODE(XMLa)@en[[[other]]]]
([Q@en[other]] ([Q[その他]]) より)
:[[属性値]]:[CODE@en[[[string]]]]

* 仕様書

- [2] [[MathML 1]]
--[CSECTION@en[2.3.4 Attributes Shared by all MathML Elements]]
<IW:MathML1:"chapter2.html#sec2.3.4">
--[CSECTION@en[4.3.3.2 General Attributes]]
<IW:MathML1:"chap4_1.html#sec4.3.3.2">
--[CSECTION@en[7.2.3 An Attribute for Unspecified Data]]
<IW:MathML1:"chapter7.html#sec7.2.3">
- [12] [CITE[MathML Fundamentals]] ([TIME[2010-10-21 05:51:46 +09:00]] 版) <http://www.w3.org/TR/2010/REC-MathML3-20101021/chapter2.html#fund.globatt>

* 代替

[8]
[CODE(XMLa)@en[[[other]]]] [[属性]]は [[MathML 1.0]] で導入されましたが、
[[MathML 2.0]] 以降では'''[RUBYB[[[非推奨]]]@en[deprecated]]'''とされています。
代わりに、 [[XML名前空間]]に従った[[名前空間接頭辞]]付きの[[属性]]を使うことができます。
[SRC@en[MathML2 7.2.3, >>12]]

* 属性値

** データ型

[5]
この[[属性]]には、
[[レンダリング機関]]特有の情報に関する非標準の[[属性]]を記述することができます。
[SRC@en[MathML1 7.2.3]]

[6]
[CODE(XMLa)@en[[[other]]]] [[属性値]]は、正当な [[XML]]
の[[属性指定並び]]でなければなりません。
[SRC@en[MathML1 7.2.3]]

[10]
この[[属性]]に対応しなければならないのは、
非標準の[[属性]]に対応している[[レンダリング機関]]だけです。
[SRC@en[MathML1 2.3.4]]

[16] [[MathML3]] では[[属性値]]は [CODE@en[[[string]]]] とされています [SRC[>>12]]。

** 既定値

[17] 既定値はありません [SRC[>>12]]。

* 歴史

** 非推奨

[15] [CODE(XMLa)@en[[[other]]]] [[属性]]は [[XML名前空間]]が存在することから
[[MathML2]] において[RUBYB[[[非推奨]]]@en[deprecated]]となり、 [[MathML3]] でもそれが引き継がれています。

;;
- [14] [[MathML 2]]
--[CSECTION@en[2.4.5 Attributes Shared by all MathML Elements]]
<IW:MathML2:"chapter2.html#fund.globatt">
--[CSECTION@en[4.3.3.2 General Attributes]]
<IW:MathML2:"chapter4.html#contm.genatt">
--[CSECTION@en[7.2.3 An Attribute for Unspecified Data]]
<IW:MathML2:"chapter7.html#interf.unspecified">

* 例

[11]
[[MathML]] 標準の [CODE(XMLe)@en[[[maction]]]]
[[要素]]に、[[色]]に関する情報を付け加えるために非標準の
[CODE(XMLa)@en[[[color]]]] [[属性]]を ([CODE(XMLa)@en[[[other]]]]
[[属性値]]として) [[指定]]します。
[PRE(XML deprecated example code)[
<maction actiontype="highlight" other="color='#ff0000'"> expression </maction>
]PRE]

同じことを、 [[XML名前空間]]を使って
[PRE(XML example code)[
<body xmlns:my="http://www.example.com/MathML/extensions">
...
<maction actiontype="highlight" my:color="#ff0000"> expression </maction>
...
</body>
]PRE]
と表せます。

[SRC@en[MathML2 7.2.3]]

* 関連

** DTD との関係

[3] 
特定の[[レンダリング機関]]で良く[[レンダリング]]するためには、
その[[レンダリング機関]]向けの[[属性]]を自由に追加できる方が良いです。
しかし、標準の [[MathML]] [[DTD]] 
に含まれない[[属性]]を直接[[指定]]すると、
その[[文書実現値]]は [[DTD妥当]]では''なくなります''。
[[DTD]] にその[[属性]]の定義を含めれば良いのですが、
標準の [[DTD]] をそのまま使っていたいという要求もあります。
そこで、標準の [[DTD]] のままで [[DTD妥当]]性を保ちつつ非標準の[[属性]]を使えるように、
[CODE(XMLa)@en[[[other]]]] [[属性]]が用意されました。
[SRC@en[MathML1 7.2.3]]

** XML 属性との関係

[7] 
非標準の[[属性]]を直接受け付ける[[レンダリング機関]]は、
[CODE(XMLa)@en[[[other]]]] [[属性値]]として出現した場合も受け付けるべきです。
ただし、 [[MathML]] の標準の[[属性]]についてはこれは必須ではありません。
[SRC@en[MathML1 7.2.3]]

** XML 名前空間との関係

[4] 
[[MathML 2.0]] 以降では、 [[XML名前空間]]を使うべきとして
[CODE(XMLa)@en[[[other]]]] は[[非推奨]]になっています。

[CODE(XMLa)@en[[[other]]]] [[属性値]]と
[[XML名前空間]]の関係は明らかではありません。

** PostScript にインスパイヤ

[9] 
[[PostScript]] では、[[言語]]自体で表せない[[レンダリング機関]]特有の情報を埋め込むために[[注釈]]を使用しており、
[CODE(XMLa)@en[[[other]]]] [[属性]]はそれと似ています。
[SRC@en[MathML1 7.2.3]]
