Halihallo André
hast Du schonmal probiert was passiert, wenn Du das XML parst, und eine DTD Definition im XML stehen hast. Eigentlich sollte der Parser dann ja gegen die DTD validieren.
Ja, daß hatte ich schon probiert. Ich habe in der DTD ein Element umbenannt, es aber im XML-Dokument so gelassen. Ich habe keine Fehlermeldung bekommen.
Genau, es ist nach wie vor wellformed.
PHP nutzt ja Expat und Expat ist IMHO kein validierender XML-Parser.
Es testet IMHO nur ob das XML-Dokument wohlgeformt ist.
Das ist richtig.
[...] xmllint aus der libxml2 (Teil von Gnome) ein [...]
Werde ich wohl auch haben, da ich mir libxml2 unter Linux installiert habe. Werde ich doch mal ausprobieren.
Entweder so über die shell/system. Ich weiss über PHP leider nichts für XML, aber in Perl
wäre hätte ich da eine Kleinigkeit:
#!/usr/bin/perl
use XML::LibXML;
my $parser = XML::LibXML->new;
my $doc = $parser->parse_file('test.xml');
$doc->validate;
XML::LibXML basiert auf libxml2, enthält test.xml eine DOCTYPE mit externer oder interner
DTD, wird diese nachgeladen und dagegen validiert. XML Schema support gibt es natürlich
über XML::Schema.
Viele Grüsse
Philipp
RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.