ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Validando XML atraves do XSD

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> NFe
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
Arkhon
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 28 de Junho de 2006
Mensagens: 101

MensagemEnviada: Qua Mar 16, 2011 11:00 am    Assunto: Validando XML atraves do XSD Responder com Citação

Olá pessoal...
no meu caso não estou trabalhando com a NFe e sim com integração com o WebService do Tribunal de Justiça, mas a solução que necessito é a mesma

pesquisando aqui no forum encontrei a solução de muitos problemas
mas gostaria de tirar uma duvidas na validação do XML

essa função encontrei aqui no forum
Código:

Function ValidaXML(XML: AnsiString; SchemaPath : String): Boolean;
var
  DOMDocument : IXMLDOMDocument3;
  ParseError  : IXMLDOMParseError;
  Schema      : XMLSchemaCache;

begin
  DOMDocument:=CoDOMDocument50.Create;

  DOMdocument.Async:=FALSE;
  DOMdocument.ResolveExternals:=FALSE;
  DOMdocument.ValidateOnParse:=TRUE;

  DOMdocument.LoadXML(XML);

  Schema := CoXMLSchemaCache50.Create;

  Schema.add('http://bhissdigital.pbh.gov.br/bhiss-ws/schemas/tipos_simples.xsd', SchemaPath+'Tipos_Simples.xsd');
  Schema.add('http://bhissdigital.pbh.gov.br/bhiss-ws/schemas/tipos_complexos.xsd', SchemaPath+'Tipos_Complexos.xsd');
  Schema.add('http://bhissdigital.pbh.gov.br/bhiss-ws/schemas/servico_enviar_lote_rps_envio.xsd', SchemaPath+'servico_enviar_lote_rps_envio.xsd');

  DOMdocument.Schemas := Schema;

  ParseError:=DOMdocument.validate;
  Result:=(ParseError.errorCode = 0);

  if ParseError.errorCode <> S_OK then
    raise Exception.Create(IntTostr(ParseError.errorCode)+' - '+ParseError.reason);

  DOMDocument:=Nil;
  ParseError:=Nil;
  Schema:=Nil;
end;


especificamente nessa parte do codigo
Código:
Schema.add('http://bhissdigital.pbh.gov.br/bhiss-ws/schemas/tipos_simples.xsd', SchemaPath+'Tipos_Simples.xsd');


quais são esses dois parametros ?

eu não tenho o XSD no webservice, tenho ele em arquivo local na maquina
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Arkhon
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 28 de Junho de 2006
Mensagens: 101

MensagemEnviada: Sex Mar 18, 2011 10:31 am    Assunto: Responder com Citação

ta certo galera... pra contornar o problema eu fiz o seguinte.. coloquei o XSD num serviço rodando no servidor aqui

deu pra quebrar um galho

seguinte... agora esta retornando um erro na validação que não me diz muita coisa:

ParseError.errorCode = -1072897500
ParseError.reason = "O nó não é válido nem inválido, pois nenhuma declaração de DTD ou esquema foi encontrada."


não achei a documentação desses componentes ACBr em lugar algum
alguem tem uma dica ai ?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> NFe Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB