Wie kann man den Pfad für die DTD angeben ?
Meine
XML-Datei sieht so aus:
XML-Code:
<?
xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE AppData SYSTEM "APPDATA_XML.DTD">
<AppData>
</AppData>
Die Datei APPDATA_XML.DTD liegt in meinem Programmverzeichnis.
Ich möchte nun den Ersteller der
XML-Datei nicht zwingen, den Pfad für die DTD komplett anzugeben.
Das Laden der
XML-Datei sieht bisher so aus:
Delphi-Quellcode:
var
document : IXMLDOMDocument2;
sc : IXMLDOMSchemaCollection;
begin
auftrag := Freimachung.auftrag;
document := CoDOMDocument30.Create;
sc := CoXMLSchemaCache.Create;
// ich versuche hier, den Pfad auf die DTD-Datei hinzubiegen
// so ist es aber nicht richtig
// Fehlermeldung "Eine DTD-Deklaration ausserhalb von DTD ist nicht zugelassen"
sc.add('
APPDATA_XML.DTD', ApplicationPath+'
APPDATA_XML.DTD');
document.schemas := sc;
if not document.load(filename)
then
begin
raise Exception.Create(document.parseError.reason);
end;