Документация Python неофициальный перевод

19.13. xml.sax.saxutils – Утилиты SAXxml.sax.saxutils – SAX Utilities

Новое в версии 2.0.

Модуль xml.sax.saxutils содержит ряд классов и функций, которые часто используются при создании SAX-приложений, как напрямую, так и в качестве базовых классов.

xml.sax.saxutils.escape(data[, entities])

Экранирует '&', '<' и '>' в строке данных.

Можно экранировать другие строки данных, передав словарь в качестве необязательного параметра entities. Ключи и значения должны быть строками; каждый ключ будет заменён соответствующим значением. Символы '&', '<' и '>' всегда экранируются, даже если указан entities.

xml.sax.saxutils.unescape(data[, entities])

Снимает экранирование '&amp;', '&lt;' и '&gt;' в строке данных.

Можно снять экранирование других строк данных, передав словарь в качестве необязательного параметра entities. Ключи и значения должны быть строками; каждый ключ будет заменён соответствующим значением. '&amp', '&lt;' и '&gt;' всегда обрабатываются (снимается экранирование), даже если указан entities.

Новое в версии 2.3.

xml.sax.saxutils.quoteattr(data[, entities])

Похожа на escape(), но также подготавливает data для использования в качестве значения атрибута. Возвращаемое значение – это строка в кавычках, представляющая data, с необходимыми дополнительными заменами. quoteattr() выберет символ кавычки на основе содержимого data, стараясь избежать экранирования любых кавычек в строке. Если в data уже присутствуют как одинарные, так и двойные кавычки, то двойные кавычки будут закодированы, а data будет заключено в двойные кавычки. Полученную строку можно использовать непосредственно в качестве значения атрибута:

>>> print "<element attr=%s>" % quoteattr("ab ' cd \" ef")
<element attr="ab ' cd &quot; ef">

Эта функция полезна при генерации значений атрибутов для HTML или любого SGML с использованием эталонного конкретного синтаксиса.

Новое в версии 2.2.

class xml.sax.saxutils.XMLGenerator([out[, encoding]])

Этот класс реализует интерфейс ContentHandler, записывая события SAX обратно в XML-документ. Иными словами, использование XMLGenerator в качестве обработчика содержимого воспроизведёт исходный анализируемый документ. out должен быть файлоподобным объектом; по умолчанию sys.stdout. encoding – это кодировка выходного потока; по умолчанию 'iso-8859-1'.

class xml.sax.saxutils.XMLFilterBase(base)

Этот класс предназначен для размещения между XMLReader и обработчиками событий клиентского приложения. По умолчанию он ничего не делает, только передаёт запросы вверх читателю, а события обработчикам без изменений, но подклассы могут переопределять определённые методы, чтобы изменять поток событий или конфигурационные запросы при их прохождении.

xml.sax.saxutils.prepare_input_source(source[, base])

Эта функция принимает входной источник и необязательный базовый URL и возвращает полностью разрешённый объект InputSource, готовый к чтению. Входной источник может быть задан в виде строки, файлоподобного объекта или объекта InputSource; анализаторы (парсеры) используют эту функцию для реализации полиморфного аргумента source в своём методе parse().