Повторное использование значения одной сущности в другой сущности

Повторное использование значения одной сущности в другой сущности может сэкономить время несколькими способами. Например, если значение длинное и сложное, повторное использование сущности займет гораздо меньше времени, чем ввод значения вручную, который требуется выполнять каждый раз. Кроме того, если значение изменится, потребуется изменить его только в одном месте.
Подготовка
Об этой задаче

Следующие инструкции написаны для проекции Ресурсы, но будут работать и в других проекциях.

Можно создать любую сущность, повторно использующую другую сущность. Для этого выполните следующие действия:

  1. Откройте DTD в редакторе DTD.
  2. Создайте сущность.
    1. Введите имя сущности и в списке Тип сущности выберите Параметр.
    2. В поле Значение сущности введите значение сущности.
  3. Создайте другую сущность.
    1. Введите имя и в списке Тип сущности выберите Общие.
    2. В поле Значение сущности введите ссылку на значение первой сущности параметр (то есть, введите %имя-сущности-параметр;)
Результат

Теперь имеется две сущности с одинаковым значением.

Пример
В следующем примере показано, как можно создать сущность, повторно использующую значение другой сущности.

Требуется вставить пометку об авторском праве в конце каждой страницы книги. На каждой четной странице требуется поместить "Copyright 2003", а на каждой нечетной странице — "Copyright 2003. Издательство МояКомпания". Сначала необходимо объявить сущность с более простым значением, а затем создать сущность с более сложным значением.

  1. Откройте DTD в редакторе DTD.
  2. Создайте сущность. В поле Имя введите CopyrightDate. В списке Тип сущности выберите Параметр. В поле Значение сущности введите Copyright 2003.
  3. Создайте другую сущность. В поле Имя введите CompanyCopyright. В списке Тип сущности выберите Общие. В поле Значение сущности введите %CopyrightDate; Издательство МояКомпания.

Теперь, если потребуется изменить дату авторского права, достаточно будет сделать это в одном месте, а не в двух.

Примечание: Поскольку требовалось сделать сущность CopyrightDate сущностью типа Параметр для возможности связывания ее с сущностью CompanyCopyright, ее нельзя будет использовать в файле XML. Вместо этого потребуется создать третью сущность с именем XMLCopyrightDate и значением %CopyrightDate; для использования в файле XML.

Для использования сущности в документе XML необходимо соблюдать такую последовательность: амперсанд &, имя сущности и в конце точка с запятой ;. Таким образом, если в документе XML вы работаете с четной страницей, потребуется ввести следующее:

&XMLCopyrightDate;

для вызова сущности XMLCopyrightDate. Помните, невозможно вызвать сущность CopyrightDate, поскольку ее пришлось сделать сущностью типа Параметр для возможности связывания ее с сущностью CompanyCopyright.

Если вы работаете с нечетной страницей, потребуется ввести следующее:

&CompanyCopyright;

для вызова сущности CompanyCopyright.

Дальнейшие действия

Комментарии