css
– CSS related functions
This module contains functions related to the handling of CSS.
- ll.xist.css.replaceurls(stylesheet, replacer)[source]
Replace all URLs appearing in the
CSSStyleSheet
stylesheet
. For each URL the functionreplacer
will be called and the URL will be replaced with the result.
- ll.xist.css.geturls(stylesheet)[source]
Return a list of all URLs appearing in the
CSSStyleSheet
stylesheet
.
- ll.xist.css.iterrules(node, base=None, media=None, title=None)[source]
Return an iterator for all CSS rules defined in the HTML tree
node
. This will parse the CSS defined in anyhtml.style
orhtml.link
element (and recursively in those stylesheets imported via the@import
rule). The rules will be returned asCSSStyleRule
objects from thecssutils
package (so this requirescssutils
).The
base
argument will be used as the base URL for parsing the stylesheet references in the tree (soNone
means the URLs will be used exactly as they appear in the tree). All URLs in the style properties will be resolved.If
media
is given, only rules that apply to this media type will be produced.title
can be used to specify which stylesheet group should be used. Iftitle
isNone
only the persistent and preferred stylesheets will be used. Iftitle
is a string only the persistent stylesheets and alternate stylesheets with that style name will be used.For a description of “persistent”, “preferred” and “alternate” stylesheets see <http://www.w3.org/TR/2002/WD-xhtml2-20020805/mod-styleSheet.html#sec_20.1.2.>
- ll.xist.css.applystylesheets(node, base=None, media=None, title=None)[source]
applystylesheets()
modifies the XIST treenode
by removing all CSS (fromhtml.link
andhtml.style
elements and their@import
ed stylesheets) and putting the resulting style properties into thestyle
attribute of every affected element instead.For the meaning of
base
,media
andtitle
seeiterrules()
.
- class ll.xist.css.CSSWeightedSelector[source]
Bases:
Selector
Base class for all CSS pseudo-class selectors.
- class ll.xist.css.CSSHasAttributeSelector[source]
Bases:
CSSWeightedSelector
A
CSSHasAttributeSelector
selector selects all element nodes that have an attribute with the specified XML name.
- class ll.xist.css.CSSAttributeListSelector[source]
Bases:
CSSWeightedSelector
A
CSSAttributeListSelector
selector selects all element nodes where an attribute with the specified XML name has the specified word among the white space-separated list of words in the attribute value.
- class ll.xist.css.CSSAttributeLangSelector[source]
Bases:
CSSWeightedSelector
A
CSSAttributeLangSelector
selector selects all element nodes where an attribute with the specified XML name either is exactly the specified value or starts with the specified value followed by"-"
.
- class ll.xist.css.CSSFirstChildSelector[source]
Bases:
CSSWeightedSelector
A
CSSFirstChildSelector
selector selects all element nodes that are the first child of its parent.
- class ll.xist.css.CSSLastChildSelector[source]
Bases:
CSSWeightedSelector
A
CSSLastChildSelector
selector selects all element nodes that are the last child of its parent.
- class ll.xist.css.CSSFirstOfTypeSelector[source]
Bases:
CSSWeightedSelector
A
CSSLastChildSelector
selector selects all element nodes that are the first of its type among their siblings.
- class ll.xist.css.CSSLastOfTypeSelector[source]
Bases:
CSSWeightedSelector
A
CSSLastChildSelector
selector selects all element nodes that are the last of its type among their siblings.
- class ll.xist.css.CSSOnlyChildSelector[source]
Bases:
CSSWeightedSelector
A
CSSOnlyChildSelector
selector selects all element nodes that are the only element among its siblings.
- class ll.xist.css.CSSOnlyOfTypeSelector[source]
Bases:
CSSWeightedSelector
A
CSSOnlyOfTypeSelector
selector selects all element nodes that are the only element of its type among its siblings.
- class ll.xist.css.CSSEmptySelector[source]
Bases:
CSSWeightedSelector
A
CSSEmptySelector
selector selects all element nodes that are empty (i.e. they contain no elements or non-whitespace text).
- class ll.xist.css.CSSRootSelector[source]
Bases:
CSSWeightedSelector
A
CSSRootSelector
selector selects the root element.
- class ll.xist.css.CSSLinkSelector[source]
Bases:
CSSWeightedSelector
A
CSSLinkSelector
selector selects all HTML links.
- class ll.xist.css.CSSDisabledSelector[source]
Bases:
CSSWeightedSelector
A
CSSDisabledSelector
selector selects all HTML elements where the attributedisabled
is set.Note that that is not 100% what the pseudo class :disabled means, but since we have no live DOM this is the best we can do.
- class ll.xist.css.CSSFunctionSelector[source]
Bases:
CSSWeightedSelector
Base class of all CSS selectors that require an argument.
- class ll.xist.css.CSSNthChildSelector[source]
Bases:
CSSFunctionSelector
A
CSSNthChildSelector
selector selects all element nodes that are the n-th element among their siblings.
- class ll.xist.css.CSSNthLastChildSelector[source]
Bases:
CSSFunctionSelector
A
CSSNthLastChildSelector
selector selects all element nodes that are the n-th last element among their siblings.
- class ll.xist.css.CSSNthOfTypeSelector[source]
Bases:
CSSFunctionSelector
A
CSSNthOfTypeSelector
selector selects all element nodes that are the n-th of its type among their siblings.
- class ll.xist.css.CSSNthLastOfTypeSelector[source]
Bases:
CSSFunctionSelector
A
CSSNthOfTypeSelector
selector selects all element nodes that are the n-th last of its type among their siblings.
- class ll.xist.css.CSSAdjacentSiblingCombinator[source]
Bases:
BinaryCombinator
A
CSSAdjacentSiblingCombinator
works similar to anAdjacentSiblingCombinator
except that only preceding elements are considered.
- class ll.xist.css.CSSGeneralSiblingCombinator[source]
Bases:
BinaryCombinator
A
CSSGeneralSiblingCombinator
works similar to anxfind.GeneralSiblingCombinator
except that only preceding elements are considered.
- ll.xist.css.selector(selectors, prefixes=None)[source]
Create a
xfind.Selector
object that matches all nodes that match the specified CSS selector expression.selectors
can be a string or acssutils.css.selector.Selector
object.prefixes
may be a mapping mapping namespace prefixes to namespace names.
- ll.xist.css.parsestring(data, base=None, encoding=None)[source]
Parse the string
data
into acssutils
stylesheet.base
is the base URL for the parsing process,encoding
can be used to force the parser to use the specified encoding.
- ll.xist.css.parsestream(stream, base=None, encoding=None)[source]
Parse a
cssutils
stylesheet from the streamstream
.base
is the base URL for the parsing process,encoding
can be used to force the parser to use the specified encoding.
- ll.xist.css.parsefile(filename, base=None, encoding=None)[source]
Parse a
cssutils
stylesheet from the file namedfilename
.base
is the base URL for the parsing process (defaulting to the filename itself),encoding
can be used to force the parser to use the specified encoding.
- ll.xist.css.parseurl(name, base=None, encoding=None, *args, **kwargs)[source]
Parse a
cssutils
stylesheet from the URLname
.base
is the base URL for the parsing process (defaulting to the final URL of the response, i.e. including redirects),encoding
can be used to force the parser to use the specified encoding.arg
andkwargs
are passed on toURL.openread()
, so you can pass POST data and request headers.