本文提供此 API 參考文件的補充備註。
檔案類型定義 (DTD) 驗證是使用 W3C 可擴展標記語言 (XML) 1.0 (第四版) 建議中定義的有效條件約束來實作。 DTD 會使用正式文法來描述相容 XML 檔的結構和語法;他們會指定 XML 檔允許的內容和值。
屬性 DtdProcessing 可以有下列其中一個值:
- DtdProcessing.Parse 表示啟用 DTD 處理。
- DtdProcessing.Prohibit 表示遇到 DTD 時拋出 XmlException 例外。
- DtdProcessing.Ignore 表示停用 DTD 處理,但不顯示警告或例外狀況。
若要對 DTD 執行驗證,XmlReader 會使用 XML 檔的 DOCTYPE 宣告中定義的 DTD。 DOCTYPE 宣告可以指向內嵌 DTD,也可以是外部 DTD 檔案的參考。 若要針對 DTD 驗證 XML 檔案:
- 將 XmlReaderSettings.DtdProcessing 屬性設定為
DtdProcessing.Parse。 - 將 XmlReaderSettings.ValidationType 屬性設定為
ValidationType.DTD。 - 如果 DTD 是儲存在需要驗證之網路資源上的外部檔案,請將具有必要認證的 對象傳遞 XmlResolver 至 Create 方法。
這很重要
DtdProcessing如果屬性設定為 DtdProcessing.Ignore,則 XmlReader 不會報告 DTD。 這表示 DTD/DOCTYPE 會在輸出時遺失。