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.etree.XSLTExtension</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.etree-module.html">Module etree</a> ::
47 Class XSLTExtension
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.etree.XSLTExtension-class.html"
58 target="_top">no frames</a>]</span></td></tr>
63 <!-- ==================== CLASS DESCRIPTION ==================== -->
64 <h1 class="epydoc">Class XSLTExtension</h1><p class="nomargin-top"></p>
65 <pre class="base-tree">
68 <strong class="uidshort">XSLTExtension</strong>
72 Base class of an XSLT extension element.
74 <!-- ==================== INSTANCE METHODS ==================== -->
75 <a name="section-InstanceMethods"></a>
76 <table class="summary" border="1" cellpadding="3"
77 cellspacing="0" width="100%" bgcolor="white">
78 <tr bgcolor="#70b0f0" class="table-header">
79 <td colspan="2" class="table-header">
80 <table border="0" cellpadding="0" cellspacing="0" width="100%">
82 <td align="left"><span class="table-header">Instance Methods</span></td>
83 <td align="right" valign="top"
84 ><span class="options">[<a href="#section-InstanceMethods"
85 class="privatelink" onclick="toggle_private();"
86 >hide private</a>]</span></td>
92 <td width="15%" align="right" valign="top" class="summary">
93 <span class="summary-type">a new object with type S, a subtype of T</span>
94 </td><td class="summary">
95 <table width="100%" cellpadding="0" cellspacing="0" border="0">
97 <td><span class="summary-sig"><a href="lxml.etree.XSLTExtension-class.html#__new__" class="summary-sig-name">__new__</a>(<span class="summary-sig-arg">T</span>,
98 <span class="summary-sig-arg">S</span>,
99 <span class="summary-sig-arg">...</span>)</span></td>
100 <td align="right" valign="top">
110 <td width="15%" align="right" valign="top" class="summary">
111 <span class="summary-type"> </span>
112 </td><td class="summary">
113 <table width="100%" cellpadding="0" cellspacing="0" border="0">
115 <td><span class="summary-sig"><a href="lxml.etree.XSLTExtension-class.html#apply_templates" class="summary-sig-name">apply_templates</a>(<span class="summary-sig-arg">self</span>,
116 <span class="summary-sig-arg">context</span>,
117 <span class="summary-sig-arg">node</span>,
118 <span class="summary-sig-arg">output_parent</span>=<span class="summary-sig-default">None</span>,
119 <span class="summary-sig-arg">elements_only</span>=<span class="summary-sig-default">False</span>,
120 <span class="summary-sig-arg">remove_blank_text</span>=<span class="summary-sig-default">False</span>)</span><br />
121 Call this method to retrieve the result of applying templates
123 <td align="right" valign="top">
133 <td width="15%" align="right" valign="top" class="summary">
134 <span class="summary-type"> </span>
135 </td><td class="summary">
136 <table width="100%" cellpadding="0" cellspacing="0" border="0">
138 <td><span class="summary-sig"><a href="lxml.etree.XSLTExtension-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">self</span>,
139 <span class="summary-sig-arg">context</span>,
140 <span class="summary-sig-arg">self_node</span>,
141 <span class="summary-sig-arg">input_node</span>,
142 <span class="summary-sig-arg">output_parent</span>)</span><br />
143 Execute this extension element.</td>
144 <td align="right" valign="top">
154 <td width="15%" align="right" valign="top" class="summary">
155 <span class="summary-type"> </span>
156 </td><td class="summary">
157 <table width="100%" cellpadding="0" cellspacing="0" border="0">
159 <td><span class="summary-sig"><a href="lxml.etree.XSLTExtension-class.html#process_children" class="summary-sig-name">process_children</a>(<span class="summary-sig-arg">self</span>,
160 <span class="summary-sig-arg">context</span>,
161 <span class="summary-sig-arg">output_parent</span>=<span class="summary-sig-default">None</span>,
162 <span class="summary-sig-arg">elements_only</span>=<span class="summary-sig-default">False</span>,
163 <span class="summary-sig-arg">remove_blank_text</span>=<span class="summary-sig-default">False</span>)</span><br />
164 Call this method to process the XSLT content of the extension
166 <td align="right" valign="top">
176 <td colspan="2" class="summary">
177 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
178 <code>__delattr__</code>,
179 <code>__format__</code>,
180 <code>__getattribute__</code>,
181 <code>__hash__</code>,
182 <code>__init__</code>,
183 <code>__reduce__</code>,
184 <code>__reduce_ex__</code>,
185 <code>__repr__</code>,
186 <code>__setattr__</code>,
187 <code>__sizeof__</code>,
188 <code>__str__</code>,
189 <code>__subclasshook__</code>
194 <!-- ==================== PROPERTIES ==================== -->
195 <a name="section-Properties"></a>
196 <table class="summary" border="1" cellpadding="3"
197 cellspacing="0" width="100%" bgcolor="white">
198 <tr bgcolor="#70b0f0" class="table-header">
199 <td colspan="2" class="table-header">
200 <table border="0" cellpadding="0" cellspacing="0" width="100%">
202 <td align="left"><span class="table-header">Properties</span></td>
203 <td align="right" valign="top"
204 ><span class="options">[<a href="#section-Properties"
205 class="privatelink" onclick="toggle_private();"
206 >hide private</a>]</span></td>
212 <td colspan="2" class="summary">
213 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
214 <code>__class__</code>
219 <!-- ==================== METHOD DETAILS ==================== -->
220 <a name="section-MethodDetails"></a>
221 <table class="details" border="1" cellpadding="3"
222 cellspacing="0" width="100%" bgcolor="white">
223 <tr bgcolor="#70b0f0" class="table-header">
224 <td colspan="2" class="table-header">
225 <table border="0" cellpadding="0" cellspacing="0" width="100%">
227 <td align="left"><span class="table-header">Method Details</span></td>
228 <td align="right" valign="top"
229 ><span class="options">[<a href="#section-MethodDetails"
230 class="privatelink" onclick="toggle_private();"
231 >hide private</a>]</span></td>
237 <a name="__new__"></a>
239 <table class="details" border="1" cellpadding="3"
240 cellspacing="0" width="100%" bgcolor="white">
242 <table width="100%" cellpadding="0" cellspacing="0" border="0">
243 <tr valign="top"><td>
244 <h3 class="epydoc"><span class="sig"><span class="sig-name">__new__</span>(<span class="sig-arg">T</span>,
245 <span class="sig-arg">S</span>,
246 <span class="sig-arg">...</span>)</span>
248 </td><td align="right" valign="top"
255 <dt>Returns: a new object with type S, a subtype of T</dt>
262 <a name="apply_templates"></a>
264 <table class="details" border="1" cellpadding="3"
265 cellspacing="0" width="100%" bgcolor="white">
267 <table width="100%" cellpadding="0" cellspacing="0" border="0">
268 <tr valign="top"><td>
269 <h3 class="epydoc"><span class="sig"><span class="sig-name">apply_templates</span>(<span class="sig-arg">self</span>,
270 <span class="sig-arg">context</span>,
271 <span class="sig-arg">node</span>,
272 <span class="sig-arg">output_parent</span>=<span class="sig-default">None</span>,
273 <span class="sig-arg">elements_only</span>=<span class="sig-default">False</span>,
274 <span class="sig-arg">remove_blank_text</span>=<span class="sig-default">False</span>)</span>
276 </td><td align="right" valign="top"
281 <p>Call this method to retrieve the result of applying templates
283 <p>The return value is a list of elements or text strings that
284 were generated by the XSLT processor. If you pass
285 <tt class="rst-docutils literal">elements_only=True</tt>, strings will be discarded from the result
286 list. The option <tt class="rst-docutils literal">remove_blank_text=True</tt> will only discard
287 strings that consist entirely of whitespace (e.g. formatting).
288 These options do not apply to Elements, only to bare string results.</p>
289 <p>If you pass an Element as <code class="link">output_parent</code> parameter, the result
290 will instead be appended to the element (including attributes
291 etc.) and the return value will be <code class="link">None</code>. This is a safe way
292 to generate content into the output document directly, without
293 having to take care of special values like text or attributes.
294 Note that the string discarding options will be ignored in this
300 <a name="execute"></a>
302 <table class="details" border="1" cellpadding="3"
303 cellspacing="0" width="100%" bgcolor="white">
305 <table width="100%" cellpadding="0" cellspacing="0" border="0">
306 <tr valign="top"><td>
307 <h3 class="epydoc"><span class="sig"><span class="sig-name">execute</span>(<span class="sig-arg">self</span>,
308 <span class="sig-arg">context</span>,
309 <span class="sig-arg">self_node</span>,
310 <span class="sig-arg">input_node</span>,
311 <span class="sig-arg">output_parent</span>)</span>
313 </td><td align="right" valign="top"
318 <p>Execute this extension element.</p>
319 <p>Subclasses must override this method. They may append
320 elements to the <code class="link">output_parent</code> element here, or set its text
321 content. To this end, the <code class="link">input_node</code> provides read-only
322 access to the current node in the input document, and the
323 <code class="link">self_node</code> points to the extension element in the stylesheet.</p>
324 <p>Note that the <code class="link">output_parent</code> parameter may be <code class="link">None</code> if there
325 is no parent element in the current context (e.g. no content
326 was added to the output tree yet).</p>
331 <a name="process_children"></a>
333 <table class="details" border="1" cellpadding="3"
334 cellspacing="0" width="100%" bgcolor="white">
336 <table width="100%" cellpadding="0" cellspacing="0" border="0">
337 <tr valign="top"><td>
338 <h3 class="epydoc"><span class="sig"><span class="sig-name">process_children</span>(<span class="sig-arg">self</span>,
339 <span class="sig-arg">context</span>,
340 <span class="sig-arg">output_parent</span>=<span class="sig-default">None</span>,
341 <span class="sig-arg">elements_only</span>=<span class="sig-default">False</span>,
342 <span class="sig-arg">remove_blank_text</span>=<span class="sig-default">False</span>)</span>
344 </td><td align="right" valign="top"
349 <p>Call this method to process the XSLT content of the extension
351 <p>The return value is a list of elements or text strings that
352 were generated by the XSLT processor. If you pass
353 <tt class="rst-docutils literal">elements_only=True</tt>, strings will be discarded from the result
354 list. The option <tt class="rst-docutils literal">remove_blank_text=True</tt> will only discard
355 strings that consist entirely of whitespace (e.g. formatting).
356 These options do not apply to Elements, only to bare string results.</p>
357 <p>If you pass an Element as <code class="link">output_parent</code> parameter, the result
358 will instead be appended to the element (including attributes
359 etc.) and the return value will be <code class="link">None</code>. This is a safe way
360 to generate content into the output document directly, without
361 having to take care of special values like text or attributes.
362 Note that the string discarding options will be ignored in this
369 <!-- ==================== NAVIGATION BAR ==================== -->
370 <table class="navbar" border="0" width="100%" cellpadding="0"
371 bgcolor="#a0c0ff" cellspacing="0">
374 <th> <a
375 href="lxml-module.html">Home</a> </th>
378 <th> <a
379 href="module-tree.html">Trees</a> </th>
382 <th> <a
383 href="identifier-index.html">Indices</a> </th>
386 <th> <a
387 href="help.html">Help</a> </th>
389 <!-- Project homepage -->
390 <th class="navbar" align="right" width="100%">
391 <table border="0" cellpadding="0" cellspacing="0">
392 <tr><th class="navbar" align="center"
393 ><a class="navbar" target="_top" href="/">lxml API</a></th>
397 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
399 <td align="left" class="footer">
400 Generated by Epydoc 3.0.1
401 on Wed Jan 29 12:26:21 2020
403 <td align="right" class="footer">
404 <a target="mainFrame" href="http://epydoc.sourceforge.net"
405 >http://epydoc.sourceforge.net</a>
410 <script type="text/javascript">
412 // Private objects are initially displayed (because if
413 // javascript is turned off then we want them to be
414 // visible); but by default, we want to hide them. So hide
415 // them unless we have a cookie that says to show them.