Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#1

MSXML: Pfad für DTD angeben

  Alt 5. Apr 2007, 12:17
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;
Andreas
  Mit Zitat antworten Zitat