comparison planemo/lib/python3.7/site-packages/lxml/html/defs.py @ 1:56ad4e20f292 draft

"planemo upload commit 6eee67778febed82ddd413c3ca40b3183a3898f1"
author guerler
date Fri, 31 Jul 2020 00:32:28 -0400
parents
children
comparison
equal deleted inserted replaced
0:d30785e31577 1:56ad4e20f292
1 # FIXME: this should all be confirmed against what a DTD says
2 # (probably in a test; this may not match the DTD exactly, but we
3 # should document just how it differs).
4
5 # Data taken from http://www.w3.org/TR/html401/index/elements.html
6 # and http://www.w3.org/community/webed/wiki/HTML/New_HTML5_Elements
7 # for html5_tags.
8
9 empty_tags = frozenset([
10 'area', 'base', 'basefont', 'br', 'col', 'frame', 'hr',
11 'img', 'input', 'isindex', 'link', 'meta', 'param', 'source', 'track'])
12
13 deprecated_tags = frozenset([
14 'applet', 'basefont', 'center', 'dir', 'font', 'isindex',
15 'menu', 's', 'strike', 'u'])
16
17 # archive actually takes a space-separated list of URIs
18 link_attrs = frozenset([
19 'action', 'archive', 'background', 'cite', 'classid',
20 'codebase', 'data', 'href', 'longdesc', 'profile', 'src',
21 'usemap',
22 # Not standard:
23 'dynsrc', 'lowsrc',
24 ])
25
26 # Not in the HTML 4 spec:
27 # onerror, onresize
28 event_attrs = frozenset([
29 'onblur', 'onchange', 'onclick', 'ondblclick', 'onerror',
30 'onfocus', 'onkeydown', 'onkeypress', 'onkeyup', 'onload',
31 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover',
32 'onmouseup', 'onreset', 'onresize', 'onselect', 'onsubmit',
33 'onunload',
34 ])
35
36 safe_attrs = frozenset([
37 'abbr', 'accept', 'accept-charset', 'accesskey', 'action', 'align',
38 'alt', 'axis', 'border', 'cellpadding', 'cellspacing', 'char', 'charoff',
39 'charset', 'checked', 'cite', 'class', 'clear', 'cols', 'colspan',
40 'color', 'compact', 'coords', 'datetime', 'dir', 'disabled', 'enctype',
41 'for', 'frame', 'headers', 'height', 'href', 'hreflang', 'hspace', 'id',
42 'ismap', 'label', 'lang', 'longdesc', 'maxlength', 'media', 'method',
43 'multiple', 'name', 'nohref', 'noshade', 'nowrap', 'prompt', 'readonly',
44 'rel', 'rev', 'rows', 'rowspan', 'rules', 'scope', 'selected', 'shape',
45 'size', 'span', 'src', 'start', 'summary', 'tabindex', 'target', 'title',
46 'type', 'usemap', 'valign', 'value', 'vspace', 'width'])
47
48 # From http://htmlhelp.com/reference/html40/olist.html
49 top_level_tags = frozenset([
50 'html', 'head', 'body', 'frameset',
51 ])
52
53 head_tags = frozenset([
54 'base', 'isindex', 'link', 'meta', 'script', 'style', 'title',
55 ])
56
57 general_block_tags = frozenset([
58 'address',
59 'blockquote',
60 'center',
61 'del',
62 'div',
63 'h1',
64 'h2',
65 'h3',
66 'h4',
67 'h5',
68 'h6',
69 'hr',
70 'ins',
71 'isindex',
72 'noscript',
73 'p',
74 'pre',
75 ])
76
77 list_tags = frozenset([
78 'dir', 'dl', 'dt', 'dd', 'li', 'menu', 'ol', 'ul',
79 ])
80
81 table_tags = frozenset([
82 'table', 'caption', 'colgroup', 'col',
83 'thead', 'tfoot', 'tbody', 'tr', 'td', 'th',
84 ])
85
86 # just this one from
87 # http://www.georgehernandez.com/h/XComputers/HTML/2BlockLevel.htm
88 block_tags = general_block_tags | list_tags | table_tags | frozenset([
89 # Partial form tags
90 'fieldset', 'form', 'legend', 'optgroup', 'option',
91 ])
92
93 form_tags = frozenset([
94 'form', 'button', 'fieldset', 'legend', 'input', 'label',
95 'select', 'optgroup', 'option', 'textarea',
96 ])
97
98 special_inline_tags = frozenset([
99 'a', 'applet', 'basefont', 'bdo', 'br', 'embed', 'font', 'iframe',
100 'img', 'map', 'area', 'object', 'param', 'q', 'script',
101 'span', 'sub', 'sup',
102 ])
103
104 phrase_tags = frozenset([
105 'abbr', 'acronym', 'cite', 'code', 'del', 'dfn', 'em',
106 'ins', 'kbd', 'samp', 'strong', 'var',
107 ])
108
109 font_style_tags = frozenset([
110 'b', 'big', 'i', 's', 'small', 'strike', 'tt', 'u',
111 ])
112
113 frame_tags = frozenset([
114 'frameset', 'frame', 'noframes',
115 ])
116
117 html5_tags = frozenset([
118 'article', 'aside', 'audio', 'canvas', 'command', 'datalist',
119 'details', 'embed', 'figcaption', 'figure', 'footer', 'header',
120 'hgroup', 'keygen', 'mark', 'math', 'meter', 'nav', 'output',
121 'progress', 'rp', 'rt', 'ruby', 'section', 'source', 'summary',
122 'svg', 'time', 'track', 'video', 'wbr'
123 ])
124
125 # These tags aren't standard
126 nonstandard_tags = frozenset(['blink', 'marquee'])
127
128
129 tags = (top_level_tags | head_tags | general_block_tags | list_tags
130 | table_tags | form_tags | special_inline_tags | phrase_tags
131 | font_style_tags | nonstandard_tags | html5_tags)