[1] [[MathML]] における[[空白]]の取り扱いについて。 仕様書: =[[MathML 1]] --[CSECTION@en[2.3.5 Collapsing Whitespace in Input]] =[[MathML 2]] --[CSECTION@en[2.4.6 Collapsing Whitespace in Input]] [2] - '''XML としての空白処理''': [[MathML]] [[文書]]は [[XML]] [[文書]]なので、 [[XML]] で規定された[[空白]]の処理を行った結果が [[XML]] [[処理器]]から [[MathML]] [[処理器]]に渡されます。 [[DTD]] を使って[[検証]]した場合はそれに基づく[[空白]]の処理が行われます。 ([[XML//空白]]参照。) - '''XML Schema での検証による空白処理''': [[MathML]] [[文書]]を [[XML Schema]] で[[妥当性検証]]し、 [[PSVI]] を [[MathML]] [[処理器]]に渡す場合は、 [[XML]] としての[[空白]]の処理だけでなく、 [[XML Schema]] に基づく[[空白]]の処理も行われます。 - '''字句要素外の空白''': [[字句要素]]の''外''にある[[空白]]は、無視されます。 なお、[[字句要素]]外で[[空白]]''以外''の[[文字]]は認められていません。 [SRC@en[MathML1 2.3.5, MathML2 2.4.6]] - '''字句要素内の空白''': [[字句要素]]の''中''では、 -- [[要素]]の最初と最後の[[空白]]は、除去されます。 -- それ以外の[[空白]]列は、1つの [CODE(charname)@en[[[SPACE]]]] で置き換えられます。 [SRC@en[MathML1 2.3.5, MathML2 2.4.6]] [4] '''空白の定義''': [[MathML]] における[DFN[[RUBY[[[空白]]][くうはく]@en[white space]]]][[文字]]は、 [[XML]] の [CODE@en[[[S]]]] と同じで - [CODE(char)@en[[[U+0009]]]] [CODE(charname)@en[[[HORIZONTAL TAB]]]] - [CODE(char)@en[[[U+000A]]]] [CODE(charname)@en[[[LINE FEED]]]] - [CODE(char)@en[[[U+000D]]]] [CODE(charname)@en[[[CARRIAGE RETURN]]]] - [CODE(char)@en[[[U+0020]]]] [CODE(charname)@en[[[SPACE]]]] の4種類です。 ;; [[MathML]] 仕様書では [Q@en[whitespace]] と綴っています。 [3] '''[CODE(XMLa)@en[xml:space]]''': [[MathML]] では [CODE(XMLa)@en[[[xml]]:[[space]]]] [[属性]]は使われません。 [SRC@en[MathML1 2.3.5, MathML2 2.4.6]]