![]() |
Validierender XML-Parser?
Ich experimentiere gerade mit XML und möchte mir für eine Anwendung ein Format definieren. Damit das alles korrekt ist (auch zu Dokumentationszwecken), habe ich auch eine DTD erstellt.
Nun stellt sich natürlich die Frage, mit welcher Software ich meine XML-Dateien gegen das DTD auf Validität prüfen kann. Eine Recherche brachte nur Hinweise auf kommerzielle Software, ich kann mir aber nicht vorstellen, dass bei der Verbreitung von XML sowas Alltägliches nicht als OpenSource- oder Freeware-Variante existiert. Kennt da jemand was? |
Re: Validierender XML-Parser?
Wahrscheinlich habe ich, trotz gewisser XML-Kenntnisse, nicht so die Ahnung von Validierung, denn ich habe bisher ganz einfach die eingebauten Möglichkeiten (von MS-XML bspw.) benutzt. Und da das Framework auch XML-Unterstützung enthält ...
Klärt mich mal jemand auf: Wozu braucht man beim Validieren seiner eigenen XML-Datei externe Software? :gruebel: Das PSDK zeigt, wie man mit einem XSD-Schema und einem JavaScript eine XML-Datei auf Gültigkeit prüfen kann (per MS-XML). Ich bin sicher, die gleichen Methoden gibt´s auch im .NET Framework. Nicht falsch verstehen, @Chewie. Hat nicht viel mit dir und deiner Frage zu tun. |
Re: Validierender XML-Parser?
Zitat:
OK, was ist ein XSD-Schema? Ich bin nicht so XML bewandert, deshalb wäre es nett, wenn man mich aufklären würde ;) Wenn ich keine zusätzliche Software brauche - umso besser. Ich will halt einfach nur eine Methode um zu überprüfen, ob meine XML-Dateien valide sind. Und nach dem Wenigen, was ich bisher von XML weiß, ist die Prüfung des DTDs die Methode dazu. |
Re: Validierender XML-Parser?
das schreibt meine OH:
Zitat:
|
Re: Validierender XML-Parser?
Liste der Anhänge anzeigen (Anzahl: 1)
Ein
![]() Ich würde dir ja gern das XSD-Schema meiner Help 2.0-Registrierung abdrucken, aber das würde wohl zu umfangreich werden. Darum hau ich´s mal samt Beispiel-XML und Prüf-JavaScript in den Anhang (MS XML 4 wird aber benötigt). Einfach das Skript aufrufen, und es sollte dir zeigen, dass die XML-Datei gültig ist. Dann etwas in der XML-Datei rumfummeln, vllt. mal ein paar selbst erdachte Knoten eintragen und wieder prüfen lassen, usw. Wie gesagt, mir persönlich reicht das aus. Mein Registrierungstool lädt die Datei und prüft die übergebene XML dann auf Gültigkeit. Ich meine, das Validieren übernimmt eigentlich der Parser. Mein Programm reagiert bloß auf den "errorCode". |
Re: Validierender XML-Parser?
Ah, OK, ich schaus mir mal an.
Aber gibt es diese XSD-Dateien dann nur .NET/Windows-Bereich? Oder ist das ein allgemeiner XML-Standard? |
Re: Validierender XML-Parser?
Das müsste Standard sein.
|
Re: Validierender XML-Parser?
OK, soweit ich das sehe, enthält ein XSD die gleichen Deklarationen wie ein DTD, nur wiederum im XML-Format.
Das heißt es gibt eine Meta-Sprache SGML, die eine Sprache namens XML definiert, die wiederum Meta-Sprache für andere Sprachen ist. Und die Sprache, die die Gültigkeit von XML-Dateien beschreibt (XSD), baut wiederum auf XML auf :shock: Wenn man das das erste Mal liest, kommt es einem so vor, als beiße sich die Katze (nicht Sakura) in den Schwanz. Aber naja, Katzen haben ja neun Leben :mrgreen: Schade an der ganzen geschichte ist nur, dass diese XSD etwas länglicher als DTDs sind. |
Re: Validierender XML-Parser?
"länglich"? :gruebel: Im Sinne von "länger/größer/umfangreicher als eine DTD"? Na ja, die ganzen Dokumentationstags kannst du bspw. auch weglassen:
XML-Code:
Ich habe sie bloß gesetzt, weil ich ein Tool habe, das aus dem Schema ein paar HTML-Seiten mit der Doku generiert. Im Prinzip das, was NDoc aus der XML-Dokumentation einer .NET-Klasse macht. :)
<xs:annotation><xs:documentation>
Help 2.0 Registration Validation Schema Copyright (c) 2005 Mathias Simmack </xs:documentation></xs:annotation> Und ich finde XSDs besser. Das Schema muss nicht in der XML-Datei angegeben werden. Es muss lediglich dem Programm (und damit dem XML-Parser) bekannt sein. Eine DTD sollte schon in der XML-Datei drin stehen, ansonsten musst du das IMHO erst umständlich einfügen, bevor du das Dokument validieren kannst. |
Re: Validierender XML-Parser?
nur mal so am Rande...
Man kann sich in .Net Klassen aus XSDs erzeugen lassen. Auf dem Prinzip beruhen typisierte DataSets und die Proxyklassen für WebServices. :) Du kannst damit deklarativ eine struktur vorgeben, die dann in Code umgesetzt werden kann. @Topic Ein, den Zugriffsklassen bekanntes, XSD bedeutet auch, dass du du nur valide Daten einlesen kannst. Du "müllst" dich also nicht mit strings zu, die eigentlich dateTimes oder Integer sein sollten. ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:42 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