Validando arquivos XML no XSD no FireMonkey

Estou desenvolvendo um aplicativo de plataforma cruzada (para Windows, Mac etc.) e para máquinas de 32 e 64 bits. Eu tenho muitos arquivos XML que eu preciso validar contra seusXSD.

Existe alguma maneira de fazer isso no Delphi XE3?

Eu tentei a validação de DTD, mas estou sempre recebendo um erro de "DTD proibido". Eu também tentei soluções mencionadas em muitos sites para resolver esse erro, mas não tive sucesso.

Desde já, obrigado.

Abaixo está o código que usei ...

function TForm2.ValidateXML(const xmlFile : TFileName) : boolean;
 var
 xmlDoc: TXMLDocument;
begin
result := false;
  xmlDoc := TXMLDocument.Create(nil) ;
  try
    xmlDoc.ParseOptions := [poResolveExternals, poValidateOnParse];
   try
      xmlDoc.LoadFromFile(xmlFile) ;
     xmlDoc.Active := true; //this will validate
     result := true;
   except
     on EX : EDOMParseError do
     begin
     ShowMessage('Invalid XML: ' + Ex.Message) ;
   end;
   end;
 finally
   xmlDoc := nil;
 end;
end;

questionAnswers(1)

yourAnswerToTheQuestion