Arkhon Aprendiz

Registrado: Quarta-Feira, 28 de Junho de 2006 Mensagens: 101
|
Enviada: Qua Mar 16, 2011 11:00 am Assunto: Validando XML atraves do XSD |
|
|
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 |
|
Arkhon Aprendiz

Registrado: Quarta-Feira, 28 de Junho de 2006 Mensagens: 101
|
Enviada: Sex Mar 18, 2011 10:31 am Assunto: |
|
|
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 ? |
|