xml.sax.saxutils — Утилиты SAX

Исходный код: Lib/xml/sax/saxutils.py


Модуль 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 предоставляется.

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 с использованием ссылочного конкретного синтаксиса.

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().