![]() |
Validierung mit MSXML
Hi Leute!
Folgendes xml-File (test.xml) wird von MSXML beanstandet:
XML-Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE tsq [ <!ELEMENT tsq (abc)> <!ELEMENT abc EMPTY> ]> <tsq> <abc/> </tsq> Fehlertext: Validate failed because the root element had no associated DTD/schema. Aber: Sämtliche online-Validatoren finden das Dokument ganz OK! Quelltext:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject); var i, j: integer; error: IXMLDOMParseError; begin myDoc := CoDOMDocument40.Create; myDoc.setProperty('NewParser', true); myDoc.async:= false; if not FileExists('test.xml') then begin myDoc.loadXML('<?xml version="1.0"?><tsq></tsq>'); end else myDoc.load('test.xml'); if myDoc.parseError.errorCode <> 0 then begin MessageDlg('Die XML-Datei ist nicht korrekt!' + #13#10 +'Das Programm wird nun beendet.', mtError, [mbOK], 0); Application.Terminate; end; error:= myDoc.validate; Edit1.Text:= error.Get_reason; end; Idee? |
Re: Validierung mit MSXML
Ja. Lass den "NewParser" weg
Zitat:
|
Re: Validierung mit MSXML
OK, ich bin auch gerade darauf gekommen. Aber wozu dann überhaupt MSXML 4.0, wenn der neue Parser diese grundsätzliche Funktionalität nicht erfüllt. Ist dies auch der Grund, warum die 4.0 Version nicht bei XP dabei ist, oder hat dies eher historische Gründe (4.0 war zum erscheinen von XP noch nicht fertig?).
Wie seht Ihr denn die Notwendigkeit einer DTD für kleinere, abgeschlossene Projekte (XML-Daten werden nur von einem Programm gelesen und geschrieben)? Ciao |
Re: Validierung mit MSXML
Zitat:
Zitat:
|
Re: Validierung mit MSXML
Hat jemand von euch ne Idee wie ich mein XML Dokument per OmniXML gegen die eingebettete DTD Validiere?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz