Parsing and Compiling HTML

Parse HTML and compile to TALInterpreter intermediate code, using a TALGenerator.

zope.tal.htmltalparser.BOOLEAN_HTML_ATTRS = frozenset(['compact', 'defer', 'checked', 'selected', 'ismap', 'disabled', 'readonly', 'noshade', 'noresize', 'multiple', 'nowrap', 'declare'])

List of Boolean attributes in HTML that may be given in minimized form (e.g. <img ismap> rather than <img ismap="">) From (C.10)

zope.tal.htmltalparser.EMPTY_HTML_TAGS = frozenset(['isindex', 'img', 'area', 'hr', 'frame', 'meta', 'param', 'basefont', 'base', 'link', 'br', 'input', 'col'])

List of HTML tags with an empty content model; these are rendered in minimized form, e.g. <img />. From

zope.tal.htmltalparser.PARA_LEVEL_HTML_TAGS = frozenset(['h2', 'h3', 'h1', 'h6', 'h4', 'h5', 'p'])

List of HTML elements that close open paragraph-level elements and are themselves paragraph-level.

zope.tal.htmltalparser.BLOCK_CLOSING_TAG_MAP = {'dd': frozenset(['dd', 'dt']), 'dt': frozenset(['dd', 'dt']), 'li': frozenset(['li']), 'td': frozenset(['td', 'th']), 'th': frozenset(['td', 'th']), 'tr': frozenset(['td', 'tr', 'th'])}

Tags that automatically close other tags.

zope.tal.htmltalparser.BLOCK_LEVEL_HTML_TAGS = frozenset(['dl', 'blockquote', 'dd', 'noframe', 'tr', 'tbody', 'li', 'ul', 'ol', 'tfoot', 'th', 'table', 'td', 'div', 'dt', 'thead'])

List of HTML tags that denote larger sections than paragraphs.

zope.tal.htmltalparser.SECTION_LEVEL_HTML_TAGS = frozenset(['dl', 'blockquote', 'th', 'h2', 'h3', 'dd', 'h1', 'h6', 'h4', 'h5', 'table', 'dt', 'div', 'ol', 'ul', 'tr', 'tbody', 'li', 'p', 'tfoot', 'noframe', 'td', 'thead'])

Section level HTML tags

exception zope.tal.htmltalparser.NestingError(tagstack, endtag, position=(None, None))[source]

Bases: HTMLParser.HTMLParseError

Exception raised when elements aren’t properly nested.

exception zope.tal.htmltalparser.EmptyTagError(tag, position=(None, None))[source]

Bases: zope.tal.htmltalparser.NestingError

Exception raised when empty elements have an end tag.

exception zope.tal.htmltalparser.OpenTagError(tagstack, tag, position=(None, None))[source]

Bases: zope.tal.htmltalparser.NestingError

Exception raised when a tag is not allowed in another tag.

class zope.tal.htmltalparser.HTMLTALParser(gen=None)[source]

Bases: HTMLParser.HTMLParser

Parser for HTML.

After you call either parseFile() and parseString() you can retrieve the compiled program using getCode().

Parameters:gen (TALGenerator) – The configured (with an expression compiler) code generator to use. If one is not given, a default will be used.

Parse data in the given file.


Parse data in the given string.


After parsing, this returns (program, macros).