XSLT/XSL-FO/MathML テクニックブロック |
|
Q. |
text-align=<string> を fo:table-cell に指定しました。しかし、セル内に複数のblockがあるとき、2番目以降のblockに適用されません。
[No.2004102603]
|
---|---|
A. |
XSL Formatter V3.2 では、 W3Cの勧告の7.15.9 "text-align"では以下のように書かれています。 <string> つまり、CSS2仕様の17.5.4 Horizontal alignment in a columnの仕様を参照することと、table cell 内にのみ適用され、そのほかでは start と同じであるということになります。 そして、CSS2仕様の17.5.4 Horizontal alignment in a columnには以下のようにあります。 Aligning text in this way is only useful if the text fits on one line. The result is undefined if the cell content spans more than one line. 「セル内のテキストが1行だけのときに有用なものであって、セル内に2行以上あるときの結果は定義されない」ということです。定義されていないので、組版結果は実装依存です。XSL Formatter V3.2 では、一行目だけを<string>によってカラム内の他のセルと位置を揃え、それ以外の行では |