使用結構描述驗證 XML
若要定義 XML 文件的結構以及其項目關聯性 (Relationship)、資料型別和內容條件約束 (Constraint),您可使用文件型別定義 (DTD) 或結構描述 (Schema)。儘管在符合全球資訊網協會 (W3C) Extensible Markup Language (XML) 1.0 Recommendation 定義之所有句法要求的情況下,可將 XML 文件視為完整,但是除非它是完整且又與它的 DTD 或結構描述定義的條件約束相符,否則還是會是將其視為無效。因此,雖然所有有效 XML 文件都是完整的,但完整的 XML 文件卻不一定都有效。
如需 XML 的詳細資訊,請參閱全球資訊網協會 (W3C) 的 Extensible Markup Language (XML) 1.0 (Second Edition) Recommendation,網址是 http://www.w3.org/TR/2000/REC-xml-20001006。如需 XML 結構描述的詳細資訊,請參閱 W3C 的 XML Schema Part 1: Structures Recommendation 和 XML Schema Part 2: Datatypes Recommendation,網址是 http://www.w3.org/TR/。
驗證 XML 文件和 XML 片段是使用 XmlValidatingReader 類別執行的,這個類別藉由實作 W3C 建議事項定義的有效性條件約束,提供 DTD、XML-Data Reduced (XDR) 和 XML 結構描述定義語言 (XSD) 結構描述驗證服務。
XmlValidatingReader 類別實作 XmlReader 類別,以順向方式在 XML 的資料流上執行驗證。XmlValidatingReader 可將 XmlTextReader 當作輸入。The XmlValidatingReader 分層支援 XmlTextReader,因此也支援使用 XmlParserContext 類別剖析 XML 片段的功能。如需剖析 XML 片段的詳細資訊,請參閱使用 XmlValidatingReader 讀取 XML 片段。
在提供的 XmlTextReader 上設定的任何屬性也會套用到包含 XmlValidatingReader。
下列程式碼範例顯示 XmlValidatingReader 如何分層支援 XmlTextReader。
Dim tr as XmlTextReader = new XmlTextReader("Sample1.xml")
Dim vr as XmlValidatingReader = new XmlValidatingReader(tr)
[C#]
XmlTextReader tr = new XmlTextReader("Sample1.xml");
XmlValidatingReader vr = new XmlValidatingReader(tr);
本章節內容
- XmlDocument 載入時間驗證
說明如何使用 XmlValidatingReader 載入 XML 文件。 - 使用 XmlValidatingReader 驗證 XML
提供如何實作 XmlValidatingReader 類別來對文件型別定義 (DTD)、XML-Data Reduced (XDR) 結構描述、XML 結構描述定義語言 (XSD) 結構描述和 XML 片段進行驗證。同時也描述 ValidationEventHandler 事件。 - 當作結構描述快取區的 XmlSchemaCollection
說明如何將結構描述載入快取集合以用於驗證。 - 使用 XmlValidatingReader 解析實體
說明用來處理實體 (Entity) 的屬性和方法。 - 存取結構描述型別資訊
說明如何在驗證期間存取結構描述型別資訊。
相關章節
- XML 結構描述參考 (XSD)
記錄由全球資訊網協會 (W3C) 定義的 XML 結構描述定義語言。