"xml.sax.saxutils" — Utilitaires SAX
************************************

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

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

Le module  "xml.sax.saxutils" contient des classes et fonctions qui
sont fréquemment utiles en créant des applications SAX, soit en
utilisation directe, soit en classes de base.

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.

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

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

   Vous pouvez dé-é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 dé-échappés même si
   *entities* est donné en paramètre.

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.

   Nouveau dans la version 3.2: Le paramètre *short_empty_elements*.

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='')

   Cette fonction prend en entrée une source et une URL de base
   optionnelle et retourne un objet complétement résolue "InputSource"
   prêt pour être lu. La source d'entrée peut être donnée comme une
   chaine de caractère, un objet type fichier, ou un objet
   "InputSource" ; Les analyseurs utiliseront cette fonction pour
   gérer le polymorphisme de l'argument *source* à leur méthode
   "parse()".
