AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi DOCTYPE nachträglich hinzufügen
Thema durchsuchen
Ansicht
Themen-Optionen

DOCTYPE nachträglich hinzufügen

Ein Thema von MathiasSimmack · begonnen am 5. Mär 2004 · letzter Beitrag vom 8. Mär 2004
Antwort Antwort
MathiasSimmack
(Gast)

n/a Beiträge
 
#1

DOCTYPE nachträglich hinzufügen

  Alt 5. Mär 2004, 12:24
Hallo.

Weiß jemand ob (und wenn Ja: wie) es möglich ist, eine DOCTYPE-Angabe nachträglich in ein XML-Dokument einzufügen. Ich spreche natürlich davon, dass das Dokument über einen Parser (MS-XML in meinem Fall) geladen wird und dann in der Anwendung bearbeitet oder ausgewertet werden kann.
Nun habe ich festgestellt, dass bspw. der MS-XML-Parser sehr schön auf Fehler hinweist, wenn die XML-Datei nicht dem erwarteten Format entspricht. Dazu benötigt man aber die DOCTYPE-Deklaration, als Beispiel:
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE knotenname SYSTEM "externe_dtd_datei.dtd">
Und weil ich davon ausgehen muss, dass bereits existierende Dateien diese Deklaration noch nicht haben, brauche ich eine Möglichkeit, sie mit den Mitteln des Parsers einzufügen. Allerdings habe ich bisher nichts gefunden. Die Angabe des entsprechenden Themas im PSDK bzw. der MS-XML-Hilfe würde mir schon genügen.


Danke, und Gruß.
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: DOCTYPE nachträglich hinzufügen

  Alt 5. Mär 2004, 12:56
Hi Mathias,
generell würde ich es mal mit der Eigenschaft doctype von IXMLDOMDocument2 ausprobieren.

Chris
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#3

Re: DOCTYPE nachträglich hinzufügen

  Alt 5. Mär 2004, 13:37
Das Problem ist, dass die meisten Eigenschaften alle schreibgeschützt sind.
Du kannst den Inhalt zwar auslesen:
ShowMessage(xmldoc.doctype.xml); bzw.
Delphi-Quellcode:
ShowMessage(Format('%s = %s',
  [xmldoc.doctype.attributes.item[0].Get_nodeName,
   xmldoc.doctype.attributes.item[0].Get_nodeValue])
);
Aber jeder Versuch, die Angaben zu ändern, klappt so leider nicht.

Weitere Vorschläge?
  Mit Zitat antworten Zitat
Benutzerbild von morbo
morbo

Registriert seit: 27. Jan 2004
60 Beiträge
 
#4

Re: DOCTYPE nachträglich hinzufügen

  Alt 8. Mär 2004, 06:43
Hi,
wie wär es ein neues Document mit dem Doctype zu erstellen und den Root Knoten aus dem "alten" Document zu clonen.

Gruß
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz