• xml.sax.saxutils —- SAX Utilities

    xml.sax.saxutils —- SAX Utilities

    Source code:Lib/xml/sax/saxutils.py


    The module xml.sax.saxutils contains a number of classes and functionsthat are commonly useful when creating SAX applications, either in direct use,or as base classes.

    • xml.sax.saxutils.escape(data, entities={})
    • Escape '&', '<', and '>' in a string of data.

    You can escape other strings of data by passing a dictionary as the optionalentities parameter. The keys and values must all be strings; each key will bereplaced with its corresponding value. The characters '&', '<' and'>' are always escaped, even if entities is provided.

    • xml.sax.saxutils.unescape(data, entities={})
    • Unescape '&amp;', '&lt;', and '&gt;' in a string of data.

    You can unescape other strings of data by passing a dictionary as the optionalentities parameter. The keys and values must all be strings; each key will bereplaced with its corresponding value. '&amp', '&lt;', and '&gt;'are always unescaped, even if entities is provided.

    • xml.sax.saxutils.quoteattr(data, entities={})
    • Similar to escape(), but also prepares data to be used as anattribute value. The return value is a quoted version of data with anyadditional required replacements. quoteattr() will select a quotecharacter based on the content of data, attempting to avoid encoding anyquote characters in the string. If both single- and double-quote charactersare already in data, the double-quote characters will be encoded and _data_will be wrapped in double-quotes. The resulting string can be used directlyas an attribute value:
    1. >>> print("<element attr=%s>" % quoteattr("ab ' cd \" ef"))
    2. <element attr="ab ' cd &quot; ef">

    This function is useful when generating attribute values for HTML or any SGMLusing the reference concrete syntax.

    • class xml.sax.saxutils.XMLGenerator(out=None, encoding='iso-8859-1', short_empty_elements=False)
    • This class implements the ContentHandler interfaceby writing SAXevents back into an XML document. In other words, using an XMLGeneratoras the content handler will reproduce the original document being parsed. out_should be a file-like object which will default to _sys.stdout. encoding isthe encoding of the output stream which defaults to 'iso-8859-1'.short_empty_elements controls the formatting of elements that contain nocontent: if False (the default) they are emitted as a pair of start/endtags, if set to True they are emitted as a single self-closed tag.

    3.2 新版功能: The short_empty_elements parameter.

    • class xml.sax.saxutils.XMLFilterBase(base)
    • This class is designed to sit between anXMLReader and the clientapplication's event handlers. By default, it does nothing but pass requests upto the reader and events on to the handlers unmodified, but subclasses canoverride specific methods to modify the event stream or the configurationrequests as they pass through.

    • xml.sax.saxutils.prepareinput_source(_source, base='')

    • This function takes an input source and an optional base URL and returns afully resolved InputSource object ready forreading. The input source can be given as a string, a file-like object, oran InputSource object; parsers will use thisfunction to implement the polymorphic source argument to theirparse() method.