別のエンティティーでのエンティティー値の再使用

エンティティーの値を別のエンティティー内で再使用すると、さまざまな方法で時間を節約できます。たとえば、値が長くて複雑な場合は、値を毎回手作業で入力するよりも、エンティティーを単に再使用したほうがはるかに効率的です。 また、値を変更する場合に 1 個所の値を変更するだけで済みます。

次の説明は Resource パースペクティブを対象にしていますが、他のさまざまなパースペクティブでも使用できます。

別のエンティティーを再使用するエンティティーを作成することができます。このためには、次の手順で行います。

  1. DTD エディターで DTD を開く。
  2. エンティティーを作成する。
    1. エンティティーの名前を入力し、「パラメーター (Parameter)」を 「エンティティー・タイプ (Entity type)」リストから選択する。
    2. エンティティー値 (Entity Value)」フィールドにエンティティーの値を入力する。
  3. 別のエンティティーを作成する。
    1. 名前を入力し、「一般 (General)」を「エンティティー・タイプ (Entity type)」 リストから選択する。
    2. エンティティー値 (Entity Value)」フィールドに、 最初のパラメーター・エンティティー値の参照 (つまり、%parmentityname; ) を入力する。

これにより、まったく同じ値を持つエンティティーが 2 つできました。

以下に、別のエンティティーの値を再使用するエンティティーの作成方法の例を示します。

ブックの各ページの最後に、著作権を入れる必要があります。偶数ページには「Copyright 2003」を、奇数ページには 「Copyright 2003. MyCompany Publishing」を入れる必要があります。最初に、簡単な値のエンティティーを宣言し、 次に、より複雑な値のエンティティーを作成します。

  1. DTD エディターで DTD を開く。
  2. エンティティーを作成する。「名前」フィールドに、CopyrightDate と入力する。 「パラメーター (Parameter)」を「エンティティー・タイプ (Entity type)」リストから選択する。 「エンティティー値 (Entity Value)」内に、「Copyright 2003」と入力する。
  3. 別のエンティティーを作成する。「名前」フィールドに、CompanyCopyright と入力する。 「一般 (General)」を「エンティティー・タイプ (Entity type)」リストから選択する。 「エンティティー値 (Entity Value)」フィールド に、%CopyrightDate; MyCompany Publishing と入力する。

これで、著作権日付に変更がある場合は、1 か所のみを変更すればよく、2 か所を変更する必要はありません。

: CompanyCopyright エンティティー内で参照できるように、CopyrightDate エンティティーをパラメーター・エンティティーにする必要があったので、このエンティティーを XML ファイル内で使用することはできません。 XML ファイル内で使用する場合は、値 %CopyrightDate; を指定した 3 番目のエンティティー XMLCopyrightDate を作成し、XML ファイル内でこのエンティティーを代わりに使用する必要があります。

XML 文書内でエンティティーを使用するには、アンパーサンド & の後にエンティティーの名前を指定し、末尾にセミコロン ; を付ける必要があります。 したがって、XML 文書内で偶数ページで作業する場合には、

&XMLCopyrightDate; のように指定して、

XMLCopyrightDate エンティティーを呼び出す必要が あります。CopyrightDate エンティティーを呼び出すことはできないことに注意してください。 それは、CompanyCopyright エンティティー内で 参照できるように、CopyrightDate エンティティーをパラメーター・エンティティーにする必要があったためです。

奇数ページを作成する場合には、

&CompanyCopyright; と指定して、

CompanyCopyright エンティティーを呼び出す必要があります。

関連タスク
属性名または属性タイプの内部パラメーター・エンティティーの再使用
要素のコンテンツ・モデルの外部パラメーター・エンティティーの再使用

フィードバック