Christian Seiler: DTD - erlaubte Inhalte eines Elementtyps abfragen

Beitrag lesen

Hallo Johannes,

Ich bin nicht auf DTD festgelegt, da es um eigene (noch nicht existierende) Dokumenttypen geht. RelaxNG hatte ich mir noch nicht genau angeschaut und das scheint ja wirklich sehr viel leichter interpretierbar zu sein. Vielleicht wage ich mich da mal dran. Nach allem was ich bisher gesehen habe ist XML Schema vergleichsweise komplex, würdest du das bestätigen?

Ja. Wenn Du die Wahl hast, nimm auf jeden Fall Relax NG. XML Schema halte ich nicht nur für sehr komplex, sondern auch in einigen Teilen für sehr schlecht konzipiert.

Eine Sache verstehe ich aber immernoch nicht: Im Prinzip muss doch in jedem XML-Validator, der DTD-Validierung beherscht, die Funktionalität drin sein, die ich brauche.

Ja.

Warum stellt keine dieser Klassen die Funktionalität zur Verfügung, sondern bietet nur komplette Validierungen an?

Nunja, einige Parser bieten - soweit ich das sehen kann - zumindest grundsätzlichen Zugriff auf diese Informationen an. Ich habe damals auch ein paar Dinge gefunden für C-basierte Parser (was mir im Java-Fall aber nicht weitergeholfen hat). Soweit ich mich erinnern kann, kann man z.B. der libxml2 diese Informationen irgendwie entlocken, wenn man sich auf den Kopf stellt und mit dem Füßen wackelt - kann mich aber auch täuschen. Allerdings: Auch wenn PHP die libxml2 nutzt für die XML-Funktionalität: PHP-Funktionen, die diese Funktionalität bereitstellen, gibt es nicht.

Viele Grüße,
Christian