def __setitem__(self, key, val): name = '%s%s' % (val.prefix, val.__name__) if val.element is None: val.element = etree.SubElement(self.element, name) name = '%s:%s' % (val.uuid, name) id = val.attributes.get(val.idattribute, None) if id: self.refindex[id] = val OrderedNode.__setitem__(self, name, val)
def __setitem__(self, key, value): if not IZCMLNode.providedBy(value): raise ValueError(u"Invalid value %s" % value) if value.nsmap is None: value.nsmap = self.nsmap if value.model is None: if value.__name__ is None: raise ValueError(u"Cannot create model. no name given" % value) ns = None if value.__name__.find(':') != -1: ns, name = value.__name__.split(':') else: name = value.__name__ value.model = XMLNode(name, ns=value.nsmap[ns], nsmap=value.nsmap) #value.model.element.nsmap = self.nsmap self.model[value.uuid] = value.model OrderedNode.__setitem__(self, key, value)
def __setitem__(self, key, val): if not IXMLNode.providedBy(val) or not IRoot.providedBy(val): raise ValueError(u"Could only contain complete XML trees.") noLongerProvides(val, IRoot) OrderedNode.__setitem__(self, key, val)