This document is for an old version of Python that is no longer supported. You should upgrade, and read the Python documentation for the current stable release.

# `xml.sax.saxutils` — SAX Utilities

Вихідний код: Lib/xml/sax/saxutils.py

Модуль `xml.sax.saxutils` містить низку класів і функцій, які зазвичай корисні під час створення програм SAX, або для прямого використання, або як базові класи.

`xml.sax.saxutils.``escape`(data, entities={})

  Escape `'&''`, `' <'`, and `'> ''` у рядку даних.

  Ви можете уникнути інших рядків даних, передавши словник як необов’язковий параметр entities. Усі ключі та значення мають бути рядками; кожен ключ буде замінено відповідним значенням. Символи `'&'`, `' <'` and `'> ''` завжди екрануються, навіть якщо вказано 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. кодування — це кодування вихідного потоку, яке за умовчанням має значення `'iso-8859-1'`. short_empty_elements контролює форматування елементів, які не містять вмісту: якщо `False` (за замовчуванням), вони випромінюються як пара початкових/кінцевих тегів, якщо встановлено `True`, вони випромінюються як один сам - закритий тег.

  Нове в версії 3.2: The short_empty_elements parameter.

class `xml.sax.saxutils.``XMLFilterBase`(base)

  Цей клас призначений для розташування між `XMLReader` і обробниками подій клієнтської програми. За замовчуванням він не робить нічого, крім передачі запитів до читача та подій до обробників без змін, але підкласи можуть перевизначати певні методи для зміни потоку подій або запитів конфігурації під час їх проходження.

`xml.sax.saxutils.``prepare_input_source`(source, base='')

  This function takes an input source and an optional base URL and returns a fully resolved `InputSource` object ready for reading. The input source can be given as a string, a file-like object, or an `InputSource` object; parsers will use this function to implement the polymorphic source argument to their `parse()` method.