This document is for an old version of Python that is no longer supported. You should upgrade and read the Python documentation for the current stable release.

# 19.13. `xml.sax.saxutils` — Utilitaires SAX

Nouveau dans la version 2.0.

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.

  Nouveau dans la version 2.3.

`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.

  Nouveau dans la version 2.2.

class `xml.sax.saxutils.``XMLGenerator`([out[, encoding]])

  This class implements the `ContentHandler` interface by writing SAX events back into an XML document. In other words, using an `XMLGenerator` as the content handler will reproduce the original document being parsed. out should be a file-like object which will default to sys.stdout. encoding is the encoding of the output stream which defaults to `'iso-8859-1'`.

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()`.