■ 実体の定義(Entity definitions)
実体の定義は、大きく「パラメータ実体」と「一般実体」の2つにに分類することができます。● パラメータ実体の定義
文字列(実体)に名前(実体名)をつけて定義し、DTDの中でその文字列を名前で参照できるようにします。これによって、DTDを簡略化して記述できます。この定義はDTDの中でのみ有効となります。・パラメータ実体の定義方法
<!ENTITY % 実体名 "実体">
・参照の方法
%実体名;
パラメータ実体を定義する場合には「%」と「実体名」の間に半角のスペースを入れます。参照する場合には、スペースを入れずに続けて記述されます。また、実体としてさらに他の実体名を指定することもできます。
【 例 】
<!ENTITY % fontstyle "TT | I | B | BIG | SMALL">
<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %fontctrl;">2行目の「%fontstyle;」は、1行目の実体を参照しています。したがって、この部分は「TT | I | B | BIG | SMALL」と書いたのと同じことになります。
また、参照するパラメータ実体が広く一般に公開されているものである場合には、以下のように指定されます。
・ <!ENTITY % 実体名 PUBLIC "公開識別子">
【 例 】
<!ENTITY % HTMLlat1 PUBLIC
"-//W3C//ENTITIES Latin1//EN//HTML"
"http://www.w3.org/TR/REC-html40-971218/HTMLlat1.ent">
● 一般実体の定義
特殊文字などを文書インスタンス(HTML)の中で「&○○;」などと参照できるように定義します。実体名(○○の部分)は大文字と小文字が区別されますので注意してください。・ <!ENTITY 実体名 "実体">
・ <!ENTITY 実体名 データ型 "実体">
【 例 】
<!ENTITY yen CDATA "¥">
<!ENTITY copy CDATA "©">