5257cf119e798118435f7f0ee1b14f84b616dfd8
[platform/upstream/python-lxml.git] / doc / html / api / lxml.objectify.PyType-class.html
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">
5 <head>
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>
9 </head>
10
11 <body bgcolor="white" text="black" link="blue" vlink="#204080"
12       alink="#204080">
13 <!-- ==================== NAVIGATION BAR ==================== -->
14 <table class="navbar" border="0" width="100%" cellpadding="0"
15        bgcolor="#a0c0ff" cellspacing="0">
16   <tr valign="middle">
17   <!-- Home link -->
18       <th>&nbsp;&nbsp;&nbsp;<a
19         href="lxml-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
20
21   <!-- Tree link -->
22       <th>&nbsp;&nbsp;&nbsp;<a
23         href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
24
25   <!-- Index link -->
26       <th>&nbsp;&nbsp;&nbsp;<a
27         href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
28
29   <!-- Help link -->
30       <th>&nbsp;&nbsp;&nbsp;<a
31         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
32
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>
38           </tr></table></th>
39   </tr>
40 </table>
41 <table width="100%" cellpadding="0" cellspacing="0">
42   <tr valign="top">
43     <td width="100%">
44       <span class="breadcrumbs">
45         <a href="lxml-module.html">Package&nbsp;lxml</a> ::
46         <a href="lxml.objectify-module.html">Module&nbsp;objectify</a> ::
47         Class&nbsp;PyType
48       </span>
49     </td>
50     <td>
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&nbsp;private</a>]</span></td></tr>
55         <tr><td align="right"><span class="options"
56             >[<a href="frames.html" target="_top">frames</a
57             >]&nbsp;|&nbsp;<a href="lxml.objectify.PyType-class.html"
58             target="_top">no&nbsp;frames</a>]</span></td></tr>
59       </table>
60     </td>
61   </tr>
62 </table>
63 <!-- ==================== CLASS DESCRIPTION ==================== -->
64 <h1 class="epydoc">Class PyType</h1><p class="nomargin-top"></p>
65 <pre class="base-tree">
66 object --+
67          |
68         <strong class="uidshort">PyType</strong>
69 </pre>
70
71 <hr />
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 &quot;stringification&quot;
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>
82 <p>Example:</p>
83 <pre class="rst-literal-block">
84 PyType('int', int, MyIntClass).register()
85 </pre>
86 <p>Note that the order in which types are registered matters.  The first
87 matching type will be used.</p>
88
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%">
96       <tr valign="top">
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>
102       </tr>
103     </table>
104   </td>
105 </tr>
106 <tr>
107     <td width="15%" align="right" valign="top" class="summary">
108       <span class="summary-type">&nbsp;</span>
109     </td><td class="summary">
110       <table width="100%" cellpadding="0" cellspacing="0" border="0">
111         <tr>
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">
119             
120             
121           </td>
122         </tr>
123       </table>
124       
125     </td>
126   </tr>
127 <tr>
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">
132         <tr>
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">
137             
138             
139           </td>
140         </tr>
141       </table>
142       
143     </td>
144   </tr>
145 <tr>
146     <td width="15%" align="right" valign="top" class="summary">
147       <span class="summary-type">&nbsp;</span>
148     </td><td class="summary">
149       <table width="100%" cellpadding="0" cellspacing="0" border="0">
150         <tr>
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 />
152       repr(x)</td>
153           <td align="right" valign="top">
154             
155             
156           </td>
157         </tr>
158       </table>
159       
160     </td>
161   </tr>
162 <tr>
163     <td width="15%" align="right" valign="top" class="summary">
164       <span class="summary-type">&nbsp;</span>
165     </td><td class="summary">
166       <table width="100%" cellpadding="0" cellspacing="0" border="0">
167         <tr>
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">
173             
174             
175           </td>
176         </tr>
177       </table>
178       
179     </td>
180   </tr>
181 <tr>
182     <td width="15%" align="right" valign="top" class="summary">
183       <span class="summary-type">&nbsp;</span>
184     </td><td class="summary">
185       <table width="100%" cellpadding="0" cellspacing="0" border="0">
186         <tr>
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">
189             
190             
191           </td>
192         </tr>
193       </table>
194       
195     </td>
196   </tr>
197   <tr>
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>
210       </p>
211     </td>
212   </tr>
213 </table>
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%">
221       <tr valign="top">
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>
227       </tr>
228     </table>
229   </td>
230 </tr>
231 <tr>
232     <td width="15%" align="right" valign="top" class="summary">
233       <span class="summary-type">&nbsp;</span>
234     </td><td class="summary">
235         <a name="name"></a><span class="summary-name">name</span>
236     </td>
237   </tr>
238 <tr>
239     <td width="15%" align="right" valign="top" class="summary">
240       <span class="summary-type">&nbsp;</span>
241     </td><td class="summary">
242         <a name="stringify"></a><span class="summary-name">stringify</span>
243     </td>
244   </tr>
245 <tr>
246     <td width="15%" align="right" valign="top" class="summary">
247       <span class="summary-type">&nbsp;</span>
248     </td><td class="summary">
249         <a name="type_check"></a><span class="summary-name">type_check</span>
250     </td>
251   </tr>
252 <tr>
253     <td width="15%" align="right" valign="top" class="summary">
254       <span class="summary-type">&nbsp;</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.
258     </td>
259   </tr>
260   <tr>
261     <td colspan="2" class="summary">
262     <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
263       <code>__class__</code>
264       </p>
265     </td>
266   </tr>
267 </table>
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%">
275       <tr valign="top">
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>
281       </tr>
282     </table>
283   </td>
284 </tr>
285 </table>
286 <a name="__init__"></a>
287 <div>
288 <table class="details" border="1" cellpadding="3"
289        cellspacing="0" width="100%" bgcolor="white">
290 <tr><td>
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>
299   </h3>
300   </td><td align="right" valign="top"
301     >&nbsp;
302     </td>
303   </tr></table>
304   
305   x.__init__(...) initializes x; see help(type(x)) for signature
306   <dl class="fields">
307     <dt>Overrides:
308         object.__init__
309     </dt>
310   </dl>
311 </td></tr></table>
312 </div>
313 <a name="__new__"></a>
314 <div>
315 <table class="details" border="1" cellpadding="3"
316        cellspacing="0" width="100%" bgcolor="white">
317 <tr><td>
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>
323   </h3>
324   </td><td align="right" valign="top"
325     >&nbsp;
326     </td>
327   </tr></table>
328   
329   
330   <dl class="fields">
331     <dt>Returns: a new object with type S, a subtype of T</dt>
332     <dt>Overrides:
333         object.__new__
334     </dt>
335   </dl>
336 </td></tr></table>
337 </div>
338 <a name="__repr__"></a>
339 <div>
340 <table class="details" border="1" cellpadding="3"
341        cellspacing="0" width="100%" bgcolor="white">
342 <tr><td>
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>
347   </h3>
348   </td><td align="right" valign="top"
349     >&nbsp;
350     </td>
351   </tr></table>
352   
353   repr(x)
354   <dl class="fields">
355     <dt>Overrides:
356         object.__repr__
357     </dt>
358   </dl>
359 </td></tr></table>
360 </div>
361 <a name="register"></a>
362 <div>
363 <table class="details" border="1" cellpadding="3"
364        cellspacing="0" width="100%" bgcolor="white">
365 <tr><td>
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>
371   </h3>
372   </td><td align="right" valign="top"
373     >&nbsp;
374     </td>
375   </tr></table>
376   
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>
382   <dl class="fields">
383   </dl>
384 </td></tr></table>
385 </div>
386 <br />
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%">
394       <tr valign="top">
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>
400       </tr>
401     </table>
402   </td>
403 </tr>
404 </table>
405 <a name="xmlSchemaTypes"></a>
406 <div>
407 <table class="details" border="1" cellpadding="3"
408        cellspacing="0" width="100%" bgcolor="white">
409 <tr><td>
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>
413   <dl class="fields">
414   </dl>
415 </td></tr></table>
416 </div>
417 <br />
418 <!-- ==================== NAVIGATION BAR ==================== -->
419 <table class="navbar" border="0" width="100%" cellpadding="0"
420        bgcolor="#a0c0ff" cellspacing="0">
421   <tr valign="middle">
422   <!-- Home link -->
423       <th>&nbsp;&nbsp;&nbsp;<a
424         href="lxml-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
425
426   <!-- Tree link -->
427       <th>&nbsp;&nbsp;&nbsp;<a
428         href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
429
430   <!-- Index link -->
431       <th>&nbsp;&nbsp;&nbsp;<a
432         href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
433
434   <!-- Help link -->
435       <th>&nbsp;&nbsp;&nbsp;<a
436         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
437
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>
443           </tr></table></th>
444   </tr>
445 </table>
446 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
447   <tr>
448     <td align="left" class="footer">
449     Generated by Epydoc 3.0.1
450     on Wed Jan 29 12:26:21 2020
451     </td>
452     <td align="right" class="footer">
453       <a target="mainFrame" href="http://epydoc.sourceforge.net"
454         >http://epydoc.sourceforge.net</a>
455     </td>
456   </tr>
457 </table>
458
459 <script type="text/javascript">
460   <!--
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.
465   checkCookie();
466   // -->
467 </script>
468 </body>
469 </html>