import meld3 def page(insertions): for insertion in insertions: target, targetid, source, sourceid = insertion insertreplace(target=target, source=source, targetid=targetid sourceid=sourceid) return target def parse(xml): return meld3.parse_html(xml) def transform(element, context, request): return element def insertreplace(target, source, targetid=None, sourceid=None): if targetid is not None: target = target.findmeld(targetid) if sourceid is not None: source = source.findmeld(sourceid) for child in target.getchildren(): child.deparent() target.text = None target.append(source) return target