Validando archivos XML contra XSD en FireMonkey

Estoy desarrollando una aplicación multiplataforma (para Windows, Mac, etc.) y para máquinas de 32 y 64 bits. Tengo muchos archivos XML que necesito validar contra suXSD.

¿Hay alguna manera de hacer esto en Delphi XE3?

He intentado la validación de DTD pero siempre recibo un error "DTD prohibido". También he intentado las soluciones mencionadas en muchos sitios web para resolver este error, pero no he tenido éxito.

Gracias por adelantado.

A continuación se muestra el código que he usado ...

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;