Em 13-11-2012 16:03, Jos� Clavijo escreveu:
> Boa tarde senhores,
> Gostaria de tirar uma duvida com voc�s, estou trabalhando com xml.
> Existe alguma biblioteca padr�o que valide xml pelo XDS ou DTD no python?
> Olhei algumas bibliotecas mais n�o sei se s�o padr�o do python.
> lxml
> pyxsd
> minixsv
> xsv
Ol�,
Eu fa�o assim:
def validar(xml, arquivo_xsd):
....'''Fun��o que valida um XML usando lxml do Python via arquivo XSD'''
....# Carrega o esquema XML do arquivo XSD
....xsd = lxml.etree.XMLSchema(file = arquivo_xsd)
....# Converte o XML passado em XML do lxml
....xml = lxml.etree.fromstring(xml)
....# Verifica a validade do xml
....erros = []
....if not xsd(xml):
........# Caso tenha erros, cria uma lista de erros
........for erro in xsd.error_log:
............erros.append({
................'message'....: erro.message,
................'domain'.... : erro.domain,
................'type'.... : erro.type,
................'level'.... : erro.level,
................'line'.... : erro.line,
................'column'.... : erro.column,
................'filename' : erro.filename,
................'domain_name': erro.domain_name,
................'type_name' : erro.type_name,
................'level_name' : erro.level_name
............})
....# Retorna os erros, sendo uma lista vazia caso n�o haja erros
....return erros
--
[]'s
Junior Polegato