如果您想讓數個內容模型具有相同的資訊,在內容模型中使用實體將可節省您的時間。您可以建立一個參照另一個 DTD 的 DTD,然後宣告一個元素,它的內容模型將參照另一個 DTD 中所建立的參數實體。
以下是針對「資源」視景撰寫的指示,
但是它們也適用於許多其他視景。
如果要建立一個將在元素的內容模型中重複使用外部參數實體的 DTD,請執行下列動作:
- 建立新的 DTD。 如果您想要使用現存的 DTD,請
在 DTD 編輯器中開啟您的 DTD。
- 建立實體(如 MyEntity)。
- 從實體類型清單中選取參數,
然後在實體值欄位中輸入該實體的值。
- 儲存 DTD 檔。
- 建立另一個 DTD。
- 建立另一個實體(如 MySecondEntity)。
- 從實體類型清單中選取參數,
然後勾選外部勾選框,將這個實體宣告成外部實體。
- 在系統 ID 欄位中,輸入您在第 1 步驟建立之 DTD(或按一下其他按鈕來瀏覽檔案)的路徑。這是工作區根目錄的相對路徑。
- (選用)在公開 ID 欄位輸入一值。
- 在「概要」視圖中,用滑鼠右鍵按一下這個 DTD,再按一下新增參數實體參照來新增指向第 6 步驟所建立之實體的參照(如 MySecondEntity)。
- 新增元素。
- 將這個元素的內容類型,從 EMPTY 改成第 2 步驟所指定的值(例如:MyEntity)。 注意您為何可以在內容元素的清單中選取您在第 2 步驟所指定的值。這是因為已包括了您在之前步驟中所建立的第一個 DTD。
現在您具有一個參照另一個 DTD 的 DTD,並且宣告一個元素,
它的內容模型將參照其他 DTD 中所建立的參數實體。
下例顯示如何在元素的內容模型中重複使用外部參數實體。
您將製作一份清單,列出您的公司辦公室及家中辦公室內的所有物品。您在每一個辦公室都有一部電腦,而且您不想要在清單中重複寫出電腦的每一個組件。
- 建立一個稱為 WorkOffice.dtd 的新 DTD。
- 建立下列四個元素:
Monitor、 Keyboard、Mouse 和 Hard_Drive。將每一個元素的值設定為 (#PCDATA)。
- 新增一個稱為 WorkComp 的實體。選取參數做為實體類型。在值欄位中,輸入:(Monitor, Keyboard, Mouse, Hard_Drive)。
按一下。
- 建立稱為 HomeOffice.dtd 的另一個 DTD
- 將稱為 HomeComp 的實體新增至 HomeOffice.dtd 中。選取參數做為實體類型,然後按一下外部勾選框,將這個實體宣告成外部實體。在系統 ID 欄位中,
輸入 WorkOffice.dtd 的路徑(或按一下其他按鈕來瀏覽檔案)。
這是工作區根目錄的相對路徑。
- (選用)在公開 ID 欄位輸入一值。
- 在「概要」視圖中,用滑鼠右鍵按一下 DTD,然後選取新增參數實體參照來新增之前建立的實體(也就是 %HomeComp;)。
- 新增一個稱為 MyHomeComp 的元素。將 MyHomeComp 的內容模型從 EMPTY 改成 Work Office: %WorkComp;。
現在 MyHomeComp 的值是:Monitor Keyboard Mouse
Hard_Drive。請注意您可以選取在第 4 步驟(內容元素的內容類型清單中)指定之值的方式。這是因為已包括了您在之前步驟中所建立的第一個 DTD。