Ich arbeite mit einem Schema, das von einer dritten Partei erstellt wurde, und ich möchte es mit lxml validieren. Das Problem ist, dass ein solches Schema auf verschiedene xsd-Dateien aufgeteilt ist, die sich selbst referenzieren.
Zum Beispiel hat eine Datei namens "extension.xsd" (die auf dem "Master" Schema aufbaut) eine Zeile wie folgt:
%Vor% Wenn ich versuche, es mit lxml zu validieren (Parsen, dann XMLSchema
verwenden und dann ein anderes Dokument validieren, von dem ich weiß, dass es bereits gültig ist), bekomme ich nur Validierung mit "extension" und nicht "master": mit anderen Worten Die Validierung schlägt fehl (weil in der XML-Datei Elemente nur in "master" und nicht in "extension" vorhanden sind).
Wie kann ich dieses Problem lösen (oder umgehen)? Danke!
Wenn lxml "redefinieren" nicht unterstützt, wäre es am besten, es zu reparieren und einen Patch zu senden. :)
Wenn dies fehlschlägt, besteht die Problemumgehung darin, die Datei master.xsd selbst zu analysieren und dann die Änderungen von extension.xsd anzuwenden und eine einzige xsd-Datei mit dem kombinierten Schema auszugeben.