A Tag represents an XML tags with a tag name, attributes, and children. A Tag can be constructed using the special twisted.web.template.tags object, or it may be constructed directly with a tag name. Tags have a special method, __call__, which makes representing trees of XML natural using pure python syntax.

Instance Variable tagName The name of the represented element. For a tag like <div></div>, this would be "div". (type: str)
Instance Variable attributes The attributes of the element. (type: dict mapping str to renderable objects.)
Instance Variable children The child Tags of this Tag. (type: list of renderable objects.)
Instance Variable render The name of the render method to use for this Tag. This name will be looked up at render time by the twisted.web.template.Element doing the rendering, via twisted.web.template.Element.lookupRenderMethod, to determine which method to call. (type: str)
Instance Variable filename The name of the XML file from which this tag was parsed. If it was not parsed from an XML file, None. (type: str or None)
Instance Variable lineNumber The line number on which this tag was encountered in the XML file from which it was parsed. If it was not parsed from an XML file, None. (type: int or None)
Instance Variable columnNumber The column number at which this tag was encountered in the XML file from which it was parsed. If it was not parsed from an XML file, None. (type: int or None)
Instance Variable slotData The data which can fill slots. If present, a dictionary mapping slot names to renderable values. The values in this dict might be anything that can be present as the child of a Tag; strings, lists, Tags, generators, etc. (type: dict or None)
Method __init__ Undocumented
Method fillSlots Remember the slots provided at this position in the DOM.
Method __call__ Add children and change attributes on this tag.
Method clone Return a clone of this tag. If deep is True, clone all of this tag's children. Otherwise, just shallow copy the children list without copying the children themselves.
Method clear Clear any existing children from this tag.
Method __repr__ Undocumented
Method _clone Clone an arbitrary object; used by Tag.clone.
tagName =
The name of the represented element. For a tag like <div></div>, this would be "div". (type: str)
attributes =
The attributes of the element. (type: dict mapping str to renderable objects.)
children =
The child Tags of this Tag. (type: list of renderable objects.)
render =
The name of the render method to use for this Tag. This name will be looked up at render time by the twisted.web.template.Element doing the rendering, via twisted.web.template.Element.lookupRenderMethod, to determine which method to call. (type: str)
filename =
The name of the XML file from which this tag was parsed. If it was not parsed from an XML file, None. (type: str or None)
lineNumber =
The line number on which this tag was encountered in the XML file from which it was parsed. If it was not parsed from an XML file, None. (type: int or None)
columnNumber =
The column number at which this tag was encountered in the XML file from which it was parsed. If it was not parsed from an XML file, None. (type: int or None)
slotData =
The data which can fill slots. If present, a dictionary mapping slot names to renderable values. The values in this dict might be anything that can be present as the child of a Tag; strings, lists, Tags, generators, etc. (type: dict or None)
def __init__(self, tagName, attributes=None, children=None, render=None, filename=None, lineNumber=None, columnNumber=None): (source)
Undocumented
def fillSlots(self, **slots): (source)

Remember the slots provided at this position in the DOM.

During the rendering of children of this node, slots with names in slots will be rendered as their corresponding values.

Returnsself. This enables the idiom return tag.fillSlots(...) in renderers.
def __call__(self, *children, **kw): (source)

Add children and change attributes on this tag.

This is implemented using __call__ because it then allows the natural syntax:

 table(tr1, tr2, width="100%", height="50%", border="1")

Children may be other tag instances, strings, functions, or any other object which has a registered flatten.

Attributes may be 'transparent' tag instances (so that a(href=transparent(data="foo", render=myhrefrenderer)) works), strings, functions, or any other object which has a registered flattener.

If the attribute is a python keyword, such as 'class', you can add an underscore to the name, like 'class_'.

There is one special keyword argument, 'render', which will be used as the name of the renderer and saved as the 'render' attribute of this instance, rather than the DOM 'render' attribute in the attributes dictionary.

def _clone(self, obj, deep): (source)

Clone an arbitrary object; used by Tag.clone.

Parametersobjan object with a clone method, a list or tuple, or something which should be immutable.
deepwhether to continue cloning child objects; i.e. the contents of lists, the sub-tags within a tag.
Returnsa clone of obj.
def clone(self, deep=True): (source)

Return a clone of this tag. If deep is True, clone all of this tag's children. Otherwise, just shallow copy the children list without copying the children themselves.

def clear(self): (source)

Clear any existing children from this tag.

def __repr__(self): (source)
Undocumented
API Documentation for Twisted, generated by pydoctor at 2018-10-15 19:29:43.