This documentation is archived and is not being maintained.

Working with XML Schemas

To define the structure of an XML document, as well as its element relationships, data types, and content constraints, you use a document type definition (DTD) or XML Schema definition language (XSD) schema. Although an XML document is considered to be well-formed if it meets all the syntactical requirements defined by the World Wide Web Consortium (W3C) Extensible Markup Language (XML) 1.0 Recommendation, it is not considered valid unless it is both well-formed and conforms to the constraints defined by its DTD or schema. Therefore, although all valid XML documents are well-formed, not all well-formed XML documents are valid.

For more information about XML, see the W3C XML 1.0 Recommendation. For more information about XML Schema, see the W3C XML Schema Part 1: Structures Recommendation and the W3C XML Schema Part 2: Datatypes Recommendation recommendations.

XML Schema Object Model (SOM)

Discusses the Schema Object Model (SOM) in the System.Xml.Schema namespace that provides a set of classes that allows you to read a Schema definition language (XSD) schema from a file or programmatically create a schema in-memory.

XmlSchemaSet for Schema Compilation

Discusses the XmlSchemaSet class that is a cache where XSD schemas can be stored and validated.

XmlSchemaValidator Push-Based Validation

Discusses the XmlSchemaValidator class that provides an efficient, high-performance mechanism to validate XML data against XSD schemas in a push-based manner.

Inferring an XML Schema

Discusses how to use the XmlSchemaInference class to infer an XSD schema from the structure of an XML document.

Validating an XML Document in the DOM

Discusses how to validate the XML in the Document Object Model (DOM). You can validate the XML as it is loaded into the DOM, or validate a previously unvalidated XML document in the DOM.

Schema Validation using XPathNavigator

Discusses how to validate XML being navigated and edited using the XPathNavigator class.

Validating XML Data with XmlReader

Discusses how to create a validating XmlReader that can enforce validation using a DTD or XSD schema.