Erro E1235: Falha no esquema XML do DF-e
O XML é válido como texto, mas não obedece ao leiaute oficial.
O Erro E1235 acontece quando o XML enviado não obedece ao esquema oficial do documento — o XSD que define o leiaute.
Por que acontece o Erro E1235
Há dois níveis de correção num XML, e este erro é do segundo:
| Nível | O que verifica |
|---|---|
| Bem formado | A sintaxe: tags fechadas, aninhamento correto |
| Válido | O esquema: quais campos existem, em que ordem, com que formato |
O esquema — o arquivo XSD publicado pelo Sistema Nacional — é a definição formal do leiaute. Ele diz que vServ aceita duas casas decimais, que cMunPrestacao tem sete dígitos, que o grupo do prestador vem antes do tomador.
A ordem dos elementos é a causa mais subestimada. Diferente de JSON, XML validado por esquema é sensível à sequência: informar o tomador antes do prestador invalida o documento mesmo com todos os campos corretos.
As outras causas comuns:
Campo obrigatório ausente, ou presente onde deveria estar vazio.
Formato de número errado — vírgula em vez de ponto decimal, ou casas demais.
Data em formato brasileiro onde o esquema pede AAAA-MM-DD.
Campo maior que o tamanho máximo definido para ele.
Versão do leiaute defasada, com campos que não existem mais ou que ainda não existem.
No Berga
DFe › NFSe — o leiaute é responsabilidade do sistema.
Deixa que o Berga resolve mantendo o leiaute em dia como parte do serviço: ordem dos campos, formatos e versão acompanham as notas técnicas do Sistema Nacional. Você não instala nada nem descobre a defasagem por uma recusa. Conheça o Berga.
Como resolver o Erro E1235
- 1Valide o XML contra o XSD oficial antes de enviar — é o mesmo teste que o Sistema Nacional faz.
- 2Confira a ordem dos elementos, não só a presença deles.
- 3Confira formatos: ponto decimal, datas em
AAAA-MM-DD, tamanhos máximos. - 4Confirme a versão do leiaute em uso.
Como evitar o Erro E1235
Valide contra o XSD no seu próprio ambiente antes de transmitir. É o único jeito de encontrar erro de ordem, que a leitura do XML não revela.
Se o Erro E1235 continuar
Erros vizinhos: estrutura mal formada, prefixo de namespace e o prazo da versão do leiaute.
Persistindo, abra um chamado informando o horário do envio e a versão usada.
Referência: Anexo I do leiaute da DPS e da NFS-e (SEFIN/ADN), Sistema Nacional NFS-e.