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
'&'
,'<'
e'>'
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.
'&'
,'<'
e'>'
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 " 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 umXMLGenerator
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: seFalse
(o padrão), eles são emitidos como um par de tags de início/fim; se definido comoTrue
, 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 objetoInputSource
; os analisadores usarão esta função para implementar o argumento polimórfico source em seu métodoparse()
.