Bei der Bearbeitung von XML Dokumenten nehme ich oft Änderungen an der Struktur vor. Ich habe also ein TXMLDocument im Speicher, dass immer mal wieder gegen die DTD validiert werden muss. Prinzipiell kann man bei, Laden eines XML Files in ein TXMLDocument auch den Parser mitlaufen lassen, der dann auch Hinweise bezüglich der Validität gibt.
Aber mir stellt sich die Frage : Kann man ein im Speicher befindliches TXMLDocument immer mal wieder "schnell" überprüfen, ob es nach Änderungen immer noch valide ist. Welche prinzipielle Vorgehensweise ist dafür sinnvoll ??
XML Dokumente gegen DTD validieren
-
- Beiträge: 6
- Registriert: Do 30. Jul 2009, 08:23
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: XML Dokumente gegen DTD validieren
Deine Anwendung sollte die DTD kennen und nur valide XML-Dokumente erzeugen.schmitteharry hat geschrieben:Welche prinzipielle Vorgehensweise ist dafür sinnvoll ??
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 6
- Registriert: Do 30. Jul 2009, 08:23
Re: XML Dokumente gegen DTD validieren
Genau das ist das Problem :
Einerseits kenne ich die DTD, andereseits können aber User Strukturänderungen in der XML-Dokument-Instanz vornehmen. Und dann will ich sozusagen on the fly prüfen, ob die Strukturänderung wiederum ein valides Dokument ergibt oder nicht.
Zur Zeit mach ich das prinzipiell wie folgt :
Einerseits kenne ich die DTD, andereseits können aber User Strukturänderungen in der XML-Dokument-Instanz vornehmen. Und dann will ich sozusagen on the fly prüfen, ob die Strukturänderung wiederum ein valides Dokument ergibt oder nicht.
Zur Zeit mach ich das prinzipiell wie folgt :
- User ändert Struktur in Doc (TXMLDocument)
- (DOCTYPE - Definition in Doc ist gesetzt über SystemID)
- WriteXMLFile (Doc,CheckStream)
- Parser.Parse (CheckStream,Tempdoc)
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: XML Dokumente gegen DTD validieren
Wie groß ist denn die DTD? Bei einer kleinen sollte es doch kein Problem darstellen, dem Benutzer nur valide Änderungen anzubieten.schmitteharry hat geschrieben:Einerseits kenne ich die DTD, andereseits können aber User Strukturänderungen in der XML-Dokument-Instanz vornehmen. Und dann will ich sozusagen on the fly prüfen, ob die Strukturänderung wiederum ein valides Dokument ergibt oder nicht.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 6
- Registriert: Do 30. Jul 2009, 08:23
Re: XML Dokumente gegen DTD validieren
Die DTD Definition liegt im Moment bei ca 2000 Zeilen, und wird an verschiedenden Stellen noch angepasst. Damit ist eine harte Kodierung der gültigen Elemente an den jeweiligen Stellen im Dokument keine Alternative. Meine Frage zielt daher auf diejenigen unter euch, die schon mit der DOM Implementation gearbeitet haben und speziell beim dynamischen validieren von XML-Dokumenten Erfahrungen haben.Socke hat geschrieben: Wie groß ist denn die DTD? Bei einer kleinen sollte es doch kein Problem darstellen, dem Benutzer nur valide Änderungen anzubieten.