forked from marinho/PyNFe
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path02-modelo-07-validacao.txt
34 lines (29 loc) · 1.26 KB
/
02-modelo-07-validacao.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Validação
---------
A validação dos arquivos de nota fiscal são controladas pelo módulo validacao.
>>> from pynfe.processamento.validacao import *
A classe Validacao é utilizada para validar os tanto arquivos xml quanto documentos
etree. Não há problemas em utilizar list-comprehension com a mesma pois ela implementa
um cache simples.
>>> from lxml import etree
>>> validador = Validacao()
>>>
>>> nfe = 'tests/xml/NFe.xml'
>>> nfe_assin = 'tests/xml/NFe_assinada.xml'
>>> nfe_inval = 'tests/xml/NFe_falhaSchema.xml'
>>>
>>> try: validador.validar_xml(nfe, XSD_NFE, True)
... except Exception, e: print unicode(repr(e))
True
>>> try: validador.validar_xml(nfe_inval, XSD_NFE, False)
... except Exception, e: print unicode(repr(e))
False
>>> try: validador.validar_xml(nfe_assin, XSD_NFE_PROCESSADA, True)
... except Exception, e: print unicode(repr(e))
True
Note que o schema utilizado para validação contra o xml é definido por variáveis
globais presentes no módulo. São elas:
- XSD_NFE : valida nfe's não certificadas
- XSD_NFE_PROCESSADA : valida nfe's certificadas
- XSD_PD_CANCELAR_NFE : valida um pedido de cancelamento de nfe
- XSD_PD_INUTILIZAR_NFE : valida um pedido de inutilização de nfe