"xml.sax.saxutils" --- SAX Utilities
************************************

**Code source :** Lib/xml/sax/saxutils.py

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

The module "xml.sax.saxutils" contains a number of classes and
functions that are commonly useful when creating SAX applications,
either in direct use, or as base classes.

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

   Échappe "'&'", "'<'", et "'>'" dans une chaine de caractères de
   données.

   Vous pouvez échapper d'autres chaines de caractères de données en
   passant un dictionnaire au paramètre optionnel *entities*. Les clés
   et valeurs doivent toutes être des chaines de caractères ; chaque
   clé sera remplacée par sa valeur correspondante. Les caractères
   "'&'", "'<'" et "'>'" sont toujours échappés même si *entities* est
   donné en paramètre.

   Note:

     This function should only be used to escape characters that can't
     be used directly in XML. Do not use this function as a general
     string translation function.

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

   *Parse* "'&amp;'", "'&lt;'", et "'&gt;'" dans une chaine de
   caractères de données.

   You can unescape other strings of data by passing a dictionary as
   the optional *entities* parameter.  The keys and values must all be
   strings; each key will be replaced with its corresponding value.
   "'&amp;'", "'&lt;'", and "'&gt;'" are always unescaped, even if
   *entities* is provided.

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

   Similaire à "escape()", mais prépare aussi *data* pour être utilisé
   comme une valeur d'attribut. La valeur renvoyée est une version
   entre guillemets de *data* avec tous les remplacements
   supplémentaires nécessaires. "quoteattr()" va sélectionner un
   caractère guillemet basé sur le contenu de *data*, en essayant
   d’éviter d'encoder tous les caractères guillemets dans la chaine de
   caractères. Si les caractères guillemet simple et guillemets sont
   déjà dans *data*, les caractères guillemets simples seront encodés
   et *data* sera entouré de guillemets. La chaine de caractères
   résultante pourra être utilisée en tant que valeur d'attribut :

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

   Cette fonction est utile quand vous générez des valeurs d'attributs
   pour du HTML ou n'importe quel SGML en utilisant la syntaxe
   concrète de référence.

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

   Cette classe implémente l'interface "ContentHandler" en écrivant
   les événements SAX dans un document XML. En d'autres termes,
   utiliser un "XMLGenerator" en tant que gestionnaire de contenu
   reproduira le document original qui était analysé. *out* devrait
   être un objet de type fichier qui est par défaut *sys.stdout*.
   *encoding* est l'encodage du flux de sortie qui est par défaut
   "'iso-8859-1'". *short_empty_elements* contrôle le formatage des
   éléments qui ne contiennent rien :  si "False" (par défaut), ils
   sont émis comme une paire de balises (début, fin). Si la valeur est
   "True", ils sont émis comme une balise seule auto-fermante.

   Modifié dans la version 3.2: Added the *short_empty_elements*
   parameter.

class xml.sax.saxutils.XMLFilterBase(base)

   Cette classe est faite pour être entre "XMLReader" et le
   gestionnaire des événements de l'application client. Par défaut,
   elle ne fait rien mais passe les requêtes au lecteur et les
   événements au gestionnaire sans les modifier, mais des sous-classes
   peuvent surcharger des méthodes spécifiques pour modifier le flux
   d’événements ou la configuration des requêtes à leur passage.

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.
