[1] 一般に、「[[属性]]」と呼ばれるものの[[値]]のことを[DFN[[RUBY[属性値][ぞくせいち]@en[attribute value]]]]といいます。 * 属性値 (HTML) [5] [CITE['''['''whatwg''']''' Allowing ">" in attribute values]] ([TIME[2010-08-10 09:35:29 +09:00]] 版) * 属性値 (SGML) [2] [[SGML]] の世界で[Q[属性値]]と言うと、 文脈によって2つの意味があります。 一つは、一般に、[[属性]]の[[値]] (1)。 もう一つは、生成規則[CODE[属性値]] (2) です。 [[SGML文書]]では、属性の値は、 [CODE[[[属性値指定]]]]で指定されます。 [CODE[属性値指定]]は、[CODE[属性値]][SUP[2]]と[CODE[[[属性値表記]]]]の二種類があります。 [CODE[属性値]][SUP[2]] (例: [SAMP(SGML)[value]]) も[CODE[属性値表記]] (例: [SAMP(SGML)["value"]]) も構文が違うだけで、 属性値[SUP[1]] (例: [Q[value]]) を表すという点では同じです。 - [3] [CODE(ABNF)[[DFN[属性値]][SUP[2]] := 1*[[名前文字]]]] [4] ふと、まさか[CODE(ABNF)[属性値指定]]が[CODE(ABNF)[属性値]]のとき、[CODE(SGML)[[[NAMECASE]]]] によっては大文字化されるのではと思いましたが、 仕様をよく読んでみるとそんなことは全然ありませぬな。 [CODE(ABNF)[[[名前字句]]]]なら大文字化されてしまうけど、 [CODE(ABNF)[属性値]]は (実質的に構文はまったく同じながら) そうはならないようで。 (もちろん、属性型によっては大文字化がなされる。) * 属性値 (MathML) ** 仕様書 - [7] [CITE[MathML Fundamentals]] ([TIME[2010-10-21 05:51:46 +09:00]] 版) ** 空白の扱い [6] [[MathML]] では、[[応用]]ごとに[[空白]]の[[正規化]]が異なることを理由に、[[属性値]]の中の各部分を区切るときは[RUBYB[[[空白]][[文字]]]@en[whitespace character]]を1文字だけ使うことを[RUBYB[勧めて]@en[advisable]]います。更に、[[空白]]を最初や最後に置くことは避ける[RUBYB[べき]@en[should]]であるとしています。 [SRC[>>7]] ** 数値と値域 [8] [[数値]]を扱う[[属性]]のほとんどでは、構文的に表現可能な[[数値]]のうちの一部分しか意味がありませんが、それ以外の値を指定したとしても、特に規定が無い限り[RUBYB[[[誤り]]]@en[error]]とはされません。 範囲外の値は[[切捨て]]や[[切上げ]]によって[[丸め]]られて最も近い適切な値として扱われます。 このときの「適切な値」の範囲や、[[切捨て]]や[[切上げ]]のどちらを選択するかは、 [[MathML]] ではなく[RUBYB[[[レンダリンク器]]]@en[renderer]]により決められるとされています。 これは、構文的に [CODE(char)[[[-]]]] をつけることが認められている [CODE[[[integer]]]] や [CODE[[[number]]]] の[[属性値]]であって、[[負]]の値が意味を持たない場合も含んでいます。 [SRC[>>7]] [9] この[[丸め]]は [CODE[[[length]]]] でも認められています。