lxml.objectify.PyType
Package lxml :: Module objectify :: Class PyType
[hide private]
[frames] | no frames]

Class PyType

object --+
         |
        PyType

PyType(self, name, type_check, type_class, stringify=None) User defined type.

Named type that contains a type check function, a type class that inherits from ObjectifiedDataElement and an optional "stringification" function. The type check must take a string as argument and raise ValueError or TypeError if it cannot handle the string value. It may be None in which case it is not considered for type guessing. For registered named types, the 'stringify' function (or unicode() if None) is used to convert a Python object with type name 'name' to the string representation stored in the XML tree.

Example:

PyType('int', int, MyIntClass).register()

Note that the order in which types are registered matters. The first matching type will be used.

Instance Methods [hide private]
 
__init__(self, name, type_check, type_class, stringify=None)
x.__init__(...) initializes x; see help(type(x)) for signature
a new object with type S, a subtype of T
__new__(T, S, ...)
 
__repr__(x)
repr(x)
 
register(self, before=None, after=None)
Register the type.
 
unregister(self)

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __reduce__, __reduce_ex__, __setattr__, __sizeof__, __str__, __subclasshook__

Properties [hide private]
  name
  stringify
  type_check
  xmlSchemaTypes
The list of XML Schema datatypes this Python type maps to.

Inherited from object: __class__

Method Details [hide private]

__init__(self, name, type_check, type_class, stringify=None)
(Constructor)

 
x.__init__(...) initializes x; see help(type(x)) for signature
Overrides: object.__init__

__new__(T, S, ...)

 
Returns: a new object with type S, a subtype of T
Overrides: object.__new__

__repr__(x)
(Representation operator)

 
repr(x)
Overrides: object.__repr__

register(self, before=None, after=None)

 

Register the type.

The additional keyword arguments 'before' and 'after' accept a sequence of type names that must appear before/after the new type in the type list. If any of them is not currently known, it is simply ignored. Raises ValueError if the dependencies cannot be fulfilled.


Property Details [hide private]

xmlSchemaTypes

The list of XML Schema datatypes this Python type maps to.

Note that this must be set before registering the type!