Hallo Andreas,
wenn ich dich richtig verstehe, dann suchst du eine Lösung für die Testphase und nicht für den produktiven Einsatz. Musst du unbedingt eine DTD verwenden? Wenn du die DTD in einen anderen Schema-Dialekt (XDR, XSD) übersetzen (TIBCO Turbo
XML o.ä.) könntest, dann könntest du einen fehlenden Knoten (wie bisher) über
not Assigned(node) feststellen und
Assert(Assigned(node.definition)) als Stolperfalle für ungültige Knoten in der Testphase verwenden. Sollte analog auch für Attribute funktionieren.
Freundliche Grüße