134 lines
4.4 KiB
Python
134 lines
4.4 KiB
Python
|
# --------------------------------------------------------------------
|
||
|
# The ElementTree toolkit is
|
||
|
# Copyright (c) 1999-2004 by Fredrik Lundh
|
||
|
# --------------------------------------------------------------------
|
||
|
|
||
|
"""
|
||
|
A set of HTML generator tags for building HTML documents.
|
||
|
|
||
|
Usage::
|
||
|
|
||
|
>>> from lxml.html.builder import *
|
||
|
>>> html = HTML(
|
||
|
... HEAD( TITLE("Hello World") ),
|
||
|
... BODY( CLASS("main"),
|
||
|
... H1("Hello World !")
|
||
|
... )
|
||
|
... )
|
||
|
|
||
|
>>> import lxml.etree
|
||
|
>>> print lxml.etree.tostring(html, pretty_print=True)
|
||
|
<html>
|
||
|
<head>
|
||
|
<title>Hello World</title>
|
||
|
</head>
|
||
|
<body class="main">
|
||
|
<h1>Hello World !</h1>
|
||
|
</body>
|
||
|
</html>
|
||
|
|
||
|
"""
|
||
|
|
||
|
from lxml.builder import ElementMaker
|
||
|
from lxml.html import html_parser
|
||
|
|
||
|
E = ElementMaker(makeelement=html_parser.makeelement)
|
||
|
|
||
|
# elements
|
||
|
A = E.a #: anchor
|
||
|
ABBR = E.abbr #: abbreviated form (e.g., WWW, HTTP, etc.)
|
||
|
ACRONYM = E.acronym #:
|
||
|
ADDRESS = E.address #: information on author
|
||
|
APPLET = E.applet #: Java applet (DEPRECATED)
|
||
|
AREA = E.area #: client-side image map area
|
||
|
B = E.b #: bold text style
|
||
|
BASE = E.base #: document base URI
|
||
|
BASEFONT = E.basefont #: base font size (DEPRECATED)
|
||
|
BDO = E.bdo #: I18N BiDi over-ride
|
||
|
BIG = E.big #: large text style
|
||
|
BLOCKQUOTE = E.blockquote #: long quotation
|
||
|
BODY = E.body #: document body
|
||
|
BR = E.br #: forced line break
|
||
|
BUTTON = E.button #: push button
|
||
|
CAPTION = E.caption #: table caption
|
||
|
CENTER = E.center #: shorthand for DIV align=center (DEPRECATED)
|
||
|
CITE = E.cite #: citation
|
||
|
CODE = E.code #: computer code fragment
|
||
|
COL = E.col #: table column
|
||
|
COLGROUP = E.colgroup #: table column group
|
||
|
DD = E.dd #: definition description
|
||
|
DEL = getattr(E, 'del') #: deleted text
|
||
|
DFN = E.dfn #: instance definition
|
||
|
DIR = E.dir #: directory list (DEPRECATED)
|
||
|
DIV = E.div #: generic language/style container
|
||
|
DL = E.dl #: definition list
|
||
|
DT = E.dt #: definition term
|
||
|
EM = E.em #: emphasis
|
||
|
FIELDSET = E.fieldset #: form control group
|
||
|
FONT = E.font #: local change to font (DEPRECATED)
|
||
|
FORM = E.form #: interactive form
|
||
|
FRAME = E.frame #: subwindow
|
||
|
FRAMESET = E.frameset #: window subdivision
|
||
|
H1 = E.h1 #: heading
|
||
|
H2 = E.h2 #: heading
|
||
|
H3 = E.h3 #: heading
|
||
|
H4 = E.h4 #: heading
|
||
|
H5 = E.h5 #: heading
|
||
|
H6 = E.h6 #: heading
|
||
|
HEAD = E.head #: document head
|
||
|
HR = E.hr #: horizontal rule
|
||
|
HTML = E.html #: document root element
|
||
|
I = E.i #: italic text style
|
||
|
IFRAME = E.iframe #: inline subwindow
|
||
|
IMG = E.img #: Embedded image
|
||
|
INPUT = E.input #: form control
|
||
|
INS = E.ins #: inserted text
|
||
|
ISINDEX = E.isindex #: single line prompt (DEPRECATED)
|
||
|
KBD = E.kbd #: text to be entered by the user
|
||
|
LABEL = E.label #: form field label text
|
||
|
LEGEND = E.legend #: fieldset legend
|
||
|
LI = E.li #: list item
|
||
|
LINK = E.link #: a media-independent link
|
||
|
MAP = E.map #: client-side image map
|
||
|
MENU = E.menu #: menu list (DEPRECATED)
|
||
|
META = E.meta #: generic metainformation
|
||
|
NOFRAMES = E.noframes #: alternate content container for non frame-based rendering
|
||
|
NOSCRIPT = E.noscript #: alternate content container for non script-based rendering
|
||
|
OBJECT = E.object #: generic embedded object
|
||
|
OL = E.ol #: ordered list
|
||
|
OPTGROUP = E.optgroup #: option group
|
||
|
OPTION = E.option #: selectable choice
|
||
|
P = E.p #: paragraph
|
||
|
PARAM = E.param #: named property value
|
||
|
PRE = E.pre #: preformatted text
|
||
|
Q = E.q #: short inline quotation
|
||
|
S = E.s #: strike-through text style (DEPRECATED)
|
||
|
SAMP = E.samp #: sample program output, scripts, etc.
|
||
|
SCRIPT = E.script #: script statements
|
||
|
SELECT = E.select #: option selector
|
||
|
SMALL = E.small #: small text style
|
||
|
SPAN = E.span #: generic language/style container
|
||
|
STRIKE = E.strike #: strike-through text (DEPRECATED)
|
||
|
STRONG = E.strong #: strong emphasis
|
||
|
STYLE = E.style #: style info
|
||
|
SUB = E.sub #: subscript
|
||
|
SUP = E.sup #: superscript
|
||
|
TABLE = E.table #:
|
||
|
TBODY = E.tbody #: table body
|
||
|
TD = E.td #: table data cell
|
||
|
TEXTAREA = E.textarea #: multi-line text field
|
||
|
TFOOT = E.tfoot #: table footer
|
||
|
TH = E.th #: table header cell
|
||
|
THEAD = E.thead #: table header
|
||
|
TITLE = E.title #: document title
|
||
|
TR = E.tr #: table row
|
||
|
TT = E.tt #: teletype or monospaced text style
|
||
|
U = E.u #: underlined text style (DEPRECATED)
|
||
|
UL = E.ul #: unordered list
|
||
|
VAR = E.var #: instance of a variable or program argument
|
||
|
|
||
|
# attributes (only reserved words are included here)
|
||
|
ATTR = dict
|
||
|
def CLASS(v): return {'class': v}
|
||
|
def FOR(v): return {'for': v}
|