xml.sax.saxutils – SAX Utilities¶
Исходный код: Lib/xml/sax/saxutils.py
Модуль xml.sax.saxutils содержит ряд классов и функций,
которые часто используются при создании SAX-приложений, как напрямую,
так и в качестве базовых классов.
- xml.sax.saxutils.escape(data, entities={})¶
Экранирует
'&','<'и'>'в строке данных.Можно экранировать другие строки данных, передав словарь в качестве необязательного параметра entities. Ключи и значения должны быть строками; каждый ключ будет заменён соответствующим значением. Символы
'&','<'и'>'всегда экранируются, даже если указан entities.Примечание
Данную функцию следует использовать только для экранирования символов, которые недопустимы в XML. Не используйте эту функцию в качестве универсальной функции преобразования строк.
- xml.sax.saxutils.unescape(data, entities={})¶
Снимает экранирование
'&','<'и'>'в строке данных.Можно снять экранирование других строк данных, передав словарь в качестве необязательного параметра entities. Ключи и значения должны быть строками; каждый ключ будет заменён соответствующим значением.
'&','<'и'>'всегда обрабатываются (снимается экранирование), даже если указан entities.
- 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 " ef">
Эта функция полезна при генерации значений атрибутов для HTML или любого SGML с использованием эталонного конкретного синтаксиса.
- class xml.sax.saxutils.XMLGenerator(out=None, encoding='iso-8859-1', short_empty_elements=False)¶
Этот класс реализует интерфейс
ContentHandler, записывая SAX-события обратно в XML-документ. Другими словами, использованиеXMLGeneratorв качестве обработчика содержимого воспроизводит исходный разбираемый документ. out должен быть файлоподобным объектом; по умолчанию используется sys.stdout. encoding – это кодировка выходного потока, по умолчанию'iso-8859-1'. short_empty_elements управляет форматированием элементов, не содержащих содержимого: еслиFalse(по умолчанию), они выводятся как пара открывающего/закрывающего тегов, если установленоTrue, они выводятся как один самозакрывающийся тег.Изменено в версии 3.2: Добавлен параметр short_empty_elements.
- class xml.sax.saxutils.XMLFilterBase(base)¶
Этот класс предназначен для размещения между
XMLReaderи обработчиками событий клиентского приложения. По умолчанию он ничего не делает, только передаёт запросы вверх читателю, а события обработчикам без изменений, но подклассы могут переопределять определённые методы, чтобы изменять поток событий или конфигурационные запросы при их прохождении.
- xml.sax.saxutils.prepare_input_source(source, base='')¶
Эта функция принимает входной источник и необязательный базовый URL и возвращает полностью разрешённый объект
InputSource, готовый к чтению. Входной источник может быть задан в виде строки, файлоподобного объекта или объектаInputSource; анализаторы (парсеры) используют эту функцию для реализации полиморфного аргумента source в своём методеparse().