la validation du schéma avec msxml en delphi

Je suis en train de valider un fichier XML contre les schémas qu'il référence. (À l'aide de Delphi et MSXML2_TLB.) La (partie de la) code ressemble à ceci:

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;

Cela a pour conséquence que le cache est chargé (schemas.length > 0), mais alors la prochaine cession soulève une exception: "seulement XMLSchemaCache-schemacollections peut être utilisé."

Comment dois-je aller à ce sujet?

OriginalL'auteur Miel | 2009-01-15