HTML 4 では文書の国際化にも配慮されており、テキストの方向なども指定できます。 W3C では、国際化を internationalization = i18n と呼んでいます。 i と n の間に 18 文字挟まるので 'i18n' だそうです。
ここで、 i18n 属性に付いて紹介しておきます。
<!ENTITY % i18n "lang %LanguageCode; #IMPLIED -- language code -- dir (ltr|rtl) #IMPLIED -- direction for weak/neutral text --" >
%i18n;
は、 lang
属性と dir
属性を併せた集合で定義されるパラメタ実体です。
LTR
: 左から右 (from Left To Right) の、テキストあるいは表。RTL
: 右から左 (from Right To Left) の、テキストあるいは表。i18n 属性は、子孫要素に継承されて行きます。ルート要素の HTML 要素に指定しておけば、文書内の全ての要素に対して指定したことになります。
HTML 要素の開始タグ;
<html lang="ja" dir="rtl">
このとき、特に異なる言語を利用する要素に対しては、個別に指定することが出来ますので、異種言語が混在した文書が作れます。
lang
属性と dir
属性を併せた集合を %i18n;
と定義しています。更に、 %i18n;
は %attrs;
に含まれます。
<!ENTITY % attrs "%coreattrs; %i18n; %events;">
パラメタ実体 %attrs;
には、 %i18n;
の他に、 %coreattrs;
と %events;
が含まれています。
パラメタ実体 %attrs;
は殆ど全ての要素に対して定義されていますので、 %i18n;
に含まれる属性も、殆ど全ての要素に対して与えることが出来ます。