Estoy tratando de validar un archivo XML contra el esquema al que hace referencia. (El uso de Delphi y MSXML2_TLB.) El (parte pertinente de los) código es como la siguiente:validación de esquema con msxml en delphi
procedure TfrmMain.ValidateXMLFile;
var
xml: IXMLDOMDocument2;
err: IXMLDOMParseError;
schemas: IXMLDOMSchemaCollection;
begin
xml := ComsDOMDocument.Create;
if xml.load('Data/file.xml') then
begin
schemas := xml.namespaces;
if schemas.length > 0 then
begin
xml.schemas := schemas;
err := xml.validate;
end;
end;
end;
Esto tiene la consecuencia de que se carga la memoria caché (schemas.length> 0), pero entonces el siguiente asignación plantea una excepción: "solo se pueden usar XMLSchemaCache-schemacollections".
¿Cómo debo hacer esto?
Gracias, Miel.
¿cómo se define xmlDoc? – neves
lo siento, creo que debería ser xml, no xmlDoc. Solo para asegurarme de que revisaré antes de editar. – Miel