Nota

¡Ayúdanos a traducir la documentación oficial de Python al Español! Puedes encontrar más información en Como contribuir. Ayuda a acercar Python a más personas de habla hispana.

xml.sax.saxutils — Utilidades SAX

Código fuente: Lib/xml/sax/saxutils.py


El módulo xml.sax.saxutils contiene una serie de clases y funciones que son comúnmente útiles al crear aplicaciones SAX, ya sea como uso directo o como clases base.

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

Escapar '&', '<' y '>' en una cadena de datos.

Puede escapar otras cadenas de datos pasando un diccionario como el parámetro opcional entities. Las claves y los valores deben ser cadenas; cada clave será reemplazada por su valor correspondiente. Los caracteres '&', '<' y '>' siempre se escapan, incluso si se proporciona entities.

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

Quitar el escape '&amp;', '&lt;', y '&gt;' en una cadena de datos.

Puede quitar el escape de otras cadenas de datos pasando un diccionario como el parámetro opcional entities. Las claves y los valores deben ser cadenas; cada clave será reemplazada por su valor correspondiente. A '&amp', '&lt;' y '&gt;' se les quita siempre el escape, incluso si se proporcionan entidades.

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

Similar a escape(), pero también prepara data para usarse como un valor de atributo. El valor devuelto es una versión entrecomillada de data con los reemplazos adicionales necesarios. quoteattr() seleccionará un carácter de comillas basado en el contenido de data, intentando evitar codificar los caracteres de comillas en la cadena. Si los caracteres de comillas simples y dobles ya están en data, los caracteres de comillas dobles se codificarán y data se envolverá entre comillas dobles. La cadena resultante se puede utilizar directamente como un valor de atributo:

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

Esta función es útil al generar valores de atributo para HTML o cualquier SGML utilizando la sintaxis concreta de referencia.

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

Esta clase implementa la interfaz ContentHandler escribiendo eventos SAX en un documento XML. En otras palabras, el uso de un XMLGenerator como controlador de contenido reproducirá el documento original que se está analizando. out debe ser un objeto similar a un archivo que por defecto sea sys.stdout. encoding es la codificación de la secuencia de salida que tiene como valor predeterminado 'iso-8859-1'. short_empty_elements controla el formato de los elementos que no contienen contenido: si False (valor predeterminado) se emiten como un par de etiquetas de inicio/fin, si se establece en True se emiten como una sola etiqueta autocerrada.

Nuevo en la versión 3.2: El parámetro short_empty_elements.

class xml.sax.saxutils.XMLFilterBase(base)

Esta clase está diseñada para situarse entre un XMLReader y los manejadores de eventos de la aplicación cliente. Por defecto, no hace más que pasar las peticiones al lector y los eventos a los manejadores sin modificar, pero las subclases pueden sobrescribir métodos específicos para modificar el flujo de eventos o las peticiones de configuración a medida que pasan.

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

Esta función toma una fuente de entrada y una URL base opcional y devuelve un objeto InputSource totalmente resuelto y listo para ser leído. La fuente de entrada puede ser dada como una cadena, un objeto tipo archivo, o un objeto InputSource; los analizadores usarán esta función para implementar el argumento polimórfico fuente a su método parse().