"xml.sax.saxutils" --- Utilitários de SAX
*****************************************

**Código-fonte:** Lib/xml/sax/saxutils.py

======================================================================

O módulo "xml.sax.saxutils" contém uma série de classes e funções que
são comumente úteis ao criar aplicações SAX, seja em uso direto ou
como classes base.

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

   Escapa "'&'", "'<'" e "'>'" em uma string de dados.

   Você pode escapar outras strings de dados passando um dicionário
   como o parâmetro opcional *entities*. As chaves e os valores devem
   ser strings; cada chave será substituída pelo seu valor
   correspondente. Os caracteres "'&'", "'<'" e "'>'" são sempre
   escapados, mesmo que *entities* seja fornecido.

   Nota:

     Esta função deve ser usada apenas para escapar caracteres que não
     podem ser usados diretamente em XML. Não a utilize como uma
     função geral de tradução de strings.

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

   Remove escape de "'&amp;'", "'&lt;'" e "'&gt;'" em uma string de
   dados.

   Você pode remover escape de outras strings de dados passando um
   dicionário como o parâmetro opcional *entities*. As chaves e os
   valores devem ser strings; cada chave será substituída pelo seu
   valor correspondente. "'&amp'", "'&lt;'" e "'&gt;'" têm sempre o
   escape removido, mesmo que *entities* seja fornecido.

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

   Semelhante a "escape()", mas também prepara *data* para ser usado
   como um valor de atributo. O valor de retorno é uma versão entre
   aspas de *data* com quaisquer substituições adicionais necessárias.
   "quoteattr()" selecionará um caractere de aspas com base no
   conteúdo de *data*, tentando evitar a codificação de quaisquer
   caracteres de aspas na string. Se já houver caracteres de aspas
   simples e duplas em *data*, os caracteres de aspas duplas serão
   codificados e *data* será colocado entre aspas duplas. A string
   resultante pode ser usada diretamente como um valor de atributo:

      >>> print("<element attr=%s>" % quoteattr("ab ' cd \" ef"))
      <element attr="ab ' cd &quot; ef">

   Esta função é útil ao gerar valores de atributos para HTML ou
   qualquer SGML usando a sintaxe concreta de referência.

class xml.sax.saxutils.XMLGenerator(out=None, encoding='iso-8859-1', short_empty_elements=False)

   Esta classe implementa a interface "ContentHandler" escrevendo
   eventos SAX de volta em um documento XML. Em outras palavras, usar
   um "XMLGenerator" como manipulador de conteúdo reproduzirá o
   documento original que está sendo analisado. *out* deve ser um
   objeto arquivo ou similar, cujo padrão é *sys.stdout*. *encoding* é
   a codificação do fluxo de saída, cujo padrão é "'iso-8859-1'".
   *short_empty_elements* controla a formatação de elementos sem
   conteúdo: se "False" (o padrão), eles são emitidos como um par de
   tags de início/fim; se definido como "True", eles são emitidos como
   uma única tag autofechada.

   Alterado na versão 3.2: Foi adicionado o parâmetro
   *short_empty_elements*.

class xml.sax.saxutils.XMLFilterBase(base)

   Esta classe foi projetada para ficar entre um "XMLReader" e os
   manipuladores de eventos da aplicação cliente. Por padrão, ela não
   faz nada além de passar requisições para o leitor e eventos para os
   manipuladores sem modificações, mas subclasses podem substituir
   métodos específicos para modificar o fluxo de eventos ou as
   requisições de configuração à medida que passam.

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

   Esta função recebe uma fonte de entrada e uma URL base opcional e
   retorna um objeto "InputSource" totalmente resolvido, pronto para
   leitura. A fonte de entrada pode ser fornecida como uma string, um
   objeto arquivo ou similar ou um objeto "InputSource"; os
   analisadores usarão esta função para implementar o argumento
   polimórfico *source* em seu método "parse()".
