\doxysection{Milter.\+sgmllib.\+SGMLParser Class Reference}
\label{classMilter_1_1sgmllib_1_1SGMLParser}\index{Milter.sgmllib.SGMLParser@{Milter.sgmllib.SGMLParser}}
Inheritance diagram for Milter.\+sgmllib.\+SGMLParser\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{classMilter_1_1sgmllib_1_1SGMLParser}
\end{center}
\end{figure}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\textbf{ \+\_\+\+\_\+init\+\_\+\+\_\+} (self, verbose=0)
\item 
\textbf{ reset} (self)
\item 
\textbf{ setnomoretags} (self)
\item 
\textbf{ setliteral} (self, $\ast$args)
\item 
\textbf{ feed} (self, data)
\item 
\textbf{ close} (self)
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_aec0e8dd32fbb18b0100e8444392ac532} 
{\bfseries error} (self, message)
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_a6148208606e1ef5b9376b25b80c1a689} 
{\bfseries goahead} (self, end)
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_aa245be11b738ff12b7124656e27e0616} 
{\bfseries parse\+\_\+pi} (self, i)
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_a490f6988d1337a869d586e20773a3d41} 
{\bfseries get\+\_\+starttag\+\_\+text} (self)
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_a0cecd15edf92d08b141930e5ea87cf0c} 
{\bfseries parse\+\_\+starttag} (self, i)
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_a1a83d9c67ec3147cf99313c0a216f1bb} 
{\bfseries parse\+\_\+endtag} (self, i)
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_a1610c43f2745d9b03eae718589d630af} 
{\bfseries finish\+\_\+shorttag} (self, tag, data)
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_aec308acff05faa1bf37b884bf2328b8c} 
{\bfseries finish\+\_\+starttag} (self, tag, attrs)
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_a9d3cda9551166b97258bce48dc06cc48} 
{\bfseries finish\+\_\+endtag} (self, tag)
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_a2bbbb7753dda23896598d7fd5f7e159b} 
{\bfseries handle\+\_\+starttag} (self, tag, method, attrs)
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_a7bbeec8e4a7926f27a0907e746722589} 
{\bfseries handle\+\_\+endtag} (self, tag, method)
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_add4566bc4d04428bafd71bed9faf9f03} 
{\bfseries report\+\_\+unbalanced} (self, tag)
\item 
\textbf{ convert\+\_\+charref} (self, name)
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_ad0af0119beb3ea1b9ff2b52080f64ec6} 
{\bfseries convert\+\_\+codepoint} (self, codepoint)
\item 
\textbf{ handle\+\_\+charref} (self, name)
\item 
\textbf{ convert\+\_\+entityref} (self, name)
\item 
\textbf{ handle\+\_\+entityref} (self, name)
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_a5923bea4a45b86fb17bdfbfb84d1cb48} 
{\bfseries handle\+\_\+data} (self, data)
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_a0879188f8573fd95a131ebff9fd4c893} 
{\bfseries handle\+\_\+comment} (self, data)
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_a8cd89ecdf7a1485e2dbbc1dac473703c} 
{\bfseries handle\+\_\+decl} (self, decl)
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_afd2053c5fadfcf3e659c92238dbbf584} 
{\bfseries handle\+\_\+pi} (self, data)
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_a2a3b158868393badfcf3b7c160d7d860} 
{\bfseries unknown\+\_\+starttag} (self, tag, attrs)
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_a3fec93e839a38c92b0bbae20172e4a61} 
{\bfseries unknown\+\_\+endtag} (self, tag)
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_a62408dce2d39e99be4a7ac45d4898b5f} 
{\bfseries unknown\+\_\+charref} (self, ref)
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_a6057a5b6988072ca0ba11b825d988591} 
{\bfseries unknown\+\_\+entityref} (self, ref)
\end{DoxyCompactItemize}
\doxysubsubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_a23c9a956f8e32b30ca7c0e415ecbc77f} 
{\bfseries verbose} = verbose
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_a5f75c284ac6c640b2558b1842caf89dd} 
str {\bfseries rawdata} = \textquotesingle{}\textquotesingle{}
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_afde104b9c6f8350e532deffcf795a34e} 
list {\bfseries stack} = [$\,$]
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_a7e2bbe95ef15d62d079ae98ce7440bc9} 
str {\bfseries lasttag} = \textquotesingle{}???\textquotesingle{}
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_a78141ab761048b8fc94a0d74f63c0e21} 
int {\bfseries nomoretags} = 0
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_a2874b3c38c640d4b9edb37e43e4bc143} 
int {\bfseries literal} = 0
\end{DoxyCompactItemize}
\doxysubsubsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
\textbf{ entity\+\_\+or\+\_\+charref}
\item 
dict \textbf{ entitydefs}
\end{DoxyCompactItemize}
\doxysubsubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_a32df606415837d3bc467aaa96cadf4b3} 
{\bfseries \+\_\+convert\+\_\+ref} (self, match)
\end{DoxyCompactItemize}
\doxysubsubsection*{Static Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_a145a3f92428de653e436dab3db413d7a} 
str {\bfseries \+\_\+decl\+\_\+otherchars} = \textquotesingle{}=\textquotesingle{}
\end{DoxyCompactItemize}
\doxysubsubsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\label{classMilter_1_1sgmllib_1_1SGMLParser_a3c3e721fc76da0b8160a17a54b65194e} 
str {\bfseries \+\_\+\+\_\+starttag\+\_\+text} = None
\end{DoxyCompactItemize}


\label{doc-constructors}
\doxysubsection{Constructor \& Destructor Documentation}
\index{Milter.sgmllib.SGMLParser@{Milter.sgmllib.SGMLParser}!\_\_init\_\_@{\_\_init\_\_}}
\index{\_\_init\_\_@{\_\_init\_\_}!Milter.sgmllib.SGMLParser@{Milter.sgmllib.SGMLParser}}
\doxysubsubsection{\_\_init\_\_()}
{\footnotesize\ttfamily \label{classMilter_1_1sgmllib_1_1SGMLParser_a601faddf6cc7d26300b3cb475e03c122} 
Milter.\+sgmllib.\+SGMLParser.\+\_\+\+\_\+init\+\_\+\+\_\+ (\begin{DoxyParamCaption}\item[{}]{self}{, }\item[{}]{verbose}{ = {\ttfamily 0}}\end{DoxyParamCaption})}

\begin{DoxyVerb}Initialize and reset this instance.\end{DoxyVerb}
 

References \textbf{ reset()}, and verbose.



\label{doc-func-members}
\doxysubsection{Member Function Documentation}
\index{Milter.sgmllib.SGMLParser@{Milter.sgmllib.SGMLParser}!close@{close}}
\index{close@{close}!Milter.sgmllib.SGMLParser@{Milter.sgmllib.SGMLParser}}
\doxysubsubsection{close()}
{\footnotesize\ttfamily \label{classMilter_1_1sgmllib_1_1SGMLParser_abbb4a48e7dc685db67b36410d294701f} 
Milter.\+sgmllib.\+SGMLParser.\+close (\begin{DoxyParamCaption}\item[{}]{self}{}\end{DoxyParamCaption})}

\begin{DoxyVerb}Handle the remaining data.\end{DoxyVerb}
 

Reimplemented in \textbf{ Milter.\+sgmllib.\+Test\+SGMLParser} \doxyref{}{p.}{classMilter_1_1sgmllib_1_1TestSGMLParser_ae367febaca0044fa8cc258bb32bbe918}.



References \+\_\+\+\_\+starttag\+\_\+text, \+\_\+convert\+\_\+ref(), \textbf{ convert\+\_\+charref()}, \textbf{ convert\+\_\+entityref()}, entity\+\_\+or\+\_\+charref, error(), finish\+\_\+endtag(), finish\+\_\+shorttag(), finish\+\_\+starttag(), goahead(), \textbf{ handle\+\_\+charref()}, mime.\+SGMLFilter.\+handle\+\_\+charref(), handle\+\_\+data(), mime.\+HTMLScript\+Filter.\+handle\+\_\+data(), mime.\+SGMLFilter.\+handle\+\_\+data(), handle\+\_\+endtag(), \textbf{ handle\+\_\+entityref()}, mime.\+SGMLFilter.\+handle\+\_\+entityref(), handle\+\_\+pi(), handle\+\_\+starttag(), lasttag, literal, nomoretags, mime.\+SGMLFilter.\+parse\+\_\+declaration(), parse\+\_\+endtag(), parse\+\_\+pi(), parse\+\_\+starttag(), rawdata, report\+\_\+unbalanced(), stack, unknown\+\_\+endtag(), mime.\+SGMLFilter.\+unknown\+\_\+endtag(), unknown\+\_\+starttag(), mime.\+SGMLFilter.\+unknown\+\_\+starttag(), and verbose.



Referenced by \textbf{ Milter.\+test.\+Test\+Base.\+connect()}, and \textbf{ Milter.\+test.\+Test\+Base.\+feed\+File()}.

\index{Milter.sgmllib.SGMLParser@{Milter.sgmllib.SGMLParser}!convert\_charref@{convert\_charref}}
\index{convert\_charref@{convert\_charref}!Milter.sgmllib.SGMLParser@{Milter.sgmllib.SGMLParser}}
\doxysubsubsection{convert\_charref()}
{\footnotesize\ttfamily \label{classMilter_1_1sgmllib_1_1SGMLParser_a276c7cc6bf25bad010a61575e62ab5bf} 
Milter.\+sgmllib.\+SGMLParser.\+convert\+\_\+charref (\begin{DoxyParamCaption}\item[{}]{self}{, }\item[{}]{name}{}\end{DoxyParamCaption})}

\begin{DoxyVerb}Convert character reference, may be overridden.\end{DoxyVerb}
 

References convert\+\_\+codepoint().



Referenced by \textbf{ close()}, and \textbf{ handle\+\_\+charref()}.

\index{Milter.sgmllib.SGMLParser@{Milter.sgmllib.SGMLParser}!convert\_entityref@{convert\_entityref}}
\index{convert\_entityref@{convert\_entityref}!Milter.sgmllib.SGMLParser@{Milter.sgmllib.SGMLParser}}
\doxysubsubsection{convert\_entityref()}
{\footnotesize\ttfamily \label{classMilter_1_1sgmllib_1_1SGMLParser_a1e35c263c7666c015da34a41ac417975} 
Milter.\+sgmllib.\+SGMLParser.\+convert\+\_\+entityref (\begin{DoxyParamCaption}\item[{}]{self}{, }\item[{}]{name}{}\end{DoxyParamCaption})}

\begin{DoxyVerb}Convert entity references.

As an alternative to overriding this method; one can tailor the
results by setting up the self.entitydefs mapping appropriately.
\end{DoxyVerb}
 

References entitydefs.



Referenced by \textbf{ close()}, and \textbf{ handle\+\_\+entityref()}.

\index{Milter.sgmllib.SGMLParser@{Milter.sgmllib.SGMLParser}!feed@{feed}}
\index{feed@{feed}!Milter.sgmllib.SGMLParser@{Milter.sgmllib.SGMLParser}}
\doxysubsubsection{feed()}
{\footnotesize\ttfamily \label{classMilter_1_1sgmllib_1_1SGMLParser_a7c8a6b36ad290ab4db5598bca1db5423} 
Milter.\+sgmllib.\+SGMLParser.\+feed (\begin{DoxyParamCaption}\item[{}]{self}{, }\item[{}]{data}{}\end{DoxyParamCaption})}

\begin{DoxyVerb}Feed some data to the parser.

Call this as often as you want, with as little or as much text
as you want (may include '\n').  (This just saves the text,
all the processing is done by goahead().)
\end{DoxyVerb}
 

References goahead(), and rawdata.

\index{Milter.sgmllib.SGMLParser@{Milter.sgmllib.SGMLParser}!handle\_charref@{handle\_charref}}
\index{handle\_charref@{handle\_charref}!Milter.sgmllib.SGMLParser@{Milter.sgmllib.SGMLParser}}
\doxysubsubsection{handle\_charref()}
{\footnotesize\ttfamily \label{classMilter_1_1sgmllib_1_1SGMLParser_ad65dcaa2d1ce57747ecb35159abfddb8} 
Milter.\+sgmllib.\+SGMLParser.\+handle\+\_\+charref (\begin{DoxyParamCaption}\item[{}]{self}{, }\item[{}]{name}{}\end{DoxyParamCaption})}

\begin{DoxyVerb}Handle character reference, no need to override.\end{DoxyVerb}
 

References \textbf{ convert\+\_\+charref()}, handle\+\_\+data(), mime.\+HTMLScript\+Filter.\+handle\+\_\+data(), mime.\+SGMLFilter.\+handle\+\_\+data(), and unknown\+\_\+charref().



Referenced by \textbf{ close()}.

\index{Milter.sgmllib.SGMLParser@{Milter.sgmllib.SGMLParser}!handle\_entityref@{handle\_entityref}}
\index{handle\_entityref@{handle\_entityref}!Milter.sgmllib.SGMLParser@{Milter.sgmllib.SGMLParser}}
\doxysubsubsection{handle\_entityref()}
{\footnotesize\ttfamily \label{classMilter_1_1sgmllib_1_1SGMLParser_a1dd9562f19b579aeff005c942ff0263b} 
Milter.\+sgmllib.\+SGMLParser.\+handle\+\_\+entityref (\begin{DoxyParamCaption}\item[{}]{self}{, }\item[{}]{name}{}\end{DoxyParamCaption})}

\begin{DoxyVerb}Handle entity references, no need to override.\end{DoxyVerb}
 

References \textbf{ convert\+\_\+entityref()}, handle\+\_\+data(), mime.\+HTMLScript\+Filter.\+handle\+\_\+data(), mime.\+SGMLFilter.\+handle\+\_\+data(), and unknown\+\_\+entityref().



Referenced by \textbf{ close()}.

\index{Milter.sgmllib.SGMLParser@{Milter.sgmllib.SGMLParser}!reset@{reset}}
\index{reset@{reset}!Milter.sgmllib.SGMLParser@{Milter.sgmllib.SGMLParser}}
\doxysubsubsection{reset()}
{\footnotesize\ttfamily \label{classMilter_1_1sgmllib_1_1SGMLParser_a1caf8413eaa122f8b72ad0b3677db116} 
Milter.\+sgmllib.\+SGMLParser.\+reset (\begin{DoxyParamCaption}\item[{}]{self}{}\end{DoxyParamCaption})}

\begin{DoxyVerb}Reset this instance. Loses all unprocessed data.\end{DoxyVerb}
 

References \+\_\+\+\_\+starttag\+\_\+text, lasttag, literal, nomoretags, rawdata, and stack.



Referenced by \textbf{ \+\_\+\+\_\+init\+\_\+\+\_\+()}.

\index{Milter.sgmllib.SGMLParser@{Milter.sgmllib.SGMLParser}!setliteral@{setliteral}}
\index{setliteral@{setliteral}!Milter.sgmllib.SGMLParser@{Milter.sgmllib.SGMLParser}}
\doxysubsubsection{setliteral()}
{\footnotesize\ttfamily \label{classMilter_1_1sgmllib_1_1SGMLParser_a5322240c39d977d1120573d755274250} 
Milter.\+sgmllib.\+SGMLParser.\+setliteral (\begin{DoxyParamCaption}\item[{}]{self}{, }\item[{$\ast$}]{args}{}\end{DoxyParamCaption})}

\begin{DoxyVerb}Enter literal mode (CDATA).

Intended for derived classes only.
\end{DoxyVerb}
 

References literal.

\index{Milter.sgmllib.SGMLParser@{Milter.sgmllib.SGMLParser}!setnomoretags@{setnomoretags}}
\index{setnomoretags@{setnomoretags}!Milter.sgmllib.SGMLParser@{Milter.sgmllib.SGMLParser}}
\doxysubsubsection{setnomoretags()}
{\footnotesize\ttfamily \label{classMilter_1_1sgmllib_1_1SGMLParser_aa43c7d5ddc48cdb32c91c22a85371b5f} 
Milter.\+sgmllib.\+SGMLParser.\+setnomoretags (\begin{DoxyParamCaption}\item[{}]{self}{}\end{DoxyParamCaption})}

\begin{DoxyVerb}Enter literal mode (CDATA) till EOF.

Intended for derived classes only.
\end{DoxyVerb}
 

References literal, and nomoretags.



\label{doc-variable-members}
\doxysubsection{Member Data Documentation}
\index{Milter.sgmllib.SGMLParser@{Milter.sgmllib.SGMLParser}!entity\_or\_charref@{entity\_or\_charref}}
\index{entity\_or\_charref@{entity\_or\_charref}!Milter.sgmllib.SGMLParser@{Milter.sgmllib.SGMLParser}}
\doxysubsubsection{entity\_or\_charref}
{\footnotesize\ttfamily \label{classMilter_1_1sgmllib_1_1SGMLParser_ae2f374c74c81bdd3d9bc1cc4424ce110} 
Milter.\+sgmllib.\+SGMLParser.\+entity\+\_\+or\+\_\+charref\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{=\ \ re.compile(\textcolor{stringliteral}{'\&(?:'}}
\DoxyCodeLine{\ \ \ \ \ \ \textcolor{stringliteral}{'([a-\/zA-\/Z][-\/.a-\/zA-\/Z0-\/9]*)|\#([0-\/9]+)'}}
\DoxyCodeLine{\ \ \ \ \ \ \textcolor{stringliteral}{')(;?)'})}

\end{DoxyCode}


Referenced by \textbf{ close()}.

\index{Milter.sgmllib.SGMLParser@{Milter.sgmllib.SGMLParser}!entitydefs@{entitydefs}}
\index{entitydefs@{entitydefs}!Milter.sgmllib.SGMLParser@{Milter.sgmllib.SGMLParser}}
\doxysubsubsection{entitydefs}
{\footnotesize\ttfamily \label{classMilter_1_1sgmllib_1_1SGMLParser_a0232d2d48d4797ae5e346a07a3c734b7} 
dict Milter.\+sgmllib.\+SGMLParser.\+entitydefs\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{=\ \ \(\backslash\)}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ \{\textcolor{stringliteral}{'lt'}:\ \textcolor{stringliteral}{'<'},\ \textcolor{stringliteral}{'gt'}:\ \textcolor{stringliteral}{'>'},\ \textcolor{stringliteral}{'amp'}:\ \textcolor{stringliteral}{'\&'},\ \textcolor{stringliteral}{'quot'}:\ \textcolor{stringliteral}{'"{}'},\ \textcolor{stringliteral}{'apos'}:\ \textcolor{stringliteral}{'\(\backslash\)''}\}}

\end{DoxyCode}


Referenced by \textbf{ convert\+\_\+entityref()}.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
Milter/sgmllib.\+py\end{DoxyCompactItemize}
