Boa tarde.
O que eu estou precisando fazer é teoricamente muito simples, mas não está funcionando. Eu preciso validar um XML do eSocial utilizando os arquivos .XSD que estão na pasta "...\Exemplos\ACBrDFe\Schemas\eSocial\v2_04_01". Fiz testes usando o ExemploEsocial com diferentes valores para o parâmetro SSLXmlSignLib, mas nenhum funcionou.
Criei uma nova TabSheet no pgcEventos e nela um botão para validar o XML. Anexei uma imagem de como ficou a tela. No evento onClick do botão, codifique desta forma a chamada da função Validar:
procedure TFExemploEsocial.Button1Click(Sender: TObject);
var
erros: String;
begin
Memo2.Lines.Clear;
try
if not ACBreSocial1.SSL.Validar( Memo1.Lines.Text, EditXSD.Text, erros ) then
Memo2.Lines.Add( erros );
except on E: Exception do
Memo2.Lines.Add( E.Message );
end;
end;
O XML que estou tentando validar é:
<evtTabCargo xmlns="http://www.esocial.gov.br/schema/evt/evtTabCargo/v02_04_01" Id="ID1036136580000002018030705033194714">
<ideEvento>
<tpAmb>2</tpAmb>
<procEmi>1</procEmi>
<verProc>11.0.0</verProc>
</ideEvento>
<ideEmpregador>
<tpInsc>1</tpInsc>
<nrInsc>03613658</nrInsc>
</ideEmpregador>
<infoCargo>
<inclusao>
<ideCargo>
<codCargo>0001</codCargo>
<iniValid>2018-03</iniValid>
</ideCargo>
<dadosCargo>
<nmCargo>ASSISTENTE ADMINISTRATIVO</nmCargo>
<codCBO>444444</codCBO>
</dadosCargo>
</inclusao>
</infoCargo>
</evtTabCargo>
O XSD é o "...\Exemplos\ACBrDFe\Schemas\eSocial\v2_04_01\evtTabCargo.xsd"
Abaixo, os erros que ocorrem de acordo com o parâmetro SSLXmlSignLib:
- xsXmlSec e xsLibXml2: 1845 - Element '{http://www.esocial.gov.br/schema/evt/evtTabCargo/v02_04_01}evtTabCargo': No matching global declaration available for the validation root.
- xsMsXml e xsMsXmlCapicom: evtTabCargo.xsd#/schema The 'http://www.esocial.gov.br/servicos/empregador/lote/eventos/envio/v1_1_0' namespace provided differs from the
schema's 'http://www.esocial.gov.br/schema/evt/evtTabCargo/v02_04_01' targetNamespace
Preciso do apoio de vocês para identificar onde eu estou errando. Que me deem uma orientação de como usar corretamente a função validar.
Antecipadamente, agradeço pela atenção.