266 lines
17 KiB
HTML
266 lines
17 KiB
HTML
|
|
|||
|
<!DOCTYPE html>
|
|||
|
|
|||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|||
|
<head>
|
|||
|
<meta charset="utf-8" />
|
|||
|
<title>xml.sax.saxutils — SAX Utilities — Python 3.7.4 documentation</title>
|
|||
|
<link rel="stylesheet" href="../_static/pydoctheme.css" type="text/css" />
|
|||
|
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
|||
|
|
|||
|
<script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
|
|||
|
<script type="text/javascript" src="../_static/jquery.js"></script>
|
|||
|
<script type="text/javascript" src="../_static/underscore.js"></script>
|
|||
|
<script type="text/javascript" src="../_static/doctools.js"></script>
|
|||
|
<script type="text/javascript" src="../_static/language_data.js"></script>
|
|||
|
|
|||
|
<script type="text/javascript" src="../_static/sidebar.js"></script>
|
|||
|
|
|||
|
<link rel="search" type="application/opensearchdescription+xml"
|
|||
|
title="Search within Python 3.7.4 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="xml.sax.xmlreader — Interface for XML parsers" href="xml.sax.reader.html" />
|
|||
|
<link rel="prev" title="xml.sax.handler — Base classes for SAX handlers" href="xml.sax.handler.html" />
|
|||
|
<link rel="shortcut icon" type="image/png" href="../_static/py.png" />
|
|||
|
<link rel="canonical" href="https://docs.python.org/3/library/xml.sax.utils.html" />
|
|||
|
|
|||
|
<script type="text/javascript" src="../_static/copybutton.js"></script>
|
|||
|
<script type="text/javascript" src="../_static/switchers.js"></script>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<style>
|
|||
|
@media only screen {
|
|||
|
table.full-width-table {
|
|||
|
width: 100%;
|
|||
|
}
|
|||
|
}
|
|||
|
</style>
|
|||
|
|
|||
|
|
|||
|
</head><body>
|
|||
|
|
|||
|
<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="xml.sax.reader.html" title="xml.sax.xmlreader — Interface for XML parsers"
|
|||
|
accesskey="N">next</a> |</li>
|
|||
|
<li class="right" >
|
|||
|
<a href="xml.sax.handler.html" title="xml.sax.handler — Base classes for SAX handlers"
|
|||
|
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>
|
|||
|
<span class="language_switcher_placeholder">en</span>
|
|||
|
<span class="version_switcher_placeholder">3.7.4</span>
|
|||
|
<a href="../index.html">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">Structured Markup Processing Tools</a> »</li>
|
|||
|
<li class="right">
|
|||
|
|
|||
|
|
|||
|
<div class="inline-search" style="display: none" role="search">
|
|||
|
<form class="inline-search" action="../search.html" method="get">
|
|||
|
<input placeholder="Quick search" type="text" name="q" />
|
|||
|
<input type="submit" value="Go" />
|
|||
|
<input type="hidden" name="check_keywords" value="yes" />
|
|||
|
<input type="hidden" name="area" value="default" />
|
|||
|
</form>
|
|||
|
</div>
|
|||
|
<script type="text/javascript">$('.inline-search').show(0);</script>
|
|||
|
|
|
|||
|
</li>
|
|||
|
|
|||
|
</ul>
|
|||
|
</div>
|
|||
|
|
|||
|
<div class="document">
|
|||
|
<div class="documentwrapper">
|
|||
|
<div class="bodywrapper">
|
|||
|
<div class="body" role="main">
|
|||
|
|
|||
|
<div class="section" id="module-xml.sax.saxutils">
|
|||
|
<span id="xml-sax-saxutils-sax-utilities"></span><h1><a class="reference internal" href="#module-xml.sax.saxutils" title="xml.sax.saxutils: Convenience functions and classes for use with SAX."><code class="xref py py-mod docutils literal notranslate"><span class="pre">xml.sax.saxutils</span></code></a> — SAX Utilities<a class="headerlink" href="#module-xml.sax.saxutils" title="Permalink to this headline">¶</a></h1>
|
|||
|
<p><strong>Source code:</strong> <a class="reference external" href="https://github.com/python/cpython/tree/3.7/Lib/xml/sax/saxutils.py">Lib/xml/sax/saxutils.py</a></p>
|
|||
|
<hr class="docutils" />
|
|||
|
<p>The module <a class="reference internal" href="#module-xml.sax.saxutils" title="xml.sax.saxutils: Convenience functions and classes for use with SAX."><code class="xref py py-mod docutils literal notranslate"><span class="pre">xml.sax.saxutils</span></code></a> contains a number of classes and functions
|
|||
|
that are commonly useful when creating SAX applications, either in direct use,
|
|||
|
or as base classes.</p>
|
|||
|
<dl class="function">
|
|||
|
<dt id="xml.sax.saxutils.escape">
|
|||
|
<code class="descclassname">xml.sax.saxutils.</code><code class="descname">escape</code><span class="sig-paren">(</span><em>data</em>, <em>entities={}</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.sax.saxutils.escape" title="Permalink to this definition">¶</a></dt>
|
|||
|
<dd><p>Escape <code class="docutils literal notranslate"><span class="pre">'&'</span></code>, <code class="docutils literal notranslate"><span class="pre">'<'</span></code>, and <code class="docutils literal notranslate"><span class="pre">'>'</span></code> in a string of data.</p>
|
|||
|
<p>You can escape other strings of data by passing a dictionary as the optional
|
|||
|
<em>entities</em> parameter. The keys and values must all be strings; each key will be
|
|||
|
replaced with its corresponding value. The characters <code class="docutils literal notranslate"><span class="pre">'&'</span></code>, <code class="docutils literal notranslate"><span class="pre">'<'</span></code> and
|
|||
|
<code class="docutils literal notranslate"><span class="pre">'>'</span></code> are always escaped, even if <em>entities</em> is provided.</p>
|
|||
|
</dd></dl>
|
|||
|
|
|||
|
<dl class="function">
|
|||
|
<dt id="xml.sax.saxutils.unescape">
|
|||
|
<code class="descclassname">xml.sax.saxutils.</code><code class="descname">unescape</code><span class="sig-paren">(</span><em>data</em>, <em>entities={}</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.sax.saxutils.unescape" title="Permalink to this definition">¶</a></dt>
|
|||
|
<dd><p>Unescape <code class="docutils literal notranslate"><span class="pre">'&amp;'</span></code>, <code class="docutils literal notranslate"><span class="pre">'&lt;'</span></code>, and <code class="docutils literal notranslate"><span class="pre">'&gt;'</span></code> in a string of data.</p>
|
|||
|
<p>You can unescape other strings of data by passing a dictionary as the optional
|
|||
|
<em>entities</em> parameter. The keys and values must all be strings; each key will be
|
|||
|
replaced with its corresponding value. <code class="docutils literal notranslate"><span class="pre">'&amp'</span></code>, <code class="docutils literal notranslate"><span class="pre">'&lt;'</span></code>, and <code class="docutils literal notranslate"><span class="pre">'&gt;'</span></code>
|
|||
|
are always unescaped, even if <em>entities</em> is provided.</p>
|
|||
|
</dd></dl>
|
|||
|
|
|||
|
<dl class="function">
|
|||
|
<dt id="xml.sax.saxutils.quoteattr">
|
|||
|
<code class="descclassname">xml.sax.saxutils.</code><code class="descname">quoteattr</code><span class="sig-paren">(</span><em>data</em>, <em>entities={}</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.sax.saxutils.quoteattr" title="Permalink to this definition">¶</a></dt>
|
|||
|
<dd><p>Similar to <a class="reference internal" href="#xml.sax.saxutils.escape" title="xml.sax.saxutils.escape"><code class="xref py py-func docutils literal notranslate"><span class="pre">escape()</span></code></a>, but also prepares <em>data</em> to be used as an
|
|||
|
attribute value. The return value is a quoted version of <em>data</em> with any
|
|||
|
additional required replacements. <a class="reference internal" href="#xml.sax.saxutils.quoteattr" title="xml.sax.saxutils.quoteattr"><code class="xref py py-func docutils literal notranslate"><span class="pre">quoteattr()</span></code></a> will select a quote
|
|||
|
character based on the content of <em>data</em>, attempting to avoid encoding any
|
|||
|
quote characters in the string. If both single- and double-quote characters
|
|||
|
are already in <em>data</em>, the double-quote characters will be encoded and <em>data</em>
|
|||
|
will be wrapped in double-quotes. The resulting string can be used directly
|
|||
|
as an attribute value:</p>
|
|||
|
<div class="highlight-python3 notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="nb">print</span><span class="p">(</span><span class="s2">"<element attr=</span><span class="si">%s</span><span class="s2">>"</span> <span class="o">%</span> <span class="n">quoteattr</span><span class="p">(</span><span class="s2">"ab ' cd </span><span class="se">\"</span><span class="s2"> ef"</span><span class="p">))</span>
|
|||
|
<span class="go"><element attr="ab ' cd &quot; ef"></span>
|
|||
|
</pre></div>
|
|||
|
</div>
|
|||
|
<p>This function is useful when generating attribute values for HTML or any SGML
|
|||
|
using the reference concrete syntax.</p>
|
|||
|
</dd></dl>
|
|||
|
|
|||
|
<dl class="class">
|
|||
|
<dt id="xml.sax.saxutils.XMLGenerator">
|
|||
|
<em class="property">class </em><code class="descclassname">xml.sax.saxutils.</code><code class="descname">XMLGenerator</code><span class="sig-paren">(</span><em>out=None</em>, <em>encoding='iso-8859-1'</em>, <em>short_empty_elements=False</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.sax.saxutils.XMLGenerator" title="Permalink to this definition">¶</a></dt>
|
|||
|
<dd><p>This class implements the <a class="reference internal" href="xml.sax.handler.html#xml.sax.handler.ContentHandler" title="xml.sax.handler.ContentHandler"><code class="xref py py-class docutils literal notranslate"><span class="pre">ContentHandler</span></code></a> interface
|
|||
|
by writing SAX
|
|||
|
events back into an XML document. In other words, using an <a class="reference internal" href="#xml.sax.saxutils.XMLGenerator" title="xml.sax.saxutils.XMLGenerator"><code class="xref py py-class docutils literal notranslate"><span class="pre">XMLGenerator</span></code></a>
|
|||
|
as the content handler will reproduce the original document being parsed. <em>out</em>
|
|||
|
should be a file-like object which will default to <em>sys.stdout</em>. <em>encoding</em> is
|
|||
|
the encoding of the output stream which defaults to <code class="docutils literal notranslate"><span class="pre">'iso-8859-1'</span></code>.
|
|||
|
<em>short_empty_elements</em> controls the formatting of elements that contain no
|
|||
|
content: if <code class="docutils literal notranslate"><span class="pre">False</span></code> (the default) they are emitted as a pair of start/end
|
|||
|
tags, if set to <code class="docutils literal notranslate"><span class="pre">True</span></code> they are emitted as a single self-closed tag.</p>
|
|||
|
<div class="versionadded">
|
|||
|
<p><span class="versionmodified added">New in version 3.2: </span>The <em>short_empty_elements</em> parameter.</p>
|
|||
|
</div>
|
|||
|
</dd></dl>
|
|||
|
|
|||
|
<dl class="class">
|
|||
|
<dt id="xml.sax.saxutils.XMLFilterBase">
|
|||
|
<em class="property">class </em><code class="descclassname">xml.sax.saxutils.</code><code class="descname">XMLFilterBase</code><span class="sig-paren">(</span><em>base</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.sax.saxutils.XMLFilterBase" title="Permalink to this definition">¶</a></dt>
|
|||
|
<dd><p>This class is designed to sit between an
|
|||
|
<a class="reference internal" href="xml.sax.reader.html#xml.sax.xmlreader.XMLReader" title="xml.sax.xmlreader.XMLReader"><code class="xref py py-class docutils literal notranslate"><span class="pre">XMLReader</span></code></a> and the client
|
|||
|
application’s event handlers. By default, it does nothing but pass requests up
|
|||
|
to the reader and events on to the handlers unmodified, but subclasses can
|
|||
|
override specific methods to modify the event stream or the configuration
|
|||
|
requests as they pass through.</p>
|
|||
|
</dd></dl>
|
|||
|
|
|||
|
<dl class="function">
|
|||
|
<dt id="xml.sax.saxutils.prepare_input_source">
|
|||
|
<code class="descclassname">xml.sax.saxutils.</code><code class="descname">prepare_input_source</code><span class="sig-paren">(</span><em>source</em>, <em>base=''</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.sax.saxutils.prepare_input_source" title="Permalink to this definition">¶</a></dt>
|
|||
|
<dd><p>This function takes an input source and an optional base URL and returns a
|
|||
|
fully resolved <a class="reference internal" href="xml.sax.reader.html#xml.sax.xmlreader.InputSource" title="xml.sax.xmlreader.InputSource"><code class="xref py py-class docutils literal notranslate"><span class="pre">InputSource</span></code></a> object ready for
|
|||
|
reading. The input source can be given as a string, a file-like object, or
|
|||
|
an <a class="reference internal" href="xml.sax.reader.html#xml.sax.xmlreader.InputSource" title="xml.sax.xmlreader.InputSource"><code class="xref py py-class docutils literal notranslate"><span class="pre">InputSource</span></code></a> object; parsers will use this
|
|||
|
function to implement the polymorphic <em>source</em> argument to their
|
|||
|
<code class="xref py py-meth docutils literal notranslate"><span class="pre">parse()</span></code> method.</p>
|
|||
|
</dd></dl>
|
|||
|
|
|||
|
</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="xml.sax.handler.html"
|
|||
|
title="previous chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">xml.sax.handler</span></code> — Base classes for SAX handlers</a></p>
|
|||
|
<h4>Next topic</h4>
|
|||
|
<p class="topless"><a href="xml.sax.reader.html"
|
|||
|
title="next chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">xml.sax.xmlreader</span></code> — Interface for XML parsers</a></p>
|
|||
|
<div role="note" aria-label="source link">
|
|||
|
<h3>This Page</h3>
|
|||
|
<ul class="this-page-menu">
|
|||
|
<li><a href="../bugs.html">Report a Bug</a></li>
|
|||
|
<li>
|
|||
|
<a href="https://github.com/python/cpython/blob/3.7/Doc/library/xml.sax.utils.rst"
|
|||
|
rel="nofollow">Show Source
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
</div>
|
|||
|
</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="xml.sax.reader.html" title="xml.sax.xmlreader — Interface for XML parsers"
|
|||
|
>next</a> |</li>
|
|||
|
<li class="right" >
|
|||
|
<a href="xml.sax.handler.html" title="xml.sax.handler — Base classes for SAX handlers"
|
|||
|
>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>
|
|||
|
<span class="language_switcher_placeholder">en</span>
|
|||
|
<span class="version_switcher_placeholder">3.7.4</span>
|
|||
|
<a href="../index.html">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" >Structured Markup Processing Tools</a> »</li>
|
|||
|
<li class="right">
|
|||
|
|
|||
|
|
|||
|
<div class="inline-search" style="display: none" role="search">
|
|||
|
<form class="inline-search" action="../search.html" method="get">
|
|||
|
<input placeholder="Quick search" type="text" name="q" />
|
|||
|
<input type="submit" value="Go" />
|
|||
|
<input type="hidden" name="check_keywords" value="yes" />
|
|||
|
<input type="hidden" name="area" value="default" />
|
|||
|
</form>
|
|||
|
</div>
|
|||
|
<script type="text/javascript">$('.inline-search').show(0);</script>
|
|||
|
|
|
|||
|
</li>
|
|||
|
|
|||
|
</ul>
|
|||
|
</div>
|
|||
|
<div class="footer">
|
|||
|
© <a href="../copyright.html">Copyright</a> 2001-2019, 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 Jul 13, 2019.
|
|||
|
<a href="../bugs.html">Found a bug</a>?
|
|||
|
<br />
|
|||
|
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 2.0.1.
|
|||
|
</div>
|
|||
|
|
|||
|
</body>
|
|||
|
</html>
|