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.cssselect</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> ::
50 <table cellpadding="0" cellspacing="0">
51 <!-- hide/show private -->
52 <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
53 onclick="toggle_private();">hide private</a>]</span></td></tr>
54 <tr><td align="right"><span class="options"
55 >[<a href="frames.html" target="_top">frames</a
56 >] | <a href="lxml.cssselect-module.html"
57 target="_top">no frames</a>]</span></td></tr>
62 <!-- ==================== MODULE DESCRIPTION ==================== -->
63 <h1 class="epydoc">Module cssselect</h1><p class="nomargin-top"><span class="codelink"><a href="lxml.cssselect-pysrc.html">source code</a></span></p>
64 <p>CSS Selectors based on XPath.</p>
65 <p>This module supports selecting XML/HTML tags based on CSS selectors.
66 See the <a href="lxml.cssselect.CSSSelector-class.html" class="link">CSSSelector</a> class for details.</p>
68 <!-- ==================== CLASSES ==================== -->
69 <a name="section-Classes"></a>
70 <table class="summary" border="1" cellpadding="3"
71 cellspacing="0" width="100%" bgcolor="white">
72 <tr bgcolor="#70b0f0" class="table-header">
73 <td colspan="2" class="table-header">
74 <table border="0" cellpadding="0" cellspacing="0" width="100%">
76 <td align="left"><span class="table-header">Classes</span></td>
77 <td align="right" valign="top"
78 ><span class="options">[<a href="#section-Classes"
79 class="privatelink" onclick="toggle_private();"
80 >hide private</a>]</span></td>
86 <td width="15%" align="right" valign="top" class="summary">
87 <span class="summary-type"> </span>
88 </td><td class="summary">
89 <a href="lxml.cssselect.SelectorSyntaxError-class.html" class="summary-name">SelectorSyntaxError</a>
93 <td width="15%" align="right" valign="top" class="summary">
94 <span class="summary-type"> </span>
95 </td><td class="summary">
96 <a href="lxml.cssselect.ExpressionError-class.html" class="summary-name">ExpressionError</a>
100 <td width="15%" align="right" valign="top" class="summary">
101 <span class="summary-type"> </span>
102 </td><td class="summary">
103 <a href="lxml.cssselect.CSSSelector-class.html" class="summary-name">CSSSelector</a><br />
108 <td width="15%" align="right" valign="top" class="summary">
109 <span class="summary-type"> </span>
110 </td><td class="summary">
111 <a href="lxml.cssselect._UniToken-class.html" class="summary-name" onclick="show_private();">_UniToken</a>
115 <td width="15%" align="right" valign="top" class="summary">
116 <span class="summary-type"> </span>
117 </td><td class="summary">
118 <a href="lxml.cssselect.Symbol-class.html" class="summary-name" onclick="show_private();">Symbol</a>
122 <td width="15%" align="right" valign="top" class="summary">
123 <span class="summary-type"> </span>
124 </td><td class="summary">
125 <a href="lxml.cssselect.String-class.html" class="summary-name" onclick="show_private();">String</a>
129 <td width="15%" align="right" valign="top" class="summary">
130 <span class="summary-type"> </span>
131 </td><td class="summary">
132 <a href="lxml.cssselect.Token-class.html" class="summary-name" onclick="show_private();">Token</a>
136 <td width="15%" align="right" valign="top" class="summary">
137 <span class="summary-type"> </span>
138 </td><td class="summary">
139 <a href="lxml.cssselect.Class-class.html" class="summary-name" onclick="show_private();">Class</a><br />
140 Represents selector.class_name
144 <td width="15%" align="right" valign="top" class="summary">
145 <span class="summary-type"> </span>
146 </td><td class="summary">
147 <a href="lxml.cssselect.Function-class.html" class="summary-name" onclick="show_private();">Function</a><br />
148 Represents selector:name(expr)
152 <td width="15%" align="right" valign="top" class="summary">
153 <span class="summary-type"> </span>
154 </td><td class="summary">
155 <a href="lxml.cssselect.Pseudo-class.html" class="summary-name" onclick="show_private();">Pseudo</a><br />
156 Represents selector:ident
160 <td width="15%" align="right" valign="top" class="summary">
161 <span class="summary-type"> </span>
162 </td><td class="summary">
163 <a href="lxml.cssselect.Attrib-class.html" class="summary-name" onclick="show_private();">Attrib</a><br />
164 Represents selector[namespace|attrib operator value]
168 <td width="15%" align="right" valign="top" class="summary">
169 <span class="summary-type"> </span>
170 </td><td class="summary">
171 <a href="lxml.cssselect.Element-class.html" class="summary-name" onclick="show_private();">Element</a><br />
172 Represents namespace|element
176 <td width="15%" align="right" valign="top" class="summary">
177 <span class="summary-type"> </span>
178 </td><td class="summary">
179 <a href="lxml.cssselect.Hash-class.html" class="summary-name" onclick="show_private();">Hash</a><br />
180 Represents selector#id
184 <td width="15%" align="right" valign="top" class="summary">
185 <span class="summary-type"> </span>
186 </td><td class="summary">
187 <a href="lxml.cssselect.Or-class.html" class="summary-name" onclick="show_private();">Or</a>
191 <td width="15%" align="right" valign="top" class="summary">
192 <span class="summary-type"> </span>
193 </td><td class="summary">
194 <a href="lxml.cssselect.CombinedSelector-class.html" class="summary-name" onclick="show_private();">CombinedSelector</a>
198 <td width="15%" align="right" valign="top" class="summary">
199 <span class="summary-type"> </span>
200 </td><td class="summary">
201 <a href="lxml.cssselect.XPathExpr-class.html" class="summary-name" onclick="show_private();">XPathExpr</a>
205 <td width="15%" align="right" valign="top" class="summary">
206 <span class="summary-type"> </span>
207 </td><td class="summary">
208 <a href="lxml.cssselect.XPathExprOr-class.html" class="summary-name" onclick="show_private();">XPathExprOr</a><br />
209 Represents <a href="#id1"><span class="rst-rst-problematic rst-problematic" id="rst-rst-id2">|</span></a>'d expressions. Note that unfortunately it isn't
210 the union, it's the sum, so duplicate elements will appear.
214 <td width="15%" align="right" valign="top" class="summary">
215 <span class="summary-type"> </span>
216 </td><td class="summary">
217 <a href="lxml.cssselect.TokenStream-class.html" class="summary-name" onclick="show_private();">TokenStream</a>
221 <!-- ==================== FUNCTIONS ==================== -->
222 <a name="section-Functions"></a>
223 <table class="summary" border="1" cellpadding="3"
224 cellspacing="0" width="100%" bgcolor="white">
225 <tr bgcolor="#70b0f0" class="table-header">
226 <td colspan="2" class="table-header">
227 <table border="0" cellpadding="0" cellspacing="0" width="100%">
229 <td align="left"><span class="table-header">Functions</span></td>
230 <td align="right" valign="top"
231 ><span class="options">[<a href="#section-Functions"
232 class="privatelink" onclick="toggle_private();"
233 >hide private</a>]</span></td>
239 <td width="15%" align="right" valign="top" class="summary">
240 <span class="summary-type"> </span>
241 </td><td class="summary">
242 <table width="100%" cellpadding="0" cellspacing="0" border="0">
244 <td><span class="summary-sig"><a name="_make_lower_case"></a><span class="summary-sig-name">_make_lower_case</span>(<span class="summary-sig-arg">context</span>,
245 <span class="summary-sig-arg">s</span>)</span></td>
246 <td align="right" valign="top">
247 <span class="codelink"><a href="lxml.cssselect-pysrc.html#_make_lower_case">source code</a></span>
256 <td width="15%" align="right" valign="top" class="summary">
257 <span class="summary-type"> </span>
258 </td><td class="summary">
259 <table width="100%" cellpadding="0" cellspacing="0" border="0">
261 <td><span class="summary-sig"><a name="css_to_xpath"></a><span class="summary-sig-name">css_to_xpath</span>(<span class="summary-sig-arg">css_expr</span>,
262 <span class="summary-sig-arg">prefix</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">descendant-or-self::</code><code class="variable-quote">'</code></span>)</span></td>
263 <td align="right" valign="top">
264 <span class="codelink"><a href="lxml.cssselect-pysrc.html#css_to_xpath">source code</a></span>
273 <td width="15%" align="right" valign="top" class="summary">
274 <span class="summary-type"> </span>
275 </td><td class="summary">
276 <table width="100%" cellpadding="0" cellspacing="0" border="0">
278 <td><span class="summary-sig"><a name="split_at_single_quotes"></a><span class="summary-sig-name">split_at_single_quotes</span>(<span class="summary-sig-arg">...</span>)</span><br />
279 split(string[, maxsplit = 0]) --> list.
280 Split string by the occurrences of pattern.</td>
281 <td align="right" valign="top">
282 <span class="codelink"><a href="lxml.cssselect-pysrc.html#split_at_single_quotes">source code</a></span>
291 <td width="15%" align="right" valign="top" class="summary">
292 <span class="summary-type"> </span>
293 </td><td class="summary">
294 <table width="100%" cellpadding="0" cellspacing="0" border="0">
296 <td><span class="summary-sig"><a name="xpath_literal"></a><span class="summary-sig-name">xpath_literal</span>(<span class="summary-sig-arg">s</span>)</span></td>
297 <td align="right" valign="top">
298 <span class="codelink"><a href="lxml.cssselect-pysrc.html#xpath_literal">source code</a></span>
307 <td width="15%" align="right" valign="top" class="summary">
308 <span class="summary-type"> </span>
309 </td><td class="summary">
310 <table width="100%" cellpadding="0" cellspacing="0" border="0">
312 <td><span class="summary-sig"><a name="parse"></a><span class="summary-sig-name">parse</span>(<span class="summary-sig-arg">string</span>)</span></td>
313 <td align="right" valign="top">
314 <span class="codelink"><a href="lxml.cssselect-pysrc.html#parse">source code</a></span>
323 <td width="15%" align="right" valign="top" class="summary">
324 <span class="summary-type"> </span>
325 </td><td class="summary">
326 <table width="100%" cellpadding="0" cellspacing="0" border="0">
328 <td><span class="summary-sig"><a name="parse_selector_group"></a><span class="summary-sig-name">parse_selector_group</span>(<span class="summary-sig-arg">stream</span>)</span></td>
329 <td align="right" valign="top">
330 <span class="codelink"><a href="lxml.cssselect-pysrc.html#parse_selector_group">source code</a></span>
339 <td width="15%" align="right" valign="top" class="summary">
340 <span class="summary-type"> </span>
341 </td><td class="summary">
342 <table width="100%" cellpadding="0" cellspacing="0" border="0">
344 <td><span class="summary-sig"><a name="parse_selector"></a><span class="summary-sig-name">parse_selector</span>(<span class="summary-sig-arg">stream</span>)</span></td>
345 <td align="right" valign="top">
346 <span class="codelink"><a href="lxml.cssselect-pysrc.html#parse_selector">source code</a></span>
355 <td width="15%" align="right" valign="top" class="summary">
356 <span class="summary-type"> </span>
357 </td><td class="summary">
358 <table width="100%" cellpadding="0" cellspacing="0" border="0">
360 <td><span class="summary-sig"><a name="parse_simple_selector"></a><span class="summary-sig-name">parse_simple_selector</span>(<span class="summary-sig-arg">stream</span>)</span></td>
361 <td align="right" valign="top">
362 <span class="codelink"><a href="lxml.cssselect-pysrc.html#parse_simple_selector">source code</a></span>
371 <td width="15%" align="right" valign="top" class="summary">
372 <span class="summary-type"> </span>
373 </td><td class="summary">
374 <table width="100%" cellpadding="0" cellspacing="0" border="0">
376 <td><span class="summary-sig"><a name="is_int"></a><span class="summary-sig-name">is_int</span>(<span class="summary-sig-arg">v</span>)</span></td>
377 <td align="right" valign="top">
378 <span class="codelink"><a href="lxml.cssselect-pysrc.html#is_int">source code</a></span>
387 <td width="15%" align="right" valign="top" class="summary">
388 <span class="summary-type"> </span>
389 </td><td class="summary">
390 <table width="100%" cellpadding="0" cellspacing="0" border="0">
392 <td><span class="summary-sig"><a name="parse_attrib"></a><span class="summary-sig-name">parse_attrib</span>(<span class="summary-sig-arg">selector</span>,
393 <span class="summary-sig-arg">stream</span>)</span></td>
394 <td align="right" valign="top">
395 <span class="codelink"><a href="lxml.cssselect-pysrc.html#parse_attrib">source code</a></span>
404 <td width="15%" align="right" valign="top" class="summary">
405 <span class="summary-type"> </span>
406 </td><td class="summary">
407 <table width="100%" cellpadding="0" cellspacing="0" border="0">
409 <td><span class="summary-sig"><a name="parse_series"></a><span class="summary-sig-name">parse_series</span>(<span class="summary-sig-arg">s</span>)</span><br />
410 Parses things like '1n+2', or 'an+b' generally, returning (a, b)</td>
411 <td align="right" valign="top">
412 <span class="codelink"><a href="lxml.cssselect-pysrc.html#parse_series">source code</a></span>
421 <td width="15%" align="right" valign="top" class="summary">
422 <span class="summary-type"> </span>
423 </td><td class="summary">
424 <table width="100%" cellpadding="0" cellspacing="0" border="0">
426 <td><span class="summary-sig"><a name="_match_whitespace"></a><span class="summary-sig-name">_match_whitespace</span>(<span class="summary-sig-arg">...</span>)</span><br />
427 match(string[, pos[, endpos]]) --> match object or None.
428 Matches zero or more characters at the beginning of the string</td>
429 <td align="right" valign="top">
430 <span class="codelink"><a href="lxml.cssselect-pysrc.html#_match_whitespace">source code</a></span>
439 <td width="15%" align="right" valign="top" class="summary">
440 <span class="summary-type"> </span>
441 </td><td class="summary">
442 <table width="100%" cellpadding="0" cellspacing="0" border="0">
444 <td><span class="summary-sig"><a name="_replace_comments"></a><span class="summary-sig-name">_replace_comments</span>(<span class="summary-sig-arg">...</span>)</span><br />
445 sub(repl, string[, count = 0]) --> newstring
446 Return the string obtained by replacing the leftmost non-overlapping
447 occurrences of pattern in string by the replacement repl.</td>
448 <td align="right" valign="top">
449 <span class="codelink"><a href="lxml.cssselect-pysrc.html#_replace_comments">source code</a></span>
458 <td width="15%" align="right" valign="top" class="summary">
459 <span class="summary-type"> </span>
460 </td><td class="summary">
461 <table width="100%" cellpadding="0" cellspacing="0" border="0">
463 <td><span class="summary-sig"><a name="_match_count_number"></a><span class="summary-sig-name">_match_count_number</span>(<span class="summary-sig-arg">...</span>)</span><br />
464 match(string[, pos[, endpos]]) --> match object or None.
465 Matches zero or more characters at the beginning of the string</td>
466 <td align="right" valign="top">
467 <span class="codelink"><a href="lxml.cssselect-pysrc.html#_match_count_number">source code</a></span>
476 <td width="15%" align="right" valign="top" class="summary">
477 <span class="summary-type"> </span>
478 </td><td class="summary">
479 <table width="100%" cellpadding="0" cellspacing="0" border="0">
481 <td><span class="summary-sig"><a name="tokenize"></a><span class="summary-sig-name">tokenize</span>(<span class="summary-sig-arg">s</span>)</span></td>
482 <td align="right" valign="top">
483 <span class="codelink"><a href="lxml.cssselect-pysrc.html#tokenize">source code</a></span>
492 <td width="15%" align="right" valign="top" class="summary">
493 <span class="summary-type"> </span>
494 </td><td class="summary">
495 <table width="100%" cellpadding="0" cellspacing="0" border="0">
497 <td><span class="summary-sig"><a name="split_at_string_escapes"></a><span class="summary-sig-name">split_at_string_escapes</span>(<span class="summary-sig-arg">...</span>)</span><br />
498 split(string[, maxsplit = 0]) --> list.
499 Split string by the occurrences of pattern.</td>
500 <td align="right" valign="top">
501 <span class="codelink"><a href="lxml.cssselect-pysrc.html#split_at_string_escapes">source code</a></span>
510 <td width="15%" align="right" valign="top" class="summary">
511 <span class="summary-type"> </span>
512 </td><td class="summary">
513 <table width="100%" cellpadding="0" cellspacing="0" border="0">
515 <td><span class="summary-sig"><a name="unescape_string_literal"></a><span class="summary-sig-name">unescape_string_literal</span>(<span class="summary-sig-arg">literal</span>)</span></td>
516 <td align="right" valign="top">
517 <span class="codelink"><a href="lxml.cssselect-pysrc.html#unescape_string_literal">source code</a></span>
526 <td width="15%" align="right" valign="top" class="summary">
527 <span class="summary-type"> </span>
528 </td><td class="summary">
529 <table width="100%" cellpadding="0" cellspacing="0" border="0">
531 <td><span class="summary-sig"><a name="tokenize_escaped_string"></a><span class="summary-sig-name">tokenize_escaped_string</span>(<span class="summary-sig-arg">s</span>,
532 <span class="summary-sig-arg">pos</span>)</span></td>
533 <td align="right" valign="top">
534 <span class="codelink"><a href="lxml.cssselect-pysrc.html#tokenize_escaped_string">source code</a></span>
543 <td width="15%" align="right" valign="top" class="summary">
544 <span class="summary-type"> </span>
545 </td><td class="summary">
546 <table width="100%" cellpadding="0" cellspacing="0" border="0">
548 <td><span class="summary-sig"><a name="tokenize_symbol"></a><span class="summary-sig-name">tokenize_symbol</span>(<span class="summary-sig-arg">s</span>,
549 <span class="summary-sig-arg">pos</span>)</span></td>
550 <td align="right" valign="top">
551 <span class="codelink"><a href="lxml.cssselect-pysrc.html#tokenize_symbol">source code</a></span>
560 <!-- ==================== VARIABLES ==================== -->
561 <a name="section-Variables"></a>
562 <table class="summary" border="1" cellpadding="3"
563 cellspacing="0" width="100%" bgcolor="white">
564 <tr bgcolor="#70b0f0" class="table-header">
565 <td colspan="2" class="table-header">
566 <table border="0" cellpadding="0" cellspacing="0" width="100%">
568 <td align="left"><span class="table-header">Variables</span></td>
569 <td align="right" valign="top"
570 ><span class="options">[<a href="#section-Variables"
571 class="privatelink" onclick="toggle_private();"
572 >hide private</a>]</span></td>
578 <td width="15%" align="right" valign="top" class="summary">
579 <span class="summary-type"> </span>
580 </td><td class="summary">
581 <a name="ns"></a><span class="summary-name">ns</span> = <code title="FunctionNamespace('http://codespeak.net/lxml/css/')">FunctionNamespace('http://codespeak.net/lxml/css/')</code>
585 <td width="15%" align="right" valign="top" class="summary">
586 <span class="summary-type"> </span>
587 </td><td class="summary">
588 <a name="_el_re"></a><span class="summary-name">_el_re</span> = <code title="re.compile(r'(?u)^\w+\s*$')">re.compile(r'<code class="re-flags">(?u)</code>^\w<code class="re-op">+</code>\s<code class="re-op">*</code>$')</code>
592 <td width="15%" align="right" valign="top" class="summary">
593 <span class="summary-type"> </span>
594 </td><td class="summary">
595 <a name="_id_re"></a><span class="summary-name">_id_re</span> = <code title="re.compile(r'(?u)^(\w*)#(\w+)\s*$')">re.compile(r'<code class="re-flags">(?u)</code>^<code class="re-group">(</code>\w<code class="re-op">*</code><code class="re-group">)</code>#<code class="re-group">(</code>\w<code class="re-op">+</code><code class="re-group">)</code>\s<code class="re-op">*</code>$')</code>
599 <td width="15%" align="right" valign="top" class="summary">
600 <span class="summary-type"> </span>
601 </td><td class="summary">
602 <a name="_class_re"></a><span class="summary-name">_class_re</span> = <code title="re.compile(r'(?u)^(\w*)\.(\w+)\s*$')">re.compile(r'<code class="re-flags">(?u)</code>^<code class="re-group">(</code>\w<code class="re-op">*</code><code class="re-group">)</code>\.<code class="re-group">(</code>\w<code class="re-op">+</code><code class="re-group">)</code>\s<code class="re-op">*</code>$')</code>
606 <td width="15%" align="right" valign="top" class="summary">
607 <span class="summary-type"> </span>
608 </td><td class="summary">
609 <a name="_illegal_symbol"></a><span class="summary-name">_illegal_symbol</span> = <code title="re.compile(r'(?u)[^\w\\-]')">re.compile(r'<code class="re-flags">(?u)</code><code class="re-group">[</code><code class="re-op">^</code>\w\\-<code class="re-group">]</code>')</code>
613 <td width="15%" align="right" valign="top" class="summary">
614 <span class="summary-type"> </span>
615 </td><td class="summary">
616 <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'lxml'"><code class="variable-quote">'</code><code class="variable-string">lxml</code><code class="variable-quote">'</code></code>
620 <!-- ==================== NAVIGATION BAR ==================== -->
621 <table class="navbar" border="0" width="100%" cellpadding="0"
622 bgcolor="#a0c0ff" cellspacing="0">
625 <th> <a
626 href="lxml-module.html">Home</a> </th>
629 <th> <a
630 href="module-tree.html">Trees</a> </th>
633 <th> <a
634 href="identifier-index.html">Indices</a> </th>
637 <th> <a
638 href="help.html">Help</a> </th>
640 <!-- Project homepage -->
641 <th class="navbar" align="right" width="100%">
642 <table border="0" cellpadding="0" cellspacing="0">
643 <tr><th class="navbar" align="center"
644 ><a class="navbar" target="_top" href="/">lxml API</a></th>
648 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
650 <td align="left" class="footer">
651 Generated by Epydoc 3.0.1 on Tue Jul 31 10:14:17 2012
653 <td align="right" class="footer">
654 <a target="mainFrame" href="http://epydoc.sourceforge.net"
655 >http://epydoc.sourceforge.net</a>
660 <script type="text/javascript">
662 // Private objects are initially displayed (because if
663 // javascript is turned off then we want them to be
664 // visible); but by default, we want to hide them. So hide
665 // them unless we have a cookie that says to show them.