Hallo,
ich will erreichen, dass man in XML Ersetzungen einbetten kann, also:
<root filesystem="{filesystem}">
{files}
</root>
ich habe ein Dictionary repl = {"filesystem" : "btrfs", "files" : "whatever"}
und würde das beim parsen des XML einfach mitgeben und bekomme dann die
Strings schon fertig eingesetzt zurück. Ersetzt werden sollen Attribute und
Text.
Hier fängt das Problem an. Als XML-API benutze ich ElementTree.
Das einfachste wäre wohl, wenn der ElementTree benutzende Code sich selber
drum kümmert: str = interpolate(node.attrib["filesystem"], repl). Oder halt
einfach direkt .format aufruft.
Mir wäre es aber am liebsten, wenn ich das weitgehend transparent einbinden
könnte. Wenn ich nun von xml.etree.ElementTree.ElementTree ableite und die
Methoden text und attrib überschreibe, ok... Nur müsste ich wohl auch
sämtliche Funktionen modifizieren, die ElementTrees zurückgeben (damit sie
meine Kindklasse zurückgeben) und das wäre dann wohl doch recht viel Aufwand.
Wie macht man sowas am geschicktesten?
Danke,
Florian