Endlich eine Art Durchbruch...MultipleErrors funktioniert
scheinbar nur bei der Schemaüberprüfung, also
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var tmp: IXMLDOMDocument2;
lst: IXMLDOMParseErrorCollection;
schema : IXMLDOMSchemaCollection2;
i: Integer;
begin
Memo.Clear;
tmp := CoDOMDocument60.Create;
schema:=CoXMLSchemaCache60.Create;
tmp.setProperty('MultipleErrorMessages', true);
tmp.loadXML('<test><a></a>[b][/b]</test>');
schema.add('','C:\xsd.xsd');
tmp.schemas:=schema;
lst := (tmp.validate as IXMLDOMParseError2).allErrors;
for i := 0 to lst.length -1 do
begin
Memo.Lines.Add(lst.item[i].reason);
end;
end;
Zitat:
Der Inhalt des Elements 'a' ist gemäß dem Inhaltsmodell des übergeordneten Elements 'XXXXX' nicht gültig.
Erwartet: XXXX1, XXXX2, XXXX3, XXXX4, XXXX5.
Das Element 'b' wird verwendet, aber es ist im DTD/Schema nicht deklariert .
Zwar in gewisser Weise keine gute Nachricht...aber naja...jetzt müsste ich mir nur irgendwas überlegen wie er nicht beim Überprüfen der Wohlgeformtheit der
XML-Datei abbricht. Und so perfekt wirkt es auch noch nicht...hmhm
Falls wer einen Tipp hat, her damit!
MfG Alaitoc
PS: Schonmal Danke für die Mühen :>