Spec-Zone.ru › Python 3.13

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–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.13/library/xml.sax.utils.html

Spec-Zone.ru

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