Spec-Zone.ru › Python 3.14

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={})

Снимает экранирование с '&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().

© 2001 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.14/library/xml.sax.utils.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API