comparison env/lib/python3.7/site-packages/lxml/html/defs.py @ 2:6af9afd405e9 draft

"planemo upload commit 0a63dd5f4d38a1f6944587f52a8cd79874177fc1"
author shellac
date Thu, 14 May 2020 14:56:58 -0400
parents 26e78fe6e8c4
children
comparison
equal deleted inserted replaced
1:75ca89e9b81c 2:6af9afd405e9
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)