xml.sax.saxutils
— Утилиты SAX¶
Источник: 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()
.