405d216c69b70247845405e4ee66aca49e276cf8
[platform/upstream/python-lxml.git] / doc / html / api / lxml.html.HtmlMixin-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.html.HtmlMixin</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         lxml ::
46         html ::
47         HtmlMixin ::
48         Class&nbsp;HtmlMixin
49       </span>
50     </td>
51     <td>
52       <table cellpadding="0" cellspacing="0">
53         <!-- hide/show private -->
54         <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
55     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
56         <tr><td align="right"><span class="options"
57             >[<a href="frames.html" target="_top">frames</a
58             >]&nbsp;|&nbsp;<a href="lxml.html.HtmlMixin-class.html"
59             target="_top">no&nbsp;frames</a>]</span></td></tr>
60       </table>
61     </td>
62   </tr>
63 </table>
64 <!-- ==================== CLASS DESCRIPTION ==================== -->
65 <h1 class="epydoc">Class HtmlMixin</h1><p class="nomargin-top"><span class="codelink"><a href="lxml.html-pysrc.html#HtmlMixin">source&nbsp;code</a></span></p>
66 <pre class="base-tree">
67 object --+
68          |
69         <strong class="uidshort">HtmlMixin</strong>
70 </pre>
71
72 <dl><dt>Known Subclasses:</dt>
73 <dd>
74       <ul class="subclass-list">
75 <li><a href="lxml.html.HtmlComment-class.html">HtmlComment</a></li><li>, <a href="lxml.html.HtmlElement-class.html">HtmlElement</a></li><li>, <a href="lxml.html.HtmlEntity-class.html">HtmlEntity</a></li><li>, <a href="lxml.html.HtmlProcessingInstruction-class.html">HtmlProcessingInstruction</a></li>  </ul>
76 </dd></dl>
77
78 <hr />
79 <!-- ==================== INSTANCE METHODS ==================== -->
80 <a name="section-InstanceMethods"></a>
81 <table class="summary" border="1" cellpadding="3"
82        cellspacing="0" width="100%" bgcolor="white">
83 <tr bgcolor="#70b0f0" class="table-header">
84   <td colspan="2" class="table-header">
85     <table border="0" cellpadding="0" cellspacing="0" width="100%">
86       <tr valign="top">
87         <td align="left"><span class="table-header">Instance Methods</span></td>
88         <td align="right" valign="top"
89          ><span class="options">[<a href="#section-InstanceMethods"
90          class="privatelink" onclick="toggle_private();"
91          >hide private</a>]</span></td>
92       </tr>
93     </table>
94   </td>
95 </tr>
96 <tr>
97     <td width="15%" align="right" valign="top" class="summary">
98       <span class="summary-type">&nbsp;</span>
99     </td><td class="summary">
100       <table width="100%" cellpadding="0" cellspacing="0" border="0">
101         <tr>
102           <td><span class="summary-sig"><a href="lxml.html.HtmlMixin-class.html#cssselect" class="summary-sig-name">cssselect</a>(<span class="summary-sig-arg">self</span>,
103         <span class="summary-sig-arg">expr</span>,
104         <span class="summary-sig-arg">translator</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">html</code><code class="variable-quote">'</code></span>)</span><br />
105       Run the CSS expression on this element and its children,
106 returning a list of the results.</td>
107           <td align="right" valign="top">
108             <span class="codelink"><a href="lxml.html-pysrc.html#HtmlMixin.cssselect">source&nbsp;code</a></span>
109             
110           </td>
111         </tr>
112       </table>
113       
114     </td>
115   </tr>
116 <tr>
117     <td width="15%" align="right" valign="top" class="summary">
118       <span class="summary-type">&nbsp;</span>
119     </td><td class="summary">
120       <table width="100%" cellpadding="0" cellspacing="0" border="0">
121         <tr>
122           <td><span class="summary-sig"><a href="lxml.html.HtmlMixin-class.html#drop_tag" class="summary-sig-name">drop_tag</a>(<span class="summary-sig-arg">self</span>)</span><br />
123       Remove the tag, but not its children or text.  The children and text
124 are merged into the parent.</td>
125           <td align="right" valign="top">
126             <span class="codelink"><a href="lxml.html-pysrc.html#HtmlMixin.drop_tag">source&nbsp;code</a></span>
127             
128           </td>
129         </tr>
130       </table>
131       
132     </td>
133   </tr>
134 <tr>
135     <td width="15%" align="right" valign="top" class="summary">
136       <span class="summary-type">&nbsp;</span>
137     </td><td class="summary">
138       <table width="100%" cellpadding="0" cellspacing="0" border="0">
139         <tr>
140           <td><span class="summary-sig"><a name="drop_tree"></a><span class="summary-sig-name">drop_tree</span>(<span class="summary-sig-arg">self</span>)</span><br />
141       Removes this element from the tree, including its children and
142 text.  The tail text is joined to the previous element or
143 parent.</td>
144           <td align="right" valign="top">
145             <span class="codelink"><a href="lxml.html-pysrc.html#HtmlMixin.drop_tree">source&nbsp;code</a></span>
146             
147           </td>
148         </tr>
149       </table>
150       
151     </td>
152   </tr>
153 <tr>
154     <td width="15%" align="right" valign="top" class="summary">
155       <span class="summary-type">&nbsp;</span>
156     </td><td class="summary">
157       <table width="100%" cellpadding="0" cellspacing="0" border="0">
158         <tr>
159           <td><span class="summary-sig"><a name="find_class"></a><span class="summary-sig-name">find_class</span>(<span class="summary-sig-arg">self</span>,
160         <span class="summary-sig-arg">class_name</span>)</span><br />
161       Find any elements with the given class name.</td>
162           <td align="right" valign="top">
163             <span class="codelink"><a href="lxml.html-pysrc.html#HtmlMixin.find_class">source&nbsp;code</a></span>
164             
165           </td>
166         </tr>
167       </table>
168       
169     </td>
170   </tr>
171 <tr>
172     <td width="15%" align="right" valign="top" class="summary">
173       <span class="summary-type">&nbsp;</span>
174     </td><td class="summary">
175       <table width="100%" cellpadding="0" cellspacing="0" border="0">
176         <tr>
177           <td><span class="summary-sig"><a name="find_rel_links"></a><span class="summary-sig-name">find_rel_links</span>(<span class="summary-sig-arg">self</span>,
178         <span class="summary-sig-arg">rel</span>)</span><br />
179       Find any links like <tt class="rst-docutils literal">&lt;a <span class="pre">rel=&quot;{rel}&quot;&gt;...&lt;/a&gt;</span></tt>; returns a list of elements.</td>
180           <td align="right" valign="top">
181             <span class="codelink"><a href="lxml.html-pysrc.html#HtmlMixin.find_rel_links">source&nbsp;code</a></span>
182             
183           </td>
184         </tr>
185       </table>
186       
187     </td>
188   </tr>
189 <tr>
190     <td width="15%" align="right" valign="top" class="summary">
191       <span class="summary-type">&nbsp;</span>
192     </td><td class="summary">
193       <table width="100%" cellpadding="0" cellspacing="0" border="0">
194         <tr>
195           <td><span class="summary-sig"><a href="lxml.html.HtmlMixin-class.html#get_element_by_id" class="summary-sig-name">get_element_by_id</a>(<span class="summary-sig-arg">self</span>,
196         <span class="summary-sig-arg">id</span>,
197         <span class="summary-sig-arg">*default</span>)</span><br />
198       Get the first element in a document with the given id.  If none is
199 found, return the default argument if provided or raise KeyError
200 otherwise.</td>
201           <td align="right" valign="top">
202             <span class="codelink"><a href="lxml.html-pysrc.html#HtmlMixin.get_element_by_id">source&nbsp;code</a></span>
203             
204           </td>
205         </tr>
206       </table>
207       
208     </td>
209   </tr>
210 <tr>
211     <td width="15%" align="right" valign="top" class="summary">
212       <span class="summary-type">&nbsp;</span>
213     </td><td class="summary">
214       <table width="100%" cellpadding="0" cellspacing="0" border="0">
215         <tr>
216           <td><span class="summary-sig"><a href="lxml.html.HtmlMixin-class.html#iterlinks" class="summary-sig-name">iterlinks</a>(<span class="summary-sig-arg">self</span>)</span><br />
217       Yield (element, attribute, link, pos), where attribute may be None
218 (indicating the link is in the text).  <tt class="rst-docutils literal">pos</tt> is the position
219 where the link occurs; often 0, but sometimes something else in
220 the case of links in stylesheets or style tags.</td>
221           <td align="right" valign="top">
222             <span class="codelink"><a href="lxml.html-pysrc.html#HtmlMixin.iterlinks">source&nbsp;code</a></span>
223             
224           </td>
225         </tr>
226       </table>
227       
228     </td>
229   </tr>
230 <tr>
231     <td width="15%" align="right" valign="top" class="summary">
232       <span class="summary-type">&nbsp;</span>
233     </td><td class="summary">
234       <table width="100%" cellpadding="0" cellspacing="0" border="0">
235         <tr>
236           <td><span class="summary-sig"><a href="lxml.html.HtmlMixin-class.html#make_links_absolute" class="summary-sig-name">make_links_absolute</a>(<span class="summary-sig-arg">self</span>,
237         <span class="summary-sig-arg">base_url</span>=<span class="summary-sig-default">None</span>,
238         <span class="summary-sig-arg">resolve_base_href</span>=<span class="summary-sig-default">True</span>,
239         <span class="summary-sig-arg">handle_failures</span>=<span class="summary-sig-default">None</span>)</span><br />
240       Make all links in the document absolute, given the
241 <tt class="rst-docutils literal">base_url</tt> for the document (the full URL where the document
242 came from), or if no <tt class="rst-docutils literal">base_url</tt> is given, then the <tt class="rst-docutils literal">.base_url</tt>
243 of the document.</td>
244           <td align="right" valign="top">
245             <span class="codelink"><a href="lxml.html-pysrc.html#HtmlMixin.make_links_absolute">source&nbsp;code</a></span>
246             
247           </td>
248         </tr>
249       </table>
250       
251     </td>
252   </tr>
253 <tr>
254     <td width="15%" align="right" valign="top" class="summary">
255       <span class="summary-type">&nbsp;</span>
256     </td><td class="summary">
257       <table width="100%" cellpadding="0" cellspacing="0" border="0">
258         <tr>
259           <td><span class="summary-sig"><a href="lxml.html.HtmlMixin-class.html#resolve_base_href" class="summary-sig-name">resolve_base_href</a>(<span class="summary-sig-arg">self</span>,
260         <span class="summary-sig-arg">handle_failures</span>=<span class="summary-sig-default">None</span>)</span><br />
261       Find any <tt class="rst-docutils literal">&lt;base href&gt;</tt> tag in the document, and apply its
262 values to all links found in the document.  Also remove the
263 tag once it has been applied.</td>
264           <td align="right" valign="top">
265             <span class="codelink"><a href="lxml.html-pysrc.html#HtmlMixin.resolve_base_href">source&nbsp;code</a></span>
266             
267           </td>
268         </tr>
269       </table>
270       
271     </td>
272   </tr>
273 <tr>
274     <td width="15%" align="right" valign="top" class="summary">
275       <span class="summary-type">&nbsp;</span>
276     </td><td class="summary">
277       <table width="100%" cellpadding="0" cellspacing="0" border="0">
278         <tr>
279           <td><span class="summary-sig"><a href="lxml.html.HtmlMixin-class.html#rewrite_links" class="summary-sig-name">rewrite_links</a>(<span class="summary-sig-arg">self</span>,
280         <span class="summary-sig-arg">link_repl_func</span>,
281         <span class="summary-sig-arg">resolve_base_href</span>=<span class="summary-sig-default">True</span>,
282         <span class="summary-sig-arg">base_href</span>=<span class="summary-sig-default">None</span>)</span><br />
283       Rewrite all the links in the document.  For each link
284 <tt class="rst-docutils literal">link_repl_func(link)</tt> will be called, and the return value
285 will replace the old link.</td>
286           <td align="right" valign="top">
287             <span class="codelink"><a href="lxml.html-pysrc.html#HtmlMixin.rewrite_links">source&nbsp;code</a></span>
288             
289           </td>
290         </tr>
291       </table>
292       
293     </td>
294   </tr>
295 <tr>
296     <td width="15%" align="right" valign="top" class="summary">
297       <span class="summary-type">&nbsp;</span>
298     </td><td class="summary">
299       <table width="100%" cellpadding="0" cellspacing="0" border="0">
300         <tr>
301           <td><span class="summary-sig"><a name="set"></a><span class="summary-sig-name">set</span>(<span class="summary-sig-arg">self</span>,
302         <span class="summary-sig-arg">key</span>,
303         <span class="summary-sig-arg">value</span>=<span class="summary-sig-default">None</span>)</span><br />
304       Sets an element attribute.  If no value is provided, or if the value is None,
305 creates a 'boolean' attribute without value, e.g. &quot;&lt;form novalidate&gt;&lt;/form&gt;&quot;
306 for <tt class="rst-docutils literal"><span class="pre">form.set('novalidate')</span></tt>.</td>
307           <td align="right" valign="top">
308             <span class="codelink"><a href="lxml.html-pysrc.html#HtmlMixin.set">source&nbsp;code</a></span>
309             
310           </td>
311         </tr>
312       </table>
313       
314     </td>
315   </tr>
316 <tr>
317     <td width="15%" align="right" valign="top" class="summary">
318       <span class="summary-type">&nbsp;</span>
319     </td><td class="summary">
320       <table width="100%" cellpadding="0" cellspacing="0" border="0">
321         <tr>
322           <td><span class="summary-sig"><a name="text_content"></a><span class="summary-sig-name">text_content</span>(<span class="summary-sig-arg">self</span>)</span><br />
323       Return the text content of the tag (and the text in any children).</td>
324           <td align="right" valign="top">
325             <span class="codelink"><a href="lxml.html-pysrc.html#HtmlMixin.text_content">source&nbsp;code</a></span>
326             
327           </td>
328         </tr>
329       </table>
330       
331     </td>
332   </tr>
333   <tr>
334     <td colspan="2" class="summary">
335     <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
336       <code>__delattr__</code>,
337       <code>__format__</code>,
338       <code>__getattribute__</code>,
339       <code>__hash__</code>,
340       <code>__init__</code>,
341       <code>__new__</code>,
342       <code>__reduce__</code>,
343       <code>__reduce_ex__</code>,
344       <code>__repr__</code>,
345       <code>__setattr__</code>,
346       <code>__sizeof__</code>,
347       <code>__str__</code>,
348       <code>__subclasshook__</code>
349       </p>
350     </td>
351   </tr>
352 </table>
353 <!-- ==================== PROPERTIES ==================== -->
354 <a name="section-Properties"></a>
355 <table class="summary" border="1" cellpadding="3"
356        cellspacing="0" width="100%" bgcolor="white">
357 <tr bgcolor="#70b0f0" class="table-header">
358   <td colspan="2" class="table-header">
359     <table border="0" cellpadding="0" cellspacing="0" width="100%">
360       <tr valign="top">
361         <td align="left"><span class="table-header">Properties</span></td>
362         <td align="right" valign="top"
363          ><span class="options">[<a href="#section-Properties"
364          class="privatelink" onclick="toggle_private();"
365          >hide private</a>]</span></td>
366       </tr>
367     </table>
368   </td>
369 </tr>
370 <tr>
371     <td width="15%" align="right" valign="top" class="summary">
372       <span class="summary-type">&nbsp;</span>
373     </td><td class="summary">
374         <a href="lxml.html.HtmlMixin-class.html#base_url" class="summary-name">base_url</a><br />
375       Returns the base URL, given when the page was parsed.
376     </td>
377   </tr>
378 <tr>
379     <td width="15%" align="right" valign="top" class="summary">
380       <span class="summary-type">&nbsp;</span>
381     </td><td class="summary">
382         <a href="lxml.html.HtmlMixin-class.html#body" class="summary-name">body</a><br />
383       Return the &lt;body&gt; element.  Can be called from a child element
384 to get the document's head.
385     </td>
386   </tr>
387 <tr>
388     <td width="15%" align="right" valign="top" class="summary">
389       <span class="summary-type">&nbsp;</span>
390     </td><td class="summary">
391         <a href="lxml.html.HtmlMixin-class.html#classes" class="summary-name">classes</a><br />
392       A set-like wrapper around the 'class' attribute.
393     </td>
394   </tr>
395 <tr>
396     <td width="15%" align="right" valign="top" class="summary">
397       <span class="summary-type">&nbsp;</span>
398     </td><td class="summary">
399         <a href="lxml.html.HtmlMixin-class.html#forms" class="summary-name">forms</a><br />
400       Return a list of all the forms
401     </td>
402   </tr>
403 <tr>
404     <td width="15%" align="right" valign="top" class="summary">
405       <span class="summary-type">&nbsp;</span>
406     </td><td class="summary">
407         <a href="lxml.html.HtmlMixin-class.html#head" class="summary-name">head</a><br />
408       Returns the &lt;head&gt; element.  Can be called from a child
409 element to get the document's head.
410     </td>
411   </tr>
412 <tr>
413     <td width="15%" align="right" valign="top" class="summary">
414       <span class="summary-type">&nbsp;</span>
415     </td><td class="summary">
416         <a href="lxml.html.HtmlMixin-class.html#label" class="summary-name">label</a><br />
417       Get or set any &lt;label&gt; element associated with this element.
418     </td>
419   </tr>
420   <tr>
421     <td colspan="2" class="summary">
422     <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
423       <code>__class__</code>
424       </p>
425     </td>
426   </tr>
427 </table>
428 <!-- ==================== METHOD DETAILS ==================== -->
429 <a name="section-MethodDetails"></a>
430 <table class="details" border="1" cellpadding="3"
431        cellspacing="0" width="100%" bgcolor="white">
432 <tr bgcolor="#70b0f0" class="table-header">
433   <td colspan="2" class="table-header">
434     <table border="0" cellpadding="0" cellspacing="0" width="100%">
435       <tr valign="top">
436         <td align="left"><span class="table-header">Method Details</span></td>
437         <td align="right" valign="top"
438          ><span class="options">[<a href="#section-MethodDetails"
439          class="privatelink" onclick="toggle_private();"
440          >hide private</a>]</span></td>
441       </tr>
442     </table>
443   </td>
444 </tr>
445 </table>
446 <a name="cssselect"></a>
447 <div>
448 <table class="details" border="1" cellpadding="3"
449        cellspacing="0" width="100%" bgcolor="white">
450 <tr><td>
451   <table width="100%" cellpadding="0" cellspacing="0" border="0">
452   <tr valign="top"><td>
453   <h3 class="epydoc"><span class="sig"><span class="sig-name">cssselect</span>(<span class="sig-arg">self</span>,
454         <span class="sig-arg">expr</span>,
455         <span class="sig-arg">translator</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">html</code><code class="variable-quote">'</code></span>)</span>
456   </h3>
457   </td><td align="right" valign="top"
458     ><span class="codelink"><a href="lxml.html-pysrc.html#HtmlMixin.cssselect">source&nbsp;code</a></span>&nbsp;
459     </td>
460   </tr></table>
461   
462   <p>Run the CSS expression on this element and its children,
463 returning a list of the results.</p>
464 <p>Equivalent to lxml.cssselect.CSSSelect(expr, translator='html')(self)
465 -- note that pre-compiling the expression can provide a substantial
466 speedup.</p>
467   <dl class="fields">
468   </dl>
469 </td></tr></table>
470 </div>
471 <a name="drop_tag"></a>
472 <div>
473 <table class="details" border="1" cellpadding="3"
474        cellspacing="0" width="100%" bgcolor="white">
475 <tr><td>
476   <table width="100%" cellpadding="0" cellspacing="0" border="0">
477   <tr valign="top"><td>
478   <h3 class="epydoc"><span class="sig"><span class="sig-name">drop_tag</span>(<span class="sig-arg">self</span>)</span>
479   </h3>
480   </td><td align="right" valign="top"
481     ><span class="codelink"><a href="lxml.html-pysrc.html#HtmlMixin.drop_tag">source&nbsp;code</a></span>&nbsp;
482     </td>
483   </tr></table>
484   
485   <p>Remove the tag, but not its children or text.  The children and text
486 are merged into the parent.</p>
487 <p>Example:</p>
488 <pre class="rst-literal-block">
489 &gt;&gt;&gt; h = fragment_fromstring('&lt;div&gt;Hello &lt;b&gt;World!&lt;/b&gt;&lt;/div&gt;')
490 &gt;&gt;&gt; h.find('.//b').drop_tag()
491 &gt;&gt;&gt; print(tostring(h, encoding='unicode'))
492 &lt;div&gt;Hello World!&lt;/div&gt;
493 </pre>
494   <dl class="fields">
495   </dl>
496 </td></tr></table>
497 </div>
498 <a name="get_element_by_id"></a>
499 <div>
500 <table class="details" border="1" cellpadding="3"
501        cellspacing="0" width="100%" bgcolor="white">
502 <tr><td>
503   <table width="100%" cellpadding="0" cellspacing="0" border="0">
504   <tr valign="top"><td>
505   <h3 class="epydoc"><span class="sig"><span class="sig-name">get_element_by_id</span>(<span class="sig-arg">self</span>,
506         <span class="sig-arg">id</span>,
507         <span class="sig-arg">*default</span>)</span>
508   </h3>
509   </td><td align="right" valign="top"
510     ><span class="codelink"><a href="lxml.html-pysrc.html#HtmlMixin.get_element_by_id">source&nbsp;code</a></span>&nbsp;
511     </td>
512   </tr></table>
513   
514   <p>Get the first element in a document with the given id.  If none is
515 found, return the default argument if provided or raise KeyError
516 otherwise.</p>
517 <p>Note that there can be more than one element with the same id,
518 and this isn't uncommon in HTML documents found in the wild.
519 Browsers return only the first match, and this function does
520 the same.</p>
521   <dl class="fields">
522   </dl>
523 </td></tr></table>
524 </div>
525 <a name="iterlinks"></a>
526 <div>
527 <table class="details" border="1" cellpadding="3"
528        cellspacing="0" width="100%" bgcolor="white">
529 <tr><td>
530   <table width="100%" cellpadding="0" cellspacing="0" border="0">
531   <tr valign="top"><td>
532   <h3 class="epydoc"><span class="sig"><span class="sig-name">iterlinks</span>(<span class="sig-arg">self</span>)</span>
533   </h3>
534   </td><td align="right" valign="top"
535     ><span class="codelink"><a href="lxml.html-pysrc.html#HtmlMixin.iterlinks">source&nbsp;code</a></span>&nbsp;
536     </td>
537   </tr></table>
538   
539   <p>Yield (element, attribute, link, pos), where attribute may be None
540 (indicating the link is in the text).  <tt class="rst-docutils literal">pos</tt> is the position
541 where the link occurs; often 0, but sometimes something else in
542 the case of links in stylesheets or style tags.</p>
543 <p>Note: &lt;base href&gt; is <em>not</em> taken into account in any way.  The
544 link you get is exactly the link in the document.</p>
545 <p>Note: multiple links inside of a single text string or
546 attribute value are returned in reversed order.  This makes it
547 possible to replace or delete them from the text string value
548 based on their reported text positions.  Otherwise, a
549 modification at one text position can change the positions of
550 links reported later on.</p>
551   <dl class="fields">
552   </dl>
553 </td></tr></table>
554 </div>
555 <a name="make_links_absolute"></a>
556 <div>
557 <table class="details" border="1" cellpadding="3"
558        cellspacing="0" width="100%" bgcolor="white">
559 <tr><td>
560   <table width="100%" cellpadding="0" cellspacing="0" border="0">
561   <tr valign="top"><td>
562   <h3 class="epydoc"><span class="sig"><span class="sig-name">make_links_absolute</span>(<span class="sig-arg">self</span>,
563         <span class="sig-arg">base_url</span>=<span class="sig-default">None</span>,
564         <span class="sig-arg">resolve_base_href</span>=<span class="sig-default">True</span>,
565         <span class="sig-arg">handle_failures</span>=<span class="sig-default">None</span>)</span>
566   </h3>
567   </td><td align="right" valign="top"
568     ><span class="codelink"><a href="lxml.html-pysrc.html#HtmlMixin.make_links_absolute">source&nbsp;code</a></span>&nbsp;
569     </td>
570   </tr></table>
571   
572   <p>Make all links in the document absolute, given the
573 <tt class="rst-docutils literal">base_url</tt> for the document (the full URL where the document
574 came from), or if no <tt class="rst-docutils literal">base_url</tt> is given, then the <tt class="rst-docutils literal">.base_url</tt>
575 of the document.</p>
576 <p>If <tt class="rst-docutils literal">resolve_base_href</tt> is true, then any <tt class="rst-docutils literal">&lt;base href&gt;</tt>
577 tags in the document are used <em>and</em> removed from the document.
578 If it is false then any such tag is ignored.</p>
579 <p>If <tt class="rst-docutils literal">handle_failures</tt> is None (default), a failure to process
580 a URL will abort the processing.  If set to 'ignore', errors
581 are ignored.  If set to 'discard', failing URLs will be removed.</p>
582   <dl class="fields">
583   </dl>
584 </td></tr></table>
585 </div>
586 <a name="resolve_base_href"></a>
587 <div>
588 <table class="details" border="1" cellpadding="3"
589        cellspacing="0" width="100%" bgcolor="white">
590 <tr><td>
591   <table width="100%" cellpadding="0" cellspacing="0" border="0">
592   <tr valign="top"><td>
593   <h3 class="epydoc"><span class="sig"><span class="sig-name">resolve_base_href</span>(<span class="sig-arg">self</span>,
594         <span class="sig-arg">handle_failures</span>=<span class="sig-default">None</span>)</span>
595   </h3>
596   </td><td align="right" valign="top"
597     ><span class="codelink"><a href="lxml.html-pysrc.html#HtmlMixin.resolve_base_href">source&nbsp;code</a></span>&nbsp;
598     </td>
599   </tr></table>
600   
601   <p>Find any <tt class="rst-docutils literal">&lt;base href&gt;</tt> tag in the document, and apply its
602 values to all links found in the document.  Also remove the
603 tag once it has been applied.</p>
604 <p>If <tt class="rst-docutils literal">handle_failures</tt> is None (default), a failure to process
605 a URL will abort the processing.  If set to 'ignore', errors
606 are ignored.  If set to 'discard', failing URLs will be removed.</p>
607   <dl class="fields">
608   </dl>
609 </td></tr></table>
610 </div>
611 <a name="rewrite_links"></a>
612 <div>
613 <table class="details" border="1" cellpadding="3"
614        cellspacing="0" width="100%" bgcolor="white">
615 <tr><td>
616   <table width="100%" cellpadding="0" cellspacing="0" border="0">
617   <tr valign="top"><td>
618   <h3 class="epydoc"><span class="sig"><span class="sig-name">rewrite_links</span>(<span class="sig-arg">self</span>,
619         <span class="sig-arg">link_repl_func</span>,
620         <span class="sig-arg">resolve_base_href</span>=<span class="sig-default">True</span>,
621         <span class="sig-arg">base_href</span>=<span class="sig-default">None</span>)</span>
622   </h3>
623   </td><td align="right" valign="top"
624     ><span class="codelink"><a href="lxml.html-pysrc.html#HtmlMixin.rewrite_links">source&nbsp;code</a></span>&nbsp;
625     </td>
626   </tr></table>
627   
628   <p>Rewrite all the links in the document.  For each link
629 <tt class="rst-docutils literal">link_repl_func(link)</tt> will be called, and the return value
630 will replace the old link.</p>
631 <p>Note that links may not be absolute (unless you first called
632 <tt class="rst-docutils literal">make_links_absolute()</tt>), and may be internal (e.g.,
633 <tt class="rst-docutils literal">'#anchor'</tt>).  They can also be values like
634 <tt class="rst-docutils literal">'mailto:email'</tt> or <tt class="rst-docutils literal">'javascript:expr'</tt>.</p>
635 <p>If you give <tt class="rst-docutils literal">base_href</tt> then all links passed to
636 <tt class="rst-docutils literal">link_repl_func()</tt> will take that into account.</p>
637 <p>If the <tt class="rst-docutils literal">link_repl_func</tt> returns None, the attribute or
638 tag text will be removed completely.</p>
639   <dl class="fields">
640   </dl>
641 </td></tr></table>
642 </div>
643 <br />
644 <!-- ==================== PROPERTY DETAILS ==================== -->
645 <a name="section-PropertyDetails"></a>
646 <table class="details" border="1" cellpadding="3"
647        cellspacing="0" width="100%" bgcolor="white">
648 <tr bgcolor="#70b0f0" class="table-header">
649   <td colspan="2" class="table-header">
650     <table border="0" cellpadding="0" cellspacing="0" width="100%">
651       <tr valign="top">
652         <td align="left"><span class="table-header">Property Details</span></td>
653         <td align="right" valign="top"
654          ><span class="options">[<a href="#section-PropertyDetails"
655          class="privatelink" onclick="toggle_private();"
656          >hide private</a>]</span></td>
657       </tr>
658     </table>
659   </td>
660 </tr>
661 </table>
662 <a name="base_url"></a>
663 <div>
664 <table class="details" border="1" cellpadding="3"
665        cellspacing="0" width="100%" bgcolor="white">
666 <tr><td>
667   <h3 class="epydoc">base_url</h3>
668   <p>Returns the base URL, given when the page was parsed.</p>
669 <p>Use with <tt class="rst-docutils literal">urlparse.urljoin(el.base_url, href)</tt> to get
670 absolute URLs.</p>
671   <dl class="fields">
672     <dt>Get Method:</dt>
673     <dd class="value"><span class="summary-sig"><i>unreachable</i>.base_url(<span class="summary-sig-arg">self</span>)</span>
674         - Returns the base URL, given when the page was parsed.
675     </dd>
676   </dl>
677 </td></tr></table>
678 </div>
679 <a name="body"></a>
680 <div>
681 <table class="details" border="1" cellpadding="3"
682        cellspacing="0" width="100%" bgcolor="white">
683 <tr><td>
684   <h3 class="epydoc">body</h3>
685   Return the &lt;body&gt; element.  Can be called from a child element
686 to get the document's head.
687   <dl class="fields">
688     <dt>Get Method:</dt>
689     <dd class="value"><span class="summary-sig"><i>unreachable</i>.body(<span class="summary-sig-arg">self</span>)</span>
690         - Return the &lt;body&gt; element.  Can be called from a child element
691 to get the document's head.
692     </dd>
693   </dl>
694 </td></tr></table>
695 </div>
696 <a name="classes"></a>
697 <div>
698 <table class="details" border="1" cellpadding="3"
699        cellspacing="0" width="100%" bgcolor="white">
700 <tr><td>
701   <h3 class="epydoc">classes</h3>
702   A set-like wrapper around the 'class' attribute.
703   <dl class="fields">
704     <dt>Get Method:</dt>
705     <dd class="value"><span class="summary-sig"><i>unreachable</i>.classes(<span class="summary-sig-arg">self</span>)</span>
706         - A set-like wrapper around the 'class' attribute.
707     </dd>
708     <dt>Set Method:</dt>
709     <dd class="value"><span class="summary-sig"><i>unreachable</i>.classes(<span class="summary-sig-arg">self</span>,
710         <span class="summary-sig-arg">classes</span>)</span>
711     </dd>
712   </dl>
713 </td></tr></table>
714 </div>
715 <a name="forms"></a>
716 <div>
717 <table class="details" border="1" cellpadding="3"
718        cellspacing="0" width="100%" bgcolor="white">
719 <tr><td>
720   <h3 class="epydoc">forms</h3>
721   Return a list of all the forms
722   <dl class="fields">
723     <dt>Get Method:</dt>
724     <dd class="value"><span class="summary-sig"><i>unreachable</i>.forms(<span class="summary-sig-arg">self</span>)</span>
725         - Return a list of all the forms
726     </dd>
727   </dl>
728 </td></tr></table>
729 </div>
730 <a name="head"></a>
731 <div>
732 <table class="details" border="1" cellpadding="3"
733        cellspacing="0" width="100%" bgcolor="white">
734 <tr><td>
735   <h3 class="epydoc">head</h3>
736   Returns the &lt;head&gt; element.  Can be called from a child
737 element to get the document's head.
738   <dl class="fields">
739     <dt>Get Method:</dt>
740     <dd class="value"><span class="summary-sig"><i>unreachable</i>.head(<span class="summary-sig-arg">self</span>)</span>
741         - Returns the &lt;head&gt; element.  Can be called from a child
742 element to get the document's head.
743     </dd>
744   </dl>
745 </td></tr></table>
746 </div>
747 <a name="label"></a>
748 <div>
749 <table class="details" border="1" cellpadding="3"
750        cellspacing="0" width="100%" bgcolor="white">
751 <tr><td>
752   <h3 class="epydoc">label</h3>
753   Get or set any &lt;label&gt; element associated with this element.
754   <dl class="fields">
755     <dt>Get Method:</dt>
756     <dd class="value"><span class="summary-sig"><i>unreachable</i>.label(<span class="summary-sig-arg">self</span>)</span>
757         - Get or set any &lt;label&gt; element associated with this element.
758     </dd>
759     <dt>Set Method:</dt>
760     <dd class="value"><span class="summary-sig"><i>unreachable</i>.label(<span class="summary-sig-arg">self</span>,
761         <span class="summary-sig-arg">label</span>)</span>
762     </dd>
763     <dt>Delete Method:</dt>
764     <dd class="value"><span class="summary-sig"><i>unreachable</i>.label(<span class="summary-sig-arg">self</span>)</span>
765     </dd>
766   </dl>
767 </td></tr></table>
768 </div>
769 <br />
770 <!-- ==================== NAVIGATION BAR ==================== -->
771 <table class="navbar" border="0" width="100%" cellpadding="0"
772        bgcolor="#a0c0ff" cellspacing="0">
773   <tr valign="middle">
774   <!-- Home link -->
775       <th>&nbsp;&nbsp;&nbsp;<a
776         href="lxml-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
777
778   <!-- Tree link -->
779       <th>&nbsp;&nbsp;&nbsp;<a
780         href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
781
782   <!-- Index link -->
783       <th>&nbsp;&nbsp;&nbsp;<a
784         href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
785
786   <!-- Help link -->
787       <th>&nbsp;&nbsp;&nbsp;<a
788         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
789
790   <!-- Project homepage -->
791       <th class="navbar" align="right" width="100%">
792         <table border="0" cellpadding="0" cellspacing="0">
793           <tr><th class="navbar" align="center"
794             ><a class="navbar" target="_top" href="/">lxml API</a></th>
795           </tr></table></th>
796   </tr>
797 </table>
798 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
799   <tr>
800     <td align="left" class="footer">
801     Generated by Epydoc 3.0.1
802     on Wed Jan 29 12:26:21 2020
803     </td>
804     <td align="right" class="footer">
805       <a target="mainFrame" href="http://epydoc.sourceforge.net"
806         >http://epydoc.sourceforge.net</a>
807     </td>
808   </tr>
809 </table>
810
811 <script type="text/javascript">
812   <!--
813   // Private objects are initially displayed (because if
814   // javascript is turned off then we want them to be
815   // visible); but by default, we want to hide them.  So hide
816   // them unless we have a cookie that says to show them.
817   checkCookie();
818   // -->
819 </script>
820 </body>
821 </html>