Os XML Schemas são arquivos que determinam restrições, tipos de dados e estruturas de arquivos XML. Eles são necessários e úteis para uma série de fundamentos, destacamos aqui a validação de regras de negócio e o porquê da adoção da validação do XML no lado cliente, ou seja, validação local de dados antes da transmissão.
Os Schemas são arquivos escritos em formato/linguagem XML que descrevem os campos de determinado arquivo XML. Abaixo temos um exemplo da validação de local de destino de operação da NF-e presentes no leiaute 4.0.
Perceba que temos 03 ocorrências “enumeration value” com os valores 1, 2 e 3. Então supomos que o sistema emissor de NF-e tente enviar o valor 4 para a tag “idDest” desta forma a SEFAZ irá retornar um erro de Schema, dizendo que o valor 4 não é aceito como um local de destino válido.
<xs:element name="idDest">
<xs:annotation>
<xs:documentation>Identificador de Local de destino da operação (1-Interna;2-Interestadual;3-Exterior)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
Exemplo:

Todos os dias dezenas de milhares de requisições são enviadas para SEFAZ, seja para enviar novos documentos fiscais, seja para envio de eventos, consultas etc. Dentre os vários serviços disponíveis muitos são abertos a todos, aumentando exponencialmente a possibilidade de uma demanda de processamento. Por se tratar de uma demanda de vital importância o governo tem de manter uma estrutura de TI de alta disponibilidade. Esta alta disponibilidade é diretamente impactada pelo número de requisições que são enviadas todos os dias. Diferenças sazonais, comportamentos online e outros eventos devem ser previstos para manter os recursos suficientes e com sobra.
Os arquivos schema validam os dados do XML antes mesmo de serem enviados um lote de processamento para SEFAZ. Esta validação evita que dados errados e/ou inválidos sejam fornecidos, validando regras de negócio. Algo fundamental nessa validação, é que ela é “local”, ou seja, funciona no site ou sistema emissor de notas fiscais, evitando que essa validação tenha que ser nos servidores da SEFAZ. É uma tecnologia muito interessante que deve ser conhecida e reconhecida por todos, para que o usuário final possa ter retornos bem implementados e traduzidos.
Fonte: Schema – W3C