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; に含まれる属性も、殆ど全ての要素に対して与えることが出来ます。