Linux cpanel.rrshost.in 5.15.0-25-generic #25-Ubuntu SMP Wed Mar 30 15:54:22 UTC 2022 x86_64
Apache
: 109.123.238.221 | : 172.69.17.164
128 Domain
8.2.28
aev999
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
share /
doc /
python2.7 /
html /
library /
[ HOME SHELL ]
Name
Size
Permission
Action
2to3.html
63.71
KB
-rw-r--r--
__builtin__.html
11.79
KB
-rw-r--r--
__future__.html
15.58
KB
-rw-r--r--
__main__.html
8.33
KB
-rw-r--r--
_winreg.html
73.99
KB
-rw-r--r--
abc.html
26.82
KB
-rw-r--r--
aepack.html
15.47
KB
-rw-r--r--
aetools.html
18.79
KB
-rw-r--r--
aetypes.html
27.08
KB
-rw-r--r--
aifc.html
29.59
KB
-rw-r--r--
al.html
22.13
KB
-rw-r--r--
allos.html
35.48
KB
-rw-r--r--
anydbm.html
19.31
KB
-rw-r--r--
archiving.html
10.64
KB
-rw-r--r--
argparse.html
269.59
KB
-rw-r--r--
array.html
35.35
KB
-rw-r--r--
ast.html
42.42
KB
-rw-r--r--
asynchat.html
35.84
KB
-rw-r--r--
asyncore.html
43.22
KB
-rw-r--r--
atexit.html
19.23
KB
-rw-r--r--
audioop.html
41.32
KB
-rw-r--r--
autogil.html
9.77
KB
-rw-r--r--
base64.html
24.8
KB
-rw-r--r--
basehttpserver.html
40.6
KB
-rw-r--r--
bastion.html
13.02
KB
-rw-r--r--
bdb.html
50.06
KB
-rw-r--r--
binascii.html
26.64
KB
-rw-r--r--
binhex.html
12.66
KB
-rw-r--r--
bisect.html
28.52
KB
-rw-r--r--
bsddb.html
32.02
KB
-rw-r--r--
bz2.html
31.92
KB
-rw-r--r--
calendar.html
50.16
KB
-rw-r--r--
carbon.html
54.14
KB
-rw-r--r--
cd.html
35.24
KB
-rw-r--r--
cgi.html
58.4
KB
-rw-r--r--
cgihttpserver.html
15.12
KB
-rw-r--r--
cgitb.html
13.5
KB
-rw-r--r--
chunk.html
17.41
KB
-rw-r--r--
cmath.html
32.41
KB
-rw-r--r--
cmd.html
32.69
KB
-rw-r--r--
code.html
28.92
KB
-rw-r--r--
codecs.html
125.92
KB
-rw-r--r--
codeop.html
16.42
KB
-rw-r--r--
collections.html
150.36
KB
-rw-r--r--
colorpicker.html
9.02
KB
-rw-r--r--
colorsys.html
14.38
KB
-rw-r--r--
commands.html
16.63
KB
-rw-r--r--
compileall.html
21.18
KB
-rw-r--r--
compiler.html
78.14
KB
-rw-r--r--
configparser.html
73.92
KB
-rw-r--r--
constants.html
14.68
KB
-rw-r--r--
contextlib.html
22.91
KB
-rw-r--r--
cookie.html
45.38
KB
-rw-r--r--
cookielib.html
102.78
KB
-rw-r--r--
copy.html
14.21
KB
-rw-r--r--
copy_reg.html
15.82
KB
-rw-r--r--
crypt.html
11.62
KB
-rw-r--r--
crypto.html
8.35
KB
-rw-r--r--
csv.html
82.79
KB
-rw-r--r--
ctypes.html
280.57
KB
-rw-r--r--
curses.ascii.html
28.97
KB
-rw-r--r--
curses.html
200.94
KB
-rw-r--r--
curses.panel.html
18.43
KB
-rw-r--r--
custominterp.html
8.59
KB
-rw-r--r--
datatypes.html
18.84
KB
-rw-r--r--
datetime.html
261.02
KB
-rw-r--r--
dbhash.html
18.4
KB
-rw-r--r--
dbm.html
14.75
KB
-rw-r--r--
debug.html
11.28
KB
-rw-r--r--
decimal.html
239.14
KB
-rw-r--r--
development.html
15.27
KB
-rw-r--r--
difflib.html
96.93
KB
-rw-r--r--
dircache.html
13.66
KB
-rw-r--r--
dis.html
96.52
KB
-rw-r--r--
distribution.html
8.27
KB
-rw-r--r--
distutils.html
10.97
KB
-rw-r--r--
dl.html
19.27
KB
-rw-r--r--
doctest.html
193.18
KB
-rw-r--r--
docxmlrpcserver.html
20.02
KB
-rw-r--r--
dumbdbm.html
16.74
KB
-rw-r--r--
dummy_thread.html
11.04
KB
-rw-r--r--
dummy_threading.html
9.96
KB
-rw-r--r--
easydialogs.html
38.83
KB
-rw-r--r--
email-examples.html
47.2
KB
-rw-r--r--
email.charset.html
32.45
KB
-rw-r--r--
email.encoders.html
14.09
KB
-rw-r--r--
email.errors.html
19.2
KB
-rw-r--r--
email.generator.html
24.78
KB
-rw-r--r--
email.header.html
31.12
KB
-rw-r--r--
email.html
55.3
KB
-rw-r--r--
email.iterators.html
14.22
KB
-rw-r--r--
email.message.html
74.91
KB
-rw-r--r--
email.mime.html
34.51
KB
-rw-r--r--
email.parser.html
37.09
KB
-rw-r--r--
email.utils.html
30.04
KB
-rw-r--r--
ensurepip.html
20.21
KB
-rw-r--r--
errno.html
52.31
KB
-rw-r--r--
exceptions.html
73.4
KB
-rw-r--r--
fcntl.html
27.85
KB
-rw-r--r--
filecmp.html
26.49
KB
-rw-r--r--
fileformats.html
10.21
KB
-rw-r--r--
fileinput.html
29.36
KB
-rw-r--r--
filesys.html
11.55
KB
-rw-r--r--
fl.html
71.58
KB
-rw-r--r--
fm.html
15
KB
-rw-r--r--
fnmatch.html
17.78
KB
-rw-r--r--
formatter.html
43.91
KB
-rw-r--r--
fpectl.html
17.84
KB
-rw-r--r--
fpformat.html
12.65
KB
-rw-r--r--
fractions.html
27.17
KB
-rw-r--r--
framework.html
44.24
KB
-rw-r--r--
frameworks.html
8.11
KB
-rw-r--r--
ftplib.html
56.56
KB
-rw-r--r--
functions.html
216.84
KB
-rw-r--r--
functools.html
31.06
KB
-rw-r--r--
future_builtins.html
15.9
KB
-rw-r--r--
gc.html
30.74
KB
-rw-r--r--
gdbm.html
19.35
KB
-rw-r--r--
gensuitemodule.html
14.54
KB
-rw-r--r--
getopt.html
26.56
KB
-rw-r--r--
getpass.html
12.5
KB
-rw-r--r--
gettext.html
91.32
KB
-rw-r--r--
gl.html
26.71
KB
-rw-r--r--
glob.html
15.42
KB
-rw-r--r--
grp.html
12.33
KB
-rw-r--r--
gzip.html
21.95
KB
-rw-r--r--
hashlib.html
27.4
KB
-rw-r--r--
heapq.html
36.72
KB
-rw-r--r--
hmac.html
15.97
KB
-rw-r--r--
hotshot.html
22.69
KB
-rw-r--r--
htmllib.html
29.9
KB
-rw-r--r--
htmlparser.html
45.11
KB
-rw-r--r--
httplib.html
78.55
KB
-rw-r--r--
i18n.html
10.61
KB
-rw-r--r--
ic.html
22.03
KB
-rw-r--r--
idle.html
45.74
KB
-rw-r--r--
imageop.html
20.94
KB
-rw-r--r--
imaplib.html
69.9
KB
-rw-r--r--
imgfile.html
14.91
KB
-rw-r--r--
imghdr.html
13.43
KB
-rw-r--r--
imp.html
41.48
KB
-rw-r--r--
importlib.html
10.27
KB
-rw-r--r--
imputil.html
36.11
KB
-rw-r--r--
index.html
82.54
KB
-rw-r--r--
inspect.html
64.31
KB
-rw-r--r--
internet.html
26.77
KB
-rw-r--r--
intro.html
9.76
KB
-rw-r--r--
io.html
122.3
KB
-rw-r--r--
ipc.html
17.18
KB
-rw-r--r--
itertools.html
129.91
KB
-rw-r--r--
jpeg.html
15.36
KB
-rw-r--r--
json.html
79.09
KB
-rw-r--r--
keyword.html
9.27
KB
-rw-r--r--
language.html
12.35
KB
-rw-r--r--
linecache.html
12.7
KB
-rw-r--r--
locale.html
68.54
KB
-rw-r--r--
logging.config.html
82.23
KB
-rw-r--r--
logging.handlers.html
91.96
KB
-rw-r--r--
logging.html
123.15
KB
-rw-r--r--
mac.html
24.49
KB
-rw-r--r--
macos.html
18.51
KB
-rw-r--r--
macosa.html
14.55
KB
-rw-r--r--
macostools.html
19.67
KB
-rw-r--r--
macpath.html
9.19
KB
-rw-r--r--
mailbox.html
185.53
KB
-rw-r--r--
mailcap.html
15.3
KB
-rw-r--r--
markup.html
20.37
KB
-rw-r--r--
marshal.html
19.88
KB
-rw-r--r--
math.html
50.52
KB
-rw-r--r--
md5.html
16.65
KB
-rw-r--r--
mhlib.html
30.04
KB
-rw-r--r--
mimetools.html
23.84
KB
-rw-r--r--
mimetypes.html
35.82
KB
-rw-r--r--
mimewriter.html
18.19
KB
-rw-r--r--
mimify.html
16.96
KB
-rw-r--r--
miniaeframe.html
14.5
KB
-rw-r--r--
misc.html
7.77
KB
-rw-r--r--
mm.html
10.19
KB
-rw-r--r--
mmap.html
33.52
KB
-rw-r--r--
modulefinder.html
19.85
KB
-rw-r--r--
modules.html
9.68
KB
-rw-r--r--
msilib.html
72.78
KB
-rw-r--r--
msvcrt.html
24.1
KB
-rw-r--r--
multifile.html
28.82
KB
-rw-r--r--
multiprocessing.html
423.97
KB
-rw-r--r--
mutex.html
13.56
KB
-rw-r--r--
netdata.html
19.28
KB
-rw-r--r--
netrc.html
15.51
KB
-rw-r--r--
new.html
16.1
KB
-rw-r--r--
nis.html
13.19
KB
-rw-r--r--
nntplib.html
51.08
KB
-rw-r--r--
numbers.html
40.91
KB
-rw-r--r--
numeric.html
14.85
KB
-rw-r--r--
operator.html
118.32
KB
-rw-r--r--
optparse.html
251.08
KB
-rw-r--r--
os.html
270.49
KB
-rw-r--r--
os.path.html
48.87
KB
-rw-r--r--
ossaudiodev.html
49.79
KB
-rw-r--r--
othergui.html
9.98
KB
-rw-r--r--
parser.html
44.52
KB
-rw-r--r--
pdb.html
41.44
KB
-rw-r--r--
persistence.html
16.25
KB
-rw-r--r--
pickle.html
107.94
KB
-rw-r--r--
pickletools.html
13.21
KB
-rw-r--r--
pipes.html
21.85
KB
-rw-r--r--
pkgutil.html
30.59
KB
-rw-r--r--
platform.html
40.14
KB
-rw-r--r--
plistlib.html
20.96
KB
-rw-r--r--
popen2.html
30.13
KB
-rw-r--r--
poplib.html
27.93
KB
-rw-r--r--
posix.html
17.27
KB
-rw-r--r--
posixfile.html
23.68
KB
-rw-r--r--
pprint.html
36.42
KB
-rw-r--r--
profile.html
76.65
KB
-rw-r--r--
pty.html
11.42
KB
-rw-r--r--
pwd.html
13.53
KB
-rw-r--r--
py_compile.html
13.33
KB
-rw-r--r--
pyclbr.html
18.14
KB
-rw-r--r--
pydoc.html
14.33
KB
-rw-r--r--
pyexpat.html
93.28
KB
-rw-r--r--
python.html
13.53
KB
-rw-r--r--
queue.html
29.64
KB
-rw-r--r--
quopri.html
14.5
KB
-rw-r--r--
random.html
47.78
KB
-rw-r--r--
re.html
163.11
KB
-rw-r--r--
readline.html
41.2
KB
-rw-r--r--
repr.html
24.57
KB
-rw-r--r--
resource.html
30.86
KB
-rw-r--r--
restricted.html
12.69
KB
-rw-r--r--
rexec.html
43.59
KB
-rw-r--r--
rfc822.html
51.25
KB
-rw-r--r--
rlcompleter.html
15.29
KB
-rw-r--r--
robotparser.html
15.01
KB
-rw-r--r--
runpy.html
23.55
KB
-rw-r--r--
sched.html
21.76
KB
-rw-r--r--
scrolledtext.html
10.67
KB
-rw-r--r--
select.html
50.17
KB
-rw-r--r--
sets.html
39.92
KB
-rw-r--r--
sgi.html
11.09
KB
-rw-r--r--
sgmllib.html
38.77
KB
-rw-r--r--
sha.html
14.55
KB
-rw-r--r--
shelve.html
32.93
KB
-rw-r--r--
shlex.html
38.43
KB
-rw-r--r--
shutil.html
49.49
KB
-rw-r--r--
signal.html
36.52
KB
-rw-r--r--
simplehttpserver.html
21.57
KB
-rw-r--r--
simplexmlrpcserver.html
40.41
KB
-rw-r--r--
site.html
29
KB
-rw-r--r--
smtpd.html
15.64
KB
-rw-r--r--
smtplib.html
51.86
KB
-rw-r--r--
sndhdr.html
12.05
KB
-rw-r--r--
socket.html
126.94
KB
-rw-r--r--
socketserver.html
81.38
KB
-rw-r--r--
someos.html
17.09
KB
-rw-r--r--
spwd.html
12.25
KB
-rw-r--r--
sqlite3.html
154.12
KB
-rw-r--r--
ssl.html
214.5
KB
-rw-r--r--
stat.html
41.11
KB
-rw-r--r--
statvfs.html
13.24
KB
-rw-r--r--
stdtypes.html
309.83
KB
-rw-r--r--
string.html
129.58
KB
-rw-r--r--
stringio.html
21.1
KB
-rw-r--r--
stringprep.html
21.4
KB
-rw-r--r--
strings.html
16.42
KB
-rw-r--r--
struct.html
47.68
KB
-rw-r--r--
subprocess.html
117
KB
-rw-r--r--
sun.html
7.83
KB
-rw-r--r--
sunau.html
35.43
KB
-rw-r--r--
sunaudio.html
21.05
KB
-rw-r--r--
symbol.html
9.06
KB
-rw-r--r--
symtable.html
29.03
KB
-rw-r--r--
sys.html
118.12
KB
-rw-r--r--
sysconfig.html
28.8
KB
-rw-r--r--
syslog.html
21.29
KB
-rw-r--r--
tabnanny.html
12.78
KB
-rw-r--r--
tarfile.html
99.54
KB
-rw-r--r--
telnetlib.html
30.46
KB
-rw-r--r--
tempfile.html
35.02
KB
-rw-r--r--
termios.html
19.22
KB
-rw-r--r--
test.html
61.42
KB
-rw-r--r--
textwrap.html
32.28
KB
-rw-r--r--
thread.html
22.67
KB
-rw-r--r--
threading.html
92.04
KB
-rw-r--r--
time.html
65.55
KB
-rw-r--r--
timeit.html
44.38
KB
-rw-r--r--
tix.html
56.73
KB
-rw-r--r--
tk.html
26.76
KB
-rw-r--r--
tkinter.html
86.67
KB
-rw-r--r--
token.html
27.31
KB
-rw-r--r--
tokenize.html
21.69
KB
-rw-r--r--
trace.html
33.91
KB
-rw-r--r--
traceback.html
44.22
KB
-rw-r--r--
ttk.html
123.83
KB
-rw-r--r--
tty.html
10.95
KB
-rw-r--r--
turtle.html
246.17
KB
-rw-r--r--
types.html
33.66
KB
-rw-r--r--
undoc.html
25.54
KB
-rw-r--r--
unicodedata.html
22.64
KB
-rw-r--r--
unittest.html
246.75
KB
-rw-r--r--
unix.html
11.9
KB
-rw-r--r--
urllib.html
71.61
KB
-rw-r--r--
urllib2.html
128.77
KB
-rw-r--r--
urlparse.html
49.04
KB
-rw-r--r--
user.html
13.41
KB
-rw-r--r--
userdict.html
32.96
KB
-rw-r--r--
uu.html
13.25
KB
-rw-r--r--
uuid.html
33.55
KB
-rw-r--r--
warnings.html
51.86
KB
-rw-r--r--
wave.html
29.08
KB
-rw-r--r--
weakref.html
41.14
KB
-rw-r--r--
webbrowser.html
29.53
KB
-rw-r--r--
whichdb.html
10.44
KB
-rw-r--r--
windows.html
10.37
KB
-rw-r--r--
winsound.html
22.56
KB
-rw-r--r--
wsgiref.html
94.38
KB
-rw-r--r--
xdrlib.html
38.05
KB
-rw-r--r--
xml.dom.html
110.39
KB
-rw-r--r--
xml.dom.minidom.html
45.23
KB
-rw-r--r--
xml.dom.pulldom.html
16.32
KB
-rw-r--r--
xml.etree.elementtree.html
124.2
KB
-rw-r--r--
xml.html
18.76
KB
-rw-r--r--
xml.sax.handler.html
47.5
KB
-rw-r--r--
xml.sax.html
26.04
KB
-rw-r--r--
xml.sax.reader.html
51.4
KB
-rw-r--r--
xml.sax.utils.html
18.11
KB
-rw-r--r--
xmlrpclib.html
71.79
KB
-rw-r--r--
zipfile.html
67.26
KB
-rw-r--r--
zipimport.html
24.32
KB
-rw-r--r--
zlib.html
34.41
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : sgmllib.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" /> <title>19.2. sgmllib — Simple SGML parser — Python 2.7.18 documentation</title> <link rel="stylesheet" type="text/css" href="../_static/pygments.css" /> <link rel="stylesheet" type="text/css" href="../_static/classic.css" /> <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script> <script src="../_static/jquery.js"></script> <script src="../_static/underscore.js"></script> <script src="../_static/doctools.js"></script> <script src="../_static/sidebar.js"></script> <link rel="search" type="application/opensearchdescription+xml" title="Search within Python 2.7.18 documentation" href="../_static/opensearch.xml"/> <link rel="author" title="About these documents" href="../about.html" /> <link rel="index" title="Index" href="../genindex.html" /> <link rel="search" title="Search" href="../search.html" /> <link rel="copyright" title="Copyright" href="../copyright.html" /> <link rel="next" title="19.3. htmllib — A parser for HTML documents" href="htmllib.html" /> <link rel="prev" title="19.1. HTMLParser — Simple HTML and XHTML parser" href="htmlparser.html" /> <link rel="shortcut icon" type="image/png" href="../_static/py.png" /> <link rel="canonical" href="file:///usr/share/doc/python2.7/html/library/sgmllib.html" /> <script type="text/javascript" src="../_static/copybutton.js"></script> </head><body> <div id="outdated-warning" style="padding: .5em; text-align: center; background-color: #FFBABA; color: #6A0E0E;"> This document is for an old version of Python that is <a href="https://devguide.python.org/devcycle/#end-of-life-branches">no longer supported</a>. You should install the python3 and python3-doc packages and read the <a href="file:///usr/share/doc/python3-doc/html/library/sgmllib.html"> Python documentation for the Python3 version packaged in this release</a>. </div> <div class="related" role="navigation" aria-label="related navigation"> <h3>Navigation</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="../genindex.html" title="General Index" accesskey="I">index</a></li> <li class="right" > <a href="../py-modindex.html" title="Python Module Index" >modules</a> |</li> <li class="right" > <a href="htmllib.html" title="19.3. htmllib — A parser for HTML documents" accesskey="N">next</a> |</li> <li class="right" > <a href="htmlparser.html" title="19.1. HTMLParser — Simple HTML and XHTML parser" accesskey="P">previous</a> |</li> <li><img src="../_static/py.png" alt="" style="vertical-align: middle; margin-top: -1px"/></li> <li><a href="https://www.python.org/">Python</a> »</li> <li> <a href="../index.html">Python 2.7.18 documentation</a> » </li> <li class="nav-item nav-item-1"><a href="index.html" >The Python Standard Library</a> »</li> <li class="nav-item nav-item-2"><a href="markup.html" accesskey="U"><span class="section-number">19. </span>Structured Markup Processing Tools</a> »</li> <li class="nav-item nav-item-this"><a href=""><span class="section-number">19.2. </span><code class="xref py py-mod docutils literal notranslate"><span class="pre">sgmllib</span></code> — Simple SGML parser</a></li> </ul> </div> <div class="document"> <div class="documentwrapper"> <div class="bodywrapper"> <div class="body" role="main"> <section id="module-sgmllib"> <span id="sgmllib-simple-sgml-parser"></span><h1><span class="section-number">19.2. </span><a class="reference internal" href="#module-sgmllib" title="sgmllib: Only as much of an SGML parser as needed to parse HTML. (deprecated)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sgmllib</span></code></a> — Simple SGML parser<a class="headerlink" href="#module-sgmllib" title="Permalink to this headline">¶</a></h1> <div class="deprecated"> <p><span class="versionmodified deprecated">Deprecated since version 2.6: </span>The <a class="reference internal" href="#module-sgmllib" title="sgmllib: Only as much of an SGML parser as needed to parse HTML. (deprecated)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sgmllib</span></code></a> module has been removed in Python 3.</p> </div> <p id="index-0">This module defines a class <a class="reference internal" href="#sgmllib.SGMLParser" title="sgmllib.SGMLParser"><code class="xref py py-class docutils literal notranslate"><span class="pre">SGMLParser</span></code></a> which serves as the basis for parsing text files formatted in SGML (Standard Generalized Mark-up Language). In fact, it does not provide a full SGML parser — it only parses SGML insofar as it is used by HTML, and the module only exists as a base for the <a class="reference internal" href="htmllib.html#module-htmllib" title="htmllib: A parser for HTML documents. (deprecated)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">htmllib</span></code></a> module. Another HTML parser which supports XHTML and offers a somewhat different interface is available in the <a class="reference internal" href="htmlparser.html#module-HTMLParser" title="HTMLParser: A simple parser that can handle HTML and XHTML."><code class="xref py py-mod docutils literal notranslate"><span class="pre">HTMLParser</span></code></a> module.</p> <dl class="py class"> <dt class="sig sig-object py" id="sgmllib.SGMLParser"> <em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">sgmllib.</span></span><span class="sig-name descname"><span class="pre">SGMLParser</span></span><a class="headerlink" href="#sgmllib.SGMLParser" title="Permalink to this definition">¶</a></dt> <dd><p>The <a class="reference internal" href="#sgmllib.SGMLParser" title="sgmllib.SGMLParser"><code class="xref py py-class docutils literal notranslate"><span class="pre">SGMLParser</span></code></a> class is instantiated without arguments. The parser is hardcoded to recognize the following constructs:</p> <ul class="simple"> <li><p>Opening and closing tags of the form <code class="docutils literal notranslate"><span class="pre"><tag</span> <span class="pre">attr="value"</span> <span class="pre">...></span></code> and <code class="docutils literal notranslate"><span class="pre"></tag></span></code>, respectively.</p></li> <li><p>Numeric character references of the form <code class="docutils literal notranslate"><span class="pre">&#name;</span></code>.</p></li> <li><p>Entity references of the form <code class="docutils literal notranslate"><span class="pre">&name;</span></code>.</p></li> <li><p>SGML comments of the form <code class="docutils literal notranslate"><span class="pre"><!--text--></span></code>. Note that spaces, tabs, and newlines are allowed between the trailing <code class="docutils literal notranslate"><span class="pre">></span></code> and the immediately preceding <code class="docutils literal notranslate"><span class="pre">--</span></code>.</p></li> </ul> </dd></dl> <p>A single exception is defined as well:</p> <dl class="py exception"> <dt class="sig sig-object py" id="sgmllib.SGMLParseError"> <em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">sgmllib.</span></span><span class="sig-name descname"><span class="pre">SGMLParseError</span></span><a class="headerlink" href="#sgmllib.SGMLParseError" title="Permalink to this definition">¶</a></dt> <dd><p>Exception raised by the <a class="reference internal" href="#sgmllib.SGMLParser" title="sgmllib.SGMLParser"><code class="xref py py-class docutils literal notranslate"><span class="pre">SGMLParser</span></code></a> class when it encounters an error while parsing.</p> <div class="versionadded"> <p><span class="versionmodified added">New in version 2.1.</span></p> </div> </dd></dl> <p><a class="reference internal" href="#sgmllib.SGMLParser" title="sgmllib.SGMLParser"><code class="xref py py-class docutils literal notranslate"><span class="pre">SGMLParser</span></code></a> instances have the following methods:</p> <dl class="py method"> <dt class="sig sig-object py" id="sgmllib.SGMLParser.reset"> <span class="sig-prename descclassname"><span class="pre">SGMLParser.</span></span><span class="sig-name descname"><span class="pre">reset</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#sgmllib.SGMLParser.reset" title="Permalink to this definition">¶</a></dt> <dd><p>Reset the instance. Loses all unprocessed data. This is called implicitly at instantiation time.</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="sgmllib.SGMLParser.setnomoretags"> <span class="sig-prename descclassname"><span class="pre">SGMLParser.</span></span><span class="sig-name descname"><span class="pre">setnomoretags</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#sgmllib.SGMLParser.setnomoretags" title="Permalink to this definition">¶</a></dt> <dd><p>Stop processing tags. Treat all following input as literal input (CDATA). (This is only provided so the HTML tag <code class="docutils literal notranslate"><span class="pre"><PLAINTEXT></span></code> can be implemented.)</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="sgmllib.SGMLParser.setliteral"> <span class="sig-prename descclassname"><span class="pre">SGMLParser.</span></span><span class="sig-name descname"><span class="pre">setliteral</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#sgmllib.SGMLParser.setliteral" title="Permalink to this definition">¶</a></dt> <dd><p>Enter literal mode (CDATA mode).</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="sgmllib.SGMLParser.feed"> <span class="sig-prename descclassname"><span class="pre">SGMLParser.</span></span><span class="sig-name descname"><span class="pre">feed</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#sgmllib.SGMLParser.feed" title="Permalink to this definition">¶</a></dt> <dd><p>Feed some text to the parser. It is processed insofar as it consists of complete elements; incomplete data is buffered until more data is fed or <a class="reference internal" href="#sgmllib.SGMLParser.close" title="sgmllib.SGMLParser.close"><code class="xref py py-meth docutils literal notranslate"><span class="pre">close()</span></code></a> is called.</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="sgmllib.SGMLParser.close"> <span class="sig-prename descclassname"><span class="pre">SGMLParser.</span></span><span class="sig-name descname"><span class="pre">close</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#sgmllib.SGMLParser.close" title="Permalink to this definition">¶</a></dt> <dd><p>Force processing of all buffered data as if it were followed by an end-of-file mark. This method may be redefined by a derived class to define additional processing at the end of the input, but the redefined version should always call <a class="reference internal" href="#sgmllib.SGMLParser.close" title="sgmllib.SGMLParser.close"><code class="xref py py-meth docutils literal notranslate"><span class="pre">close()</span></code></a>.</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="sgmllib.SGMLParser.get_starttag_text"> <span class="sig-prename descclassname"><span class="pre">SGMLParser.</span></span><span class="sig-name descname"><span class="pre">get_starttag_text</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#sgmllib.SGMLParser.get_starttag_text" title="Permalink to this definition">¶</a></dt> <dd><p>Return the text of the most recently opened start tag. This should not normally be needed for structured processing, but may be useful in dealing with HTML “as deployed” or for re-generating input with minimal changes (whitespace between attributes can be preserved, etc.).</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="sgmllib.SGMLParser.handle_starttag"> <span class="sig-prename descclassname"><span class="pre">SGMLParser.</span></span><span class="sig-name descname"><span class="pre">handle_starttag</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tag</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">attributes</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#sgmllib.SGMLParser.handle_starttag" title="Permalink to this definition">¶</a></dt> <dd><p>This method is called to handle start tags for which either a <code class="xref py py-meth docutils literal notranslate"><span class="pre">start_tag()</span></code> or <code class="xref py py-meth docutils literal notranslate"><span class="pre">do_tag()</span></code> method has been defined. The <em>tag</em> argument is the name of the tag converted to lower case, and the <em>method</em> argument is the bound method which should be used to support semantic interpretation of the start tag. The <em>attributes</em> argument is a list of <code class="docutils literal notranslate"><span class="pre">(name,</span> <span class="pre">value)</span></code> pairs containing the attributes found inside the tag’s <code class="docutils literal notranslate"><span class="pre"><></span></code> brackets.</p> <p>The <em>name</em> has been translated to lower case. Double quotes and backslashes in the <em>value</em> have been interpreted, as well as known character references and known entity references terminated by a semicolon (normally, entity references can be terminated by any non-alphanumerical character, but this would break the very common case of <code class="docutils literal notranslate"><span class="pre"><A</span> <span class="pre">HREF="url?spam=1&eggs=2"></span></code> when <code class="docutils literal notranslate"><span class="pre">eggs</span></code> is a valid entity name).</p> <p>For instance, for the tag <code class="docutils literal notranslate"><span class="pre"><A</span> <span class="pre">HREF="http://www.cwi.nl/"></span></code>, this method would be called as <code class="docutils literal notranslate"><span class="pre">unknown_starttag('a',</span> <span class="pre">[('href',</span> <span class="pre">'http://www.cwi.nl/')])</span></code>. The base implementation simply calls <em>method</em> with <em>attributes</em> as the only argument.</p> <div class="versionadded"> <p><span class="versionmodified added">New in version 2.5: </span>Handling of entity and character references within attribute values.</p> </div> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="sgmllib.SGMLParser.handle_endtag"> <span class="sig-prename descclassname"><span class="pre">SGMLParser.</span></span><span class="sig-name descname"><span class="pre">handle_endtag</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tag</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#sgmllib.SGMLParser.handle_endtag" title="Permalink to this definition">¶</a></dt> <dd><p>This method is called to handle endtags for which an <code class="xref py py-meth docutils literal notranslate"><span class="pre">end_tag()</span></code> method has been defined. The <em>tag</em> argument is the name of the tag converted to lower case, and the <em>method</em> argument is the bound method which should be used to support semantic interpretation of the end tag. If no <code class="xref py py-meth docutils literal notranslate"><span class="pre">end_tag()</span></code> method is defined for the closing element, this handler is not called. The base implementation simply calls <em>method</em>.</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="sgmllib.SGMLParser.handle_data"> <span class="sig-prename descclassname"><span class="pre">SGMLParser.</span></span><span class="sig-name descname"><span class="pre">handle_data</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#sgmllib.SGMLParser.handle_data" title="Permalink to this definition">¶</a></dt> <dd><p>This method is called to process arbitrary data. It is intended to be overridden by a derived class; the base class implementation does nothing.</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="sgmllib.SGMLParser.handle_charref"> <span class="sig-prename descclassname"><span class="pre">SGMLParser.</span></span><span class="sig-name descname"><span class="pre">handle_charref</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ref</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#sgmllib.SGMLParser.handle_charref" title="Permalink to this definition">¶</a></dt> <dd><p>This method is called to process a character reference of the form <code class="docutils literal notranslate"><span class="pre">&#ref;</span></code>. The base implementation uses <a class="reference internal" href="#sgmllib.SGMLParser.convert_charref" title="sgmllib.SGMLParser.convert_charref"><code class="xref py py-meth docutils literal notranslate"><span class="pre">convert_charref()</span></code></a> to convert the reference to a string. If that method returns a string, it is passed to <a class="reference internal" href="#sgmllib.SGMLParser.handle_data" title="sgmllib.SGMLParser.handle_data"><code class="xref py py-meth docutils literal notranslate"><span class="pre">handle_data()</span></code></a>, otherwise <code class="docutils literal notranslate"><span class="pre">unknown_charref(ref)</span></code> is called to handle the error.</p> <div class="versionchanged"> <p><span class="versionmodified changed">Changed in version 2.5: </span>Use <a class="reference internal" href="#sgmllib.SGMLParser.convert_charref" title="sgmllib.SGMLParser.convert_charref"><code class="xref py py-meth docutils literal notranslate"><span class="pre">convert_charref()</span></code></a> instead of hard-coding the conversion.</p> </div> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="sgmllib.SGMLParser.convert_charref"> <span class="sig-prename descclassname"><span class="pre">SGMLParser.</span></span><span class="sig-name descname"><span class="pre">convert_charref</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ref</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#sgmllib.SGMLParser.convert_charref" title="Permalink to this definition">¶</a></dt> <dd><p>Convert a character reference to a string, or <code class="docutils literal notranslate"><span class="pre">None</span></code>. <em>ref</em> is the reference passed in as a string. In the base implementation, <em>ref</em> must be a decimal number in the range 0–255. It converts the code point found using the <a class="reference internal" href="#sgmllib.SGMLParser.convert_codepoint" title="sgmllib.SGMLParser.convert_codepoint"><code class="xref py py-meth docutils literal notranslate"><span class="pre">convert_codepoint()</span></code></a> method. If <em>ref</em> is invalid or out of range, this method returns <code class="docutils literal notranslate"><span class="pre">None</span></code>. This method is called by the default <a class="reference internal" href="#sgmllib.SGMLParser.handle_charref" title="sgmllib.SGMLParser.handle_charref"><code class="xref py py-meth docutils literal notranslate"><span class="pre">handle_charref()</span></code></a> implementation and by the attribute value parser.</p> <div class="versionadded"> <p><span class="versionmodified added">New in version 2.5.</span></p> </div> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="sgmllib.SGMLParser.convert_codepoint"> <span class="sig-prename descclassname"><span class="pre">SGMLParser.</span></span><span class="sig-name descname"><span class="pre">convert_codepoint</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">codepoint</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#sgmllib.SGMLParser.convert_codepoint" title="Permalink to this definition">¶</a></dt> <dd><p>Convert a code point to a <a class="reference internal" href="functions.html#str" title="str"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> value. Encodings can be handled here if appropriate, though the rest of <a class="reference internal" href="#module-sgmllib" title="sgmllib: Only as much of an SGML parser as needed to parse HTML. (deprecated)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sgmllib</span></code></a> is oblivious on this matter.</p> <div class="versionadded"> <p><span class="versionmodified added">New in version 2.5.</span></p> </div> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="sgmllib.SGMLParser.handle_entityref"> <span class="sig-prename descclassname"><span class="pre">SGMLParser.</span></span><span class="sig-name descname"><span class="pre">handle_entityref</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ref</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#sgmllib.SGMLParser.handle_entityref" title="Permalink to this definition">¶</a></dt> <dd><p>This method is called to process a general entity reference of the form <code class="docutils literal notranslate"><span class="pre">&ref;</span></code> where <em>ref</em> is a general entity reference. It converts <em>ref</em> by passing it to <a class="reference internal" href="#sgmllib.SGMLParser.convert_entityref" title="sgmllib.SGMLParser.convert_entityref"><code class="xref py py-meth docutils literal notranslate"><span class="pre">convert_entityref()</span></code></a>. If a translation is returned, it calls the method <a class="reference internal" href="#sgmllib.SGMLParser.handle_data" title="sgmllib.SGMLParser.handle_data"><code class="xref py py-meth docutils literal notranslate"><span class="pre">handle_data()</span></code></a> with the translation; otherwise, it calls the method <code class="docutils literal notranslate"><span class="pre">unknown_entityref(ref)</span></code>. The default <code class="xref py py-attr docutils literal notranslate"><span class="pre">entitydefs</span></code> defines translations for <code class="docutils literal notranslate"><span class="pre">&amp;</span></code>, <code class="docutils literal notranslate"><span class="pre">&apos;</span></code>, <code class="docutils literal notranslate"><span class="pre">&gt;</span></code>, <code class="docutils literal notranslate"><span class="pre">&lt;</span></code>, and <code class="docutils literal notranslate"><span class="pre">&quot;</span></code>.</p> <div class="versionchanged"> <p><span class="versionmodified changed">Changed in version 2.5: </span>Use <a class="reference internal" href="#sgmllib.SGMLParser.convert_entityref" title="sgmllib.SGMLParser.convert_entityref"><code class="xref py py-meth docutils literal notranslate"><span class="pre">convert_entityref()</span></code></a> instead of hard-coding the conversion.</p> </div> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="sgmllib.SGMLParser.convert_entityref"> <span class="sig-prename descclassname"><span class="pre">SGMLParser.</span></span><span class="sig-name descname"><span class="pre">convert_entityref</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ref</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#sgmllib.SGMLParser.convert_entityref" title="Permalink to this definition">¶</a></dt> <dd><p>Convert a named entity reference to a <a class="reference internal" href="functions.html#str" title="str"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> value, or <code class="docutils literal notranslate"><span class="pre">None</span></code>. The resulting value will not be parsed. <em>ref</em> will be only the name of the entity. The default implementation looks for <em>ref</em> in the instance (or class) variable <code class="xref py py-attr docutils literal notranslate"><span class="pre">entitydefs</span></code> which should be a mapping from entity names to corresponding translations. If no translation is available for <em>ref</em>, this method returns <code class="docutils literal notranslate"><span class="pre">None</span></code>. This method is called by the default <a class="reference internal" href="#sgmllib.SGMLParser.handle_entityref" title="sgmllib.SGMLParser.handle_entityref"><code class="xref py py-meth docutils literal notranslate"><span class="pre">handle_entityref()</span></code></a> implementation and by the attribute value parser.</p> <div class="versionadded"> <p><span class="versionmodified added">New in version 2.5.</span></p> </div> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="sgmllib.SGMLParser.handle_comment"> <span class="sig-prename descclassname"><span class="pre">SGMLParser.</span></span><span class="sig-name descname"><span class="pre">handle_comment</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">comment</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#sgmllib.SGMLParser.handle_comment" title="Permalink to this definition">¶</a></dt> <dd><p>This method is called when a comment is encountered. The <em>comment</em> argument is a string containing the text between the <code class="docutils literal notranslate"><span class="pre"><!--</span></code> and <code class="docutils literal notranslate"><span class="pre">--></span></code> delimiters, but not the delimiters themselves. For example, the comment <code class="docutils literal notranslate"><span class="pre"><!--text--></span></code> will cause this method to be called with the argument <code class="docutils literal notranslate"><span class="pre">'text'</span></code>. The default method does nothing.</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="sgmllib.SGMLParser.handle_decl"> <span class="sig-prename descclassname"><span class="pre">SGMLParser.</span></span><span class="sig-name descname"><span class="pre">handle_decl</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#sgmllib.SGMLParser.handle_decl" title="Permalink to this definition">¶</a></dt> <dd><p>Method called when an SGML declaration is read by the parser. In practice, the <code class="docutils literal notranslate"><span class="pre">DOCTYPE</span></code> declaration is the only thing observed in HTML, but the parser does not discriminate among different (or broken) declarations. Internal subsets in a <code class="docutils literal notranslate"><span class="pre">DOCTYPE</span></code> declaration are not supported. The <em>data</em> parameter will be the entire contents of the declaration inside the <code class="docutils literal notranslate"><span class="pre"><!</span></code>…<code class="docutils literal notranslate"><span class="pre">></span></code> markup. The default implementation does nothing.</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="sgmllib.SGMLParser.report_unbalanced"> <span class="sig-prename descclassname"><span class="pre">SGMLParser.</span></span><span class="sig-name descname"><span class="pre">report_unbalanced</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tag</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#sgmllib.SGMLParser.report_unbalanced" title="Permalink to this definition">¶</a></dt> <dd><p>This method is called when an end tag is found which does not correspond to any open element.</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="sgmllib.SGMLParser.unknown_starttag"> <span class="sig-prename descclassname"><span class="pre">SGMLParser.</span></span><span class="sig-name descname"><span class="pre">unknown_starttag</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tag</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">attributes</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#sgmllib.SGMLParser.unknown_starttag" title="Permalink to this definition">¶</a></dt> <dd><p>This method is called to process an unknown start tag. It is intended to be overridden by a derived class; the base class implementation does nothing.</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="sgmllib.SGMLParser.unknown_endtag"> <span class="sig-prename descclassname"><span class="pre">SGMLParser.</span></span><span class="sig-name descname"><span class="pre">unknown_endtag</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tag</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#sgmllib.SGMLParser.unknown_endtag" title="Permalink to this definition">¶</a></dt> <dd><p>This method is called to process an unknown end tag. It is intended to be overridden by a derived class; the base class implementation does nothing.</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="sgmllib.SGMLParser.unknown_charref"> <span class="sig-prename descclassname"><span class="pre">SGMLParser.</span></span><span class="sig-name descname"><span class="pre">unknown_charref</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ref</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#sgmllib.SGMLParser.unknown_charref" title="Permalink to this definition">¶</a></dt> <dd><p>This method is called to process unresolvable numeric character references. Refer to <a class="reference internal" href="#sgmllib.SGMLParser.handle_charref" title="sgmllib.SGMLParser.handle_charref"><code class="xref py py-meth docutils literal notranslate"><span class="pre">handle_charref()</span></code></a> to determine what is handled by default. It is intended to be overridden by a derived class; the base class implementation does nothing.</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="sgmllib.SGMLParser.unknown_entityref"> <span class="sig-prename descclassname"><span class="pre">SGMLParser.</span></span><span class="sig-name descname"><span class="pre">unknown_entityref</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ref</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#sgmllib.SGMLParser.unknown_entityref" title="Permalink to this definition">¶</a></dt> <dd><p>This method is called to process an unknown entity reference. It is intended to be overridden by a derived class; the base class implementation does nothing.</p> </dd></dl> <p>Apart from overriding or extending the methods listed above, derived classes may also define methods of the following form to define processing of specific tags. Tag names in the input stream are case independent; the <em>tag</em> occurring in method names must be in lower case:</p> <dl class="py method"> <dt class="sig sig-object py"> <span class="sig-prename descclassname"><span class="pre">SGMLParser.</span></span><span class="sig-name descname"><span class="pre">start_tag</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">attributes</span></span></em><span class="sig-paren">)</span></dt> <dd><p>This method is called to process an opening tag <em>tag</em>. It has preference over <code class="xref py py-meth docutils literal notranslate"><span class="pre">do_tag()</span></code>. The <em>attributes</em> argument has the same meaning as described for <a class="reference internal" href="#sgmllib.SGMLParser.handle_starttag" title="sgmllib.SGMLParser.handle_starttag"><code class="xref py py-meth docutils literal notranslate"><span class="pre">handle_starttag()</span></code></a> above.</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py"> <span class="sig-prename descclassname"><span class="pre">SGMLParser.</span></span><span class="sig-name descname"><span class="pre">do_tag</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">attributes</span></span></em><span class="sig-paren">)</span></dt> <dd><p>This method is called to process an opening tag <em>tag</em> for which no <code class="xref py py-meth docutils literal notranslate"><span class="pre">start_tag()</span></code> method is defined. The <em>attributes</em> argument has the same meaning as described for <a class="reference internal" href="#sgmllib.SGMLParser.handle_starttag" title="sgmllib.SGMLParser.handle_starttag"><code class="xref py py-meth docutils literal notranslate"><span class="pre">handle_starttag()</span></code></a> above.</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py"> <span class="sig-prename descclassname"><span class="pre">SGMLParser.</span></span><span class="sig-name descname"><span class="pre">end_tag</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span></dt> <dd><p>This method is called to process a closing tag <em>tag</em>.</p> </dd></dl> <p>Note that the parser maintains a stack of open elements for which no end tag has been found yet. Only tags processed by <code class="xref py py-meth docutils literal notranslate"><span class="pre">start_tag()</span></code> are pushed on this stack. Definition of an <code class="xref py py-meth docutils literal notranslate"><span class="pre">end_tag()</span></code> method is optional for these tags. For tags processed by <code class="xref py py-meth docutils literal notranslate"><span class="pre">do_tag()</span></code> or by <code class="xref py py-meth docutils literal notranslate"><span class="pre">unknown_tag()</span></code>, no <code class="xref py py-meth docutils literal notranslate"><span class="pre">end_tag()</span></code> method must be defined; if defined, it will not be used. If both <code class="xref py py-meth docutils literal notranslate"><span class="pre">start_tag()</span></code> and <code class="xref py py-meth docutils literal notranslate"><span class="pre">do_tag()</span></code> methods exist for a tag, the <code class="xref py py-meth docutils literal notranslate"><span class="pre">start_tag()</span></code> method takes precedence.</p> </section> <div class="clearer"></div> </div> </div> </div> <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> <div class="sphinxsidebarwrapper"> <h4>Previous topic</h4> <p class="topless"><a href="htmlparser.html" title="previous chapter"><span class="section-number">19.1. </span><code class="xref py py-mod docutils literal notranslate"><span class="pre">HTMLParser</span></code> — Simple HTML and XHTML parser</a></p> <h4>Next topic</h4> <p class="topless"><a href="htmllib.html" title="next chapter"><span class="section-number">19.3. </span><code class="xref py py-mod docutils literal notranslate"><span class="pre">htmllib</span></code> — A parser for HTML documents</a></p> <div role="note" aria-label="source link"> <h3>This Page</h3> <ul class="this-page-menu"> <li><a href="../_sources/library/sgmllib.rst.txt" rel="nofollow">Show Source</a></li> </ul> </div> <div id="searchbox" style="display: none" role="search"> <h3 id="searchlabel">Quick search</h3> <div class="searchformwrapper"> <form class="search" action="../search.html" method="get"> <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/> <input type="submit" value="Go" /> </form> </div> </div> <script>$('#searchbox').show(0);</script> </div> </div> <div class="clearer"></div> </div> <div class="related" role="navigation" aria-label="related navigation"> <h3>Navigation</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="../genindex.html" title="General Index" >index</a></li> <li class="right" > <a href="../py-modindex.html" title="Python Module Index" >modules</a> |</li> <li class="right" > <a href="htmllib.html" title="19.3. htmllib — A parser for HTML documents" >next</a> |</li> <li class="right" > <a href="htmlparser.html" title="19.1. HTMLParser — Simple HTML and XHTML parser" >previous</a> |</li> <li><img src="../_static/py.png" alt="" style="vertical-align: middle; margin-top: -1px"/></li> <li><a href="https://www.python.org/">Python</a> »</li> <li> <a href="../index.html">Python 2.7.18 documentation</a> » </li> <li class="nav-item nav-item-1"><a href="index.html" >The Python Standard Library</a> »</li> <li class="nav-item nav-item-2"><a href="markup.html" ><span class="section-number">19. </span>Structured Markup Processing Tools</a> »</li> <li class="nav-item nav-item-this"><a href=""><span class="section-number">19.2. </span><code class="xref py py-mod docutils literal notranslate"><span class="pre">sgmllib</span></code> — Simple SGML parser</a></li> </ul> </div> <div class="footer"> © <a href="../copyright.html">Copyright</a> 1990-2024, Python Software Foundation. <br /> The Python Software Foundation is a non-profit corporation. <a href="https://www.python.org/psf/donations/">Please donate.</a> <br /> Last updated on December 09, 2024. <a href="../bugs.html">Found a bug</a>? <br /> Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 4.3.2. </div> </body> </html>
Close