整個問題在標題中:是否可以將特定IDREF分配給DTD中的特定ID? 我很確定這是不可能的,但我只想在此確認:P多個ID - 多個IDREF - 是否可以將特定IDREF分配給DTD中的speficic ID?
E.g.我有一個帶有ID類型屬性的客戶端和工作者元素,以及帶有兩個屬性的「order」元素,這兩個屬性應引用客戶端的訂單以及接收訂單的工作人員。從DTD 簡化代碼:
<!ELEMENT worker (name, salary, employmDate)>
<!ATTLIST worker worker_id ID #REQUIRED subordinates IDREFS #IMPLIED>
<!ELEMENT client (name)>
<!ATTLIST client client_id ID #REQUIRED>
<!ELEMENT order (price, date)>
<!ATTLIST order cl_id IDREF #REQUIRED wrkr_id IDREF #REQUIRED>
代碼工作正常,沒有錯誤驗證時,我必須用工人和客戶ID值,並且可以在任何工人「下屬」的說法增加工人的ID。
但是,我也可以將客戶端的ID作爲從屬件編寫,或者在訂單元素的情況下,我可以將客戶端的ID值用作「wrkr_id」,將工人的ID用作「cl_id」。有沒有辦法限制一個IDREF只接受一種ID? 或者,也許有一種方法可以對ID屬性進行約束,以使工作人員的ID以例如「w」和客戶的ID以例如「c」至少可以部分解決這個問題?
請,建議除DTD以外的其他解決方案。如果可能的話,我想用DTD來完成,因爲這是我課程的一個任務,如果可能的話,它必須在DTD中完成。
謝謝!