class _NSContext(object): """ A mapping from XML namespaces onto their prefixes in the document. """ def __init__(self, parent=None): """ Pull out the parent's namespaces, if there's no parent then default to XML. """ self.parent = parent if parent is not None: self.nss = OrderedDict(parent.nss) else: self.nss = {"http://www.w3.org/XML/1998/namespace": "xml"} def get(self, k, d=None): """ Get a prefix for a namespace. @param d: The default prefix value. """ return self.nss.get(k, d) def __setitem__(self, k, v): """ Proxy through to setting the prefix for the namespace. """ self.nss.__setitem__(k, v) def __getitem__(self, k): """ Proxy through to getting the prefix for the namespace. """ return self.nss.__getitem__(k)
class _NSContext(object): """ A mapping from XML namespaces onto their prefixes in the document. """ def __init__(self, parent=None): """ Pull out the parent's namespaces, if there's no parent then default to XML. """ self.parent = parent if parent is not None: self.nss = OrderedDict(parent.nss) else: self.nss = {'http://www.w3.org/XML/1998/namespace': 'xml'} def get(self, k, d=None): """ Get a prefix for a namespace. @param d: The default prefix value. """ return self.nss.get(k, d) def __setitem__(self, k, v): """ Proxy through to setting the prefix for the namespace. """ self.nss.__setitem__(k, v) def __getitem__(self, k): """ Proxy through to getting the prefix for the namespace. """ return self.nss.__getitem__(k)