translate.storage.xml_name.XmlNamer

Package translate :: Package storage :: Module xml_name :: Class XmlNamer |
[hide private]
[frames] | no frames]

# Class XmlNamer

source code

Initialize me with a DOM node or a DOM document node (the toplevel node you get when parsing an XML file). Then use me to generate fully qualified XML names.

    >>> xml = '<office:document-styles xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"></office>'
    >>> from lxml import etree
    >>> namer = XmlNamer(etree.fromstring(xml))
    >>> namer.name('office', 'blah')
    {urn:oasis:names:tc:opendocument:xmlns:office:1.0}blah
    >>> namer.name('office:blah')
    {urn:oasis:names:tc:opendocument:xmlns:office:1.0}blah

I can also give you XmlNamespace objects if you give me the abbreviated namespace name. These are useful if you need to reference a namespace continuously.

    >>> office_ns = name.namespace('office')
    >>> office_ns.name('foo')
    {urn:oasis:names:tc:opendocument:xmlns:office:1.0}foo

Instance Methods | [hide private]
__init__(self, dom_node) x.__init__(...) initializes x; see x.__class__.__doc__ for signature | source code
name(self, namespace_shortcut, tag=None) | source code
namespace(self, namespace_shortcut) | source code
Inherited from `object`: `__delattr__`, `__getattribute__`, `__hash__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__repr__`, `__setattr__`, `__str__`

Properties | [hide private]
Inherited from `object`: `__class__`

Method Details | [hide private]

### __init__(self, dom_node) (Constructor) | source code
x.__init__(...) initializes x; see x.__class__.__doc__ for signature Overrides: object.__init__ (inherited documentation)