Trabalhando com esquemas XML

Para definir a estrutura de um documento XML, bem como os relacionamentos de seus elementos, tipos de dados e restrições de conteúdo, você usa uma DTD (definição de tipo de documento) ou um esquema XSD (linguagem de definição de esquema XML). Embora um documento XML seja considerado bem-formado se atender a todos os requisitos sintáticos definidos pela Recomendação da linguagem XML 1.0 do W3C (World Wide Web Consortium), ele não é considerado válido a menos que seja bem-formado e esteja de acordo com as restrições definidas pela DTD ou o esquema. Portanto, embora todos os documentos XML válidos sejam bem-formados, nem todos os documentos XML bem-formados são válidos.

Para saber mais sobre o XML, confira a Recomendação W3C XML 1.0. Para saber mais sobre o esquema XML, confira as recomendações Parte 1 do Esquema W3C XML: recomendação de estruturas e a Parte 2 do Esquema W3C XML: recomendação de tipos de dados.

Nesta seção

SOM (Schema Object Model) XML
Discute o SOM (Schema Object Model) no namespace System.Xml.Schema que fornece um conjunto de classes que permitem que você leia um esquema XSD (linguagem de definição de esquema XML) em um arquivo ou crie programaticamente um esquema na memória.

XmlSchemaSet para compilação de esquema
Discute a classe XmlSchemaSet que é um cache onde os esquemas XSD podem ser armazenados e validados.

XmlSchemaValidator Envio- de validação
Discute a classe XmlSchemaValidator, que fornece um mecanismo eficiente e de alto desempenho para validar dados XML em esquemas XSD de uma maneira baseada em push.

Inferindo um esquema XML
Discute como usar a classe XmlSchemaInference para inferir um esquema XSD na estrutura de um documento XML.

Referência

XmlSchemaSet | XmlSchemaInference | XmlReader

Validando um documento XML no DOM
Discute como validar o XML no DOM (Document Object Model). Você pode validar o XML como é carregado no DOM ou validar um documento XML invalidado anteriormente no DOM.

Validação de esquema usando XPathNavigator
Discute como validar XML que está sendo navegado e editado usando a classe XPathNavigator.