名稱,位置和這個檔案的內容是工作區 API 的一部分。這代表他們保證不變更可能破壞檔案現有使用者的方式。然而,新增其他的元素與屬性至標記中,保留給未來可能的新增至檔案的內容。因為這個原因,讀取說明檔內容的用戶端 必須容許不明的元素和屬性。
用戶端修改,刪除或取代專案說明檔,都是在冒險。 有無效的說明檔或遺漏說明檔的專案,將無法供一般使用。 如果在專案啟動時發現專案有無效的說明檔,會關閉專案,而且無法開啟直到專案說明檔已被修復。 一般工作區不會嘗試自動修復遺漏或無效的說明檔。只有一個例外,儲存工作區或呼叫 IProject.setDescription 時重新產生遺漏的專案說明檔。
專案說明檔的修正與經由 IProject.setDescription 變更專案說明檔有幾乎相同的效用。 一個異常狀況是新增或移除專案並不會觸發對應本質的配置或解除配置的方法。 另一個異常狀況是系統不處理專案名稱的變更。
如果新專案建立在包含現有專案說明檔的位置,說明檔的內容將被作為專案的說明。 一個異常狀況是如果不符合建立的專案名稱,系統不 manifest 檔的專案名稱。如果磁碟中的說明檔無效,專案的建立將失敗。
配置標記:
<!ELEMENT projectDescription (name, comment, projects, buildSpec, natures, linkedResources)>
<!ELEMENT name EMPTY>
<!ELEMENT comment EMPTY>
<!ELEMENT buildSpec (buildCommand)*>
<!ELEMENT buildCommand (name, arguments)>
<!ELEMENT name EMPTY>
<!ELEMENT arguments (dictionary?)>
<!ELEMENT dictionary (key, value)*>
<!ELEMENT key EMPTY>
<!ELEMENT value EMPTY>
<!ELEMENT natures (nature)*>
<!ELEMENT nature EMPTY>
<!ELEMENT linkedResources (link)*>
<!ELEMENT link (name, type, location)>
<!ELEMENT name EMPTY>
<!ELEMENT type EMPTY>
<!ELEMENT location EMPTY>
<?xml version="1.0" encoding="big5"?>
<projectDescription>
<name>WinterProject</name>
<comment>This is a cool project.</comment>
<projects>
<project>org.seasons.sdt</project>
<project>CoolStuff</project>
</projects>
<buildSpec>
<buildCommand>
<name>org.seasons.sdt.seasonBuilder</name>
<arguments>
<dictionary>
<key>climate</key>
<value>cold</value>
</dictionary>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.seasons.sdt.seasonNature</nature>
</natures>
</projectDescription>
API 資訊: 專案說明檔的內容對映至 org.eclipse.core.resources.IProjectDescription 介面。專案說明檔可被 IProject.setDescription() 方法所覆寫。