1 <?xml version="1.0" encoding="ascii"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "DTD/xhtml1-transitional.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
6 <title>lxml.objectify.PyType</title>
7 <link rel="stylesheet" href="epydoc.css" type="text/css" />
8 <script type="text/javascript" src="epydoc.js"></script>
11 <body bgcolor="white" text="black" link="blue" vlink="#204080"
13 <!-- ==================== NAVIGATION BAR ==================== -->
14 <table class="navbar" border="0" width="100%" cellpadding="0"
15 bgcolor="#a0c0ff" cellspacing="0">
18 <th> <a
19 href="lxml-module.html">Home</a> </th>
22 <th> <a
23 href="module-tree.html">Trees</a> </th>
26 <th> <a
27 href="identifier-index.html">Indices</a> </th>
30 <th> <a
31 href="help.html">Help</a> </th>
33 <!-- Project homepage -->
34 <th class="navbar" align="right" width="100%">
35 <table border="0" cellpadding="0" cellspacing="0">
36 <tr><th class="navbar" align="center"
37 ><a class="navbar" target="_top" href="/">lxml API</a></th>
41 <table width="100%" cellpadding="0" cellspacing="0">
44 <span class="breadcrumbs">
45 <a href="lxml-module.html">Package lxml</a> ::
46 <a href="lxml.objectify-module.html">Module objectify</a> ::
51 <table cellpadding="0" cellspacing="0">
52 <!-- hide/show private -->
53 <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
54 onclick="toggle_private();">hide private</a>]</span></td></tr>
55 <tr><td align="right"><span class="options"
56 >[<a href="frames.html" target="_top">frames</a
57 >] | <a href="lxml.objectify.PyType-class.html"
58 target="_top">no frames</a>]</span></td></tr>
63 <!-- ==================== CLASS DESCRIPTION ==================== -->
64 <h1 class="epydoc">Class PyType</h1><p class="nomargin-top"></p>
65 <pre class="base-tree">
68 <strong class="uidshort">PyType</strong>
72 <p>PyType(self, name, type_check, type_class, stringify=None)
73 User defined type.</p>
74 <p>Named type that contains a type check function, a type class that
75 inherits from ObjectifiedDataElement and an optional "stringification"
76 function. The type check must take a string as argument and raise
77 ValueError or TypeError if it cannot handle the string value. It may be
78 None in which case it is not considered for type guessing. For registered
79 named types, the 'stringify' function (or unicode() if None) is used to
80 convert a Python object with type name 'name' to the string representation
81 stored in the XML tree.</p>
83 <pre class="rst-literal-block">
84 PyType('int', int, MyIntClass).register()
86 <p>Note that the order in which types are registered matters. The first
87 matching type will be used.</p>
89 <!-- ==================== INSTANCE METHODS ==================== -->
90 <a name="section-InstanceMethods"></a>
91 <table class="summary" border="1" cellpadding="3"
92 cellspacing="0" width="100%" bgcolor="white">
93 <tr bgcolor="#70b0f0" class="table-header">
94 <td colspan="2" class="table-header">
95 <table border="0" cellpadding="0" cellspacing="0" width="100%">
97 <td align="left"><span class="table-header">Instance Methods</span></td>
98 <td align="right" valign="top"
99 ><span class="options">[<a href="#section-InstanceMethods"
100 class="privatelink" onclick="toggle_private();"
101 >hide private</a>]</span></td>
107 <td width="15%" align="right" valign="top" class="summary">
108 <span class="summary-type"> </span>
109 </td><td class="summary">
110 <table width="100%" cellpadding="0" cellspacing="0" border="0">
112 <td><span class="summary-sig"><a href="lxml.objectify.PyType-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
113 <span class="summary-sig-arg">name</span>,
114 <span class="summary-sig-arg">type_check</span>,
115 <span class="summary-sig-arg">type_class</span>,
116 <span class="summary-sig-arg">stringify</span>=<span class="summary-sig-default">None</span>)</span><br />
117 x.__init__(...) initializes x; see help(type(x)) for signature</td>
118 <td align="right" valign="top">
128 <td width="15%" align="right" valign="top" class="summary">
129 <span class="summary-type">a new object with type S, a subtype of T</span>
130 </td><td class="summary">
131 <table width="100%" cellpadding="0" cellspacing="0" border="0">
133 <td><span class="summary-sig"><a href="lxml.objectify.PyType-class.html#__new__" class="summary-sig-name">__new__</a>(<span class="summary-sig-arg">T</span>,
134 <span class="summary-sig-arg">S</span>,
135 <span class="summary-sig-arg">...</span>)</span></td>
136 <td align="right" valign="top">
146 <td width="15%" align="right" valign="top" class="summary">
147 <span class="summary-type"> </span>
148 </td><td class="summary">
149 <table width="100%" cellpadding="0" cellspacing="0" border="0">
151 <td><span class="summary-sig"><a href="lxml.objectify.PyType-class.html#__repr__" class="summary-sig-name">__repr__</a>(<span class="summary-sig-arg">x</span>)</span><br />
153 <td align="right" valign="top">
163 <td width="15%" align="right" valign="top" class="summary">
164 <span class="summary-type"> </span>
165 </td><td class="summary">
166 <table width="100%" cellpadding="0" cellspacing="0" border="0">
168 <td><span class="summary-sig"><a href="lxml.objectify.PyType-class.html#register" class="summary-sig-name">register</a>(<span class="summary-sig-arg">self</span>,
169 <span class="summary-sig-arg">before</span>=<span class="summary-sig-default">None</span>,
170 <span class="summary-sig-arg">after</span>=<span class="summary-sig-default">None</span>)</span><br />
171 Register the type.</td>
172 <td align="right" valign="top">
182 <td width="15%" align="right" valign="top" class="summary">
183 <span class="summary-type"> </span>
184 </td><td class="summary">
185 <table width="100%" cellpadding="0" cellspacing="0" border="0">
187 <td><span class="summary-sig"><a name="unregister"></a><span class="summary-sig-name">unregister</span>(<span class="summary-sig-arg">self</span>)</span></td>
188 <td align="right" valign="top">
198 <td colspan="2" class="summary">
199 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
200 <code>__delattr__</code>,
201 <code>__format__</code>,
202 <code>__getattribute__</code>,
203 <code>__hash__</code>,
204 <code>__reduce__</code>,
205 <code>__reduce_ex__</code>,
206 <code>__setattr__</code>,
207 <code>__sizeof__</code>,
208 <code>__str__</code>,
209 <code>__subclasshook__</code>
214 <!-- ==================== PROPERTIES ==================== -->
215 <a name="section-Properties"></a>
216 <table class="summary" border="1" cellpadding="3"
217 cellspacing="0" width="100%" bgcolor="white">
218 <tr bgcolor="#70b0f0" class="table-header">
219 <td colspan="2" class="table-header">
220 <table border="0" cellpadding="0" cellspacing="0" width="100%">
222 <td align="left"><span class="table-header">Properties</span></td>
223 <td align="right" valign="top"
224 ><span class="options">[<a href="#section-Properties"
225 class="privatelink" onclick="toggle_private();"
226 >hide private</a>]</span></td>
232 <td width="15%" align="right" valign="top" class="summary">
233 <span class="summary-type"> </span>
234 </td><td class="summary">
235 <a name="name"></a><span class="summary-name">name</span>
239 <td width="15%" align="right" valign="top" class="summary">
240 <span class="summary-type"> </span>
241 </td><td class="summary">
242 <a name="stringify"></a><span class="summary-name">stringify</span>
246 <td width="15%" align="right" valign="top" class="summary">
247 <span class="summary-type"> </span>
248 </td><td class="summary">
249 <a name="type_check"></a><span class="summary-name">type_check</span>
253 <td width="15%" align="right" valign="top" class="summary">
254 <span class="summary-type"> </span>
255 </td><td class="summary">
256 <a href="lxml.objectify.PyType-class.html#xmlSchemaTypes" class="summary-name">xmlSchemaTypes</a><br />
257 The list of XML Schema datatypes this Python type maps to.
261 <td colspan="2" class="summary">
262 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
263 <code>__class__</code>
268 <!-- ==================== METHOD DETAILS ==================== -->
269 <a name="section-MethodDetails"></a>
270 <table class="details" border="1" cellpadding="3"
271 cellspacing="0" width="100%" bgcolor="white">
272 <tr bgcolor="#70b0f0" class="table-header">
273 <td colspan="2" class="table-header">
274 <table border="0" cellpadding="0" cellspacing="0" width="100%">
276 <td align="left"><span class="table-header">Method Details</span></td>
277 <td align="right" valign="top"
278 ><span class="options">[<a href="#section-MethodDetails"
279 class="privatelink" onclick="toggle_private();"
280 >hide private</a>]</span></td>
286 <a name="__init__"></a>
288 <table class="details" border="1" cellpadding="3"
289 cellspacing="0" width="100%" bgcolor="white">
291 <table width="100%" cellpadding="0" cellspacing="0" border="0">
292 <tr valign="top"><td>
293 <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
294 <span class="sig-arg">name</span>,
295 <span class="sig-arg">type_check</span>,
296 <span class="sig-arg">type_class</span>,
297 <span class="sig-arg">stringify</span>=<span class="sig-default">None</span>)</span>
298 <br /><em class="fname">(Constructor)</em>
300 </td><td align="right" valign="top"
305 x.__init__(...) initializes x; see help(type(x)) for signature
313 <a name="__new__"></a>
315 <table class="details" border="1" cellpadding="3"
316 cellspacing="0" width="100%" bgcolor="white">
318 <table width="100%" cellpadding="0" cellspacing="0" border="0">
319 <tr valign="top"><td>
320 <h3 class="epydoc"><span class="sig"><span class="sig-name">__new__</span>(<span class="sig-arg">T</span>,
321 <span class="sig-arg">S</span>,
322 <span class="sig-arg">...</span>)</span>
324 </td><td align="right" valign="top"
331 <dt>Returns: a new object with type S, a subtype of T</dt>
338 <a name="__repr__"></a>
340 <table class="details" border="1" cellpadding="3"
341 cellspacing="0" width="100%" bgcolor="white">
343 <table width="100%" cellpadding="0" cellspacing="0" border="0">
344 <tr valign="top"><td>
345 <h3 class="epydoc"><span class="sig"><span class="sig-name">__repr__</span>(<span class="sig-arg">x</span>)</span>
346 <br /><em class="fname">(Representation operator)</em>
348 </td><td align="right" valign="top"
361 <a name="register"></a>
363 <table class="details" border="1" cellpadding="3"
364 cellspacing="0" width="100%" bgcolor="white">
366 <table width="100%" cellpadding="0" cellspacing="0" border="0">
367 <tr valign="top"><td>
368 <h3 class="epydoc"><span class="sig"><span class="sig-name">register</span>(<span class="sig-arg">self</span>,
369 <span class="sig-arg">before</span>=<span class="sig-default">None</span>,
370 <span class="sig-arg">after</span>=<span class="sig-default">None</span>)</span>
372 </td><td align="right" valign="top"
377 <p>Register the type.</p>
378 <p>The additional keyword arguments 'before' and 'after' accept a
379 sequence of type names that must appear before/after the new type in
380 the type list. If any of them is not currently known, it is simply
381 ignored. Raises ValueError if the dependencies cannot be fulfilled.</p>
387 <!-- ==================== PROPERTY DETAILS ==================== -->
388 <a name="section-PropertyDetails"></a>
389 <table class="details" border="1" cellpadding="3"
390 cellspacing="0" width="100%" bgcolor="white">
391 <tr bgcolor="#70b0f0" class="table-header">
392 <td colspan="2" class="table-header">
393 <table border="0" cellpadding="0" cellspacing="0" width="100%">
395 <td align="left"><span class="table-header">Property Details</span></td>
396 <td align="right" valign="top"
397 ><span class="options">[<a href="#section-PropertyDetails"
398 class="privatelink" onclick="toggle_private();"
399 >hide private</a>]</span></td>
405 <a name="xmlSchemaTypes"></a>
407 <table class="details" border="1" cellpadding="3"
408 cellspacing="0" width="100%" bgcolor="white">
410 <h3 class="epydoc">xmlSchemaTypes</h3>
411 <p>The list of XML Schema datatypes this Python type maps to.</p>
412 <p>Note that this must be set before registering the type!</p>
418 <!-- ==================== NAVIGATION BAR ==================== -->
419 <table class="navbar" border="0" width="100%" cellpadding="0"
420 bgcolor="#a0c0ff" cellspacing="0">
423 <th> <a
424 href="lxml-module.html">Home</a> </th>
427 <th> <a
428 href="module-tree.html">Trees</a> </th>
431 <th> <a
432 href="identifier-index.html">Indices</a> </th>
435 <th> <a
436 href="help.html">Help</a> </th>
438 <!-- Project homepage -->
439 <th class="navbar" align="right" width="100%">
440 <table border="0" cellpadding="0" cellspacing="0">
441 <tr><th class="navbar" align="center"
442 ><a class="navbar" target="_top" href="/">lxml API</a></th>
446 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
448 <td align="left" class="footer">
449 Generated by Epydoc 3.0.1
450 on Wed Jan 29 12:26:21 2020
452 <td align="right" class="footer">
453 <a target="mainFrame" href="http://epydoc.sourceforge.net"
454 >http://epydoc.sourceforge.net</a>
459 <script type="text/javascript">
461 // Private objects are initially displayed (because if
462 // javascript is turned off then we want them to be
463 // visible); but by default, we want to hide them. So hide
464 // them unless we have a cookie that says to show them.