在元素的内容模型中复用外部参数实体

如果想要几个内容模型中具有相同的信息,则在内容模型中使用实体可以节省时间。可以创建引用另一个 DTD 的 DTD,然后声明一个元素,其内容模型引用在另一个 DTD 中创建的参数实体。

下列指示信息是为“资源”透视图编写的,但是也将适用于其他多个透视图。

要创建在元素的内容模型中复用外部参数实体的 DTD,遵循下列步骤:

  1. 创建新的 DTD。 如果想要使用现有 DTD,则在 DTD 编辑器中打开 DTD。
  2. 创建实体(例如,MyEntity)。
  3. 实体类型列表中选择参数,然后在实体值字段中输入实体的值。
  4. 保存 DTD 文件。
  5. 创建另一个 DTD。
  6. 创建另一个实体(例如,MySecondEntity)。
  7. 实体类型列表中选择参数,然后选中外部复选框以将此实体声明为外部实体。
  8. 系统标识字段中,输入在步骤 1 中创建的 DTD 的路径(或者单击更多按钮来进行浏览以搜索文件)。该路径相对于工作空间根。
  9. (可选)在公用标识字段中输入一个值。
  10. 在“大纲”视图中,右键单击 DTD 并单击添加参数实体引用以将引用添加至在步骤 6 中创建的实体(例如,MySecondEntity)。
  11. 添加元素。
  12. 将此元素的内容类型从 EMPTY 更改为在步骤 2 中指定的值(例如,MyEntity)。 注意如何在列表中为内容元素选择在步骤 2 中指定的值。这是因为包括了在较早的步骤中所创建的第一个 DTD。

现在,有一个 DTD,该 DTD 引用另一个 DTD 并声明一个元素(该元素的内容模型引用在其他 DTD 中创建的参数实体)。

以下样本显示可如何在元素的内容模型中复用外部参数实体。

您正在制作一个列表,包含在单位办公室和家庭办公室中都有的物品。在每个办公室中都有一台计算机,并且您不想多次写出计算机的每个部件的列表。

  1. 创建一个新的称为 WorkOffice.dtd 的 DTD。
  2. 创建下列四个元素:MonitorKeyboardMouseHard_Drive。使每个元素的值都为 (#PCDATA)
  3. 添加称为 WorkComp 的实体。选择参数作为实体类型。在字段中,输入:(Monitor, Keyboard, Mouse, Hard_Drive)。单击文件 > 保存
  4. 创建另一个称为 HomeOffice.dtd 的 DTD。
  5. 将称为 HomeComp 的实体添加至 HomeOffice.dtd。选择参数作为实体类型并单击外部复选框以将此实体声明为外部实体。在系统标识字段中,输入 WorkOffice.dtd 的路径(或者单击更多按钮来进行浏览以搜索该文件)。该路径相对于工作空间根。
  6. (可选)在公用标识字段中输入一个值。
  7. 在“大纲”视图中,右键单击 DTD 并选择添加参数实体引用以添加先前创建的实体(即,%HomeComp;)。
  8. 添加称为 MyHomeComp 的元素。将 MyHomeComp 的内容模型从 EMPTY 更改为 Work Office: %WorkComp;。MyHomeComp 的值现在为:Monitor Keyboard Mouse Hard_Drive。注意如何在内容类型列表中为内容元素选择在步骤 4 中指定的值。这是因为包括了在较早的步骤中所创建的第一个 DTD。
相关任务
在一个实体中复用另一个实体的值
在属性名称或类型中复用内部参数实体

反馈