diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 21:46:22 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 21:46:22 -0500 |
commit | a065e04d529da1d847b5062a12c46d916408bf32 (patch) | |
tree | fe0f8bcec1ff39a3c499a2708222dcf15224ff70 /files/fr/sax | |
parent | 218934fa2ed1c702a6d3923d2aa2cc6b43c48684 (diff) | |
download | translated-content-a065e04d529da1d847b5062a12c46d916408bf32.tar.gz translated-content-a065e04d529da1d847b5062a12c46d916408bf32.tar.bz2 translated-content-a065e04d529da1d847b5062a12c46d916408bf32.zip |
update based on https://github.com/mdn/yari/issues/2028
Diffstat (limited to 'files/fr/sax')
-rw-r--r-- | files/fr/sax/index.html | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/files/fr/sax/index.html b/files/fr/sax/index.html deleted file mode 100644 index d498358acc..0000000000 --- a/files/fr/sax/index.html +++ /dev/null @@ -1,110 +0,0 @@ ---- -title: SAX -slug: SAX -tags: - - Extensions -translation_of: Archive/SAX ---- -<p> -</p><p><b>SAX</b>, qui signifie <i>Simple API for XML</i>, est une API d'analyse XML. SAX a été la première API pour XML à connaître le succès en Java, et a ensuite été adaptée dans plusieurs autres environnements de programmation. À partir de <a href="fr/Firefox_2">Firefox 2</a>, un analyseur SAX est accessible aux applications XUL et aux extensions. Pour plus d'informations, consultez <a class="external" href="http://www.saxproject.org/">la page d'accueil de SAX</a>. -</p> -<h3 id="Pour_commencer"> Pour commencer </h3> -<p>Les fonctionnalités d'analyse SAX sont disponibles au travers du composant XML reader. Pour en créer un, utilisez le code suivant : -</p> -<pre class="eval">var xmlReader = Components.classes["@mozilla.org/saxparser/xmlreader;1"] - .createInstance(Components.interfaces.nsISAXXMLReader); -</pre> -<p>Après avoir créé l'analyseur SAX, il est nécessaire de définir des gestionnaires pour les évènements qui vous intéressent, et de déclencher le processus d'analyse. Toutes ces fonctionnalités sont disponibles au travers de l'interface <a href="https://dxr.mozilla.org/mozilla-central/source/parser/xml/public/nsISAXXMLReader.idl" rel="custom">nsISAXXMLReader</a>. -</p> -<h4 id="Définition_des_gestionnaires"> Définition des gestionnaires </h4> -<p>Les gestionnaires sont des objets créés par l'utilisateur, implémentant les interfaces de gestion de SAX selon le type d'informations qu'on désire obtenir de l'analyseur. Lorsque le processus d'analyse est lancé, les gestionnaire reçoivent une série d'appels pour le contenu du XML analysé. Les gestionnaires disponibles sont les suivants : -</p> -<table class="fullwidth-table"> -<tbody><tr> <th>Interface</th> <th>Objectif</th> -</tr> -<tr> <td><a href="https://dxr.mozilla.org/mozilla-central/source/parser/xml/public/nsISAXContentHandler.idl" rel="custom">nsISAXContentHandler</a></td> <td>Reçoit des notifications concernant le contenu logique d'un document (par exemple des éléments, attributs, blancs et instructions de traitement).</td> -</tr> -<tr> <td><a href="https://dxr.mozilla.org/mozilla-central/source/parser/xml/public/nsISAXDTDHandler.idl" rel="custom">nsISAXDTDHandler</a></td> <td>Reçoit des notifications concernant les évènements basiques liés aux DTD.</td> -</tr> -<tr> <td><a href="https://dxr.mozilla.org/mozilla-central/source/parser/xml/public/nsISAXErrorHandler.idl" rel="custom">nsISAXErrorHandler</a></td> <td>Reçoit des notifications concernant les erreurs dans le flux d'entrée.</td> -</tr> -<tr> <td><a href="https://dxr.mozilla.org/mozilla-central/source/parser/xml/public/nsISAXLexicalHandler.idl" rel="custom">nsISAXLexicalHandler</a></td> <td>Gestionnaire d'extension de SAX2 pour les évènement lexicaux (par exemple les commentaires et nœuds CDATA, les déclarations DTD et les entités).</td> -</tr> -</tbody></table> -<p>Un exemple d'implémentation des gestionnaires de contenu les plus courants : -</p> -<pre>function print(s) { - dump(s + "\n"); -} - -xmlReader.contentHandler = { - // nsISAXContentHandler - startDocument: function() { - print("startDocument"); - }, - - endDocument: function() { - print("endDocument"); - }, - - startElement: function(uri, localName, qName, /*nsISAXAttributes*/ attributes) { - var attrs = []; - for(var i=0; i<attributes.length; i++) { - attrs.push(attributes.getQName(i) + "='" + - attributes.getValue(i) + "'"); - } - - print("startElement: namespace='" + uri + "', localName='" + - localName + "', qName='" + qName + "', attributes={" + - attrs.join(",") + "}"); - }, - - endElement: function(uri, localName, qName) { - print("endElement: namespace='" + uri + "', localName='" + - localName + "', qName='" + qName + "'"); - }, - - characters: function(value) { - print("characters: " + value); - }, - - processingInstruction: function(target, data) { - print("processingInstruction: target='" + target + "', data='" + - data + "'"); - }, - - ignorableWhitespace: function(whitespace) { - // ne pas traiter - }, - - startPrefixMapping: function(prefix, uri) { - // ne pas traiter - }, - - endPrefixMapping: function(prefix) { - // ne pas traiter - }, - - // nsISupports - QueryInterface: function(iid) { - if(!iid.equals(Components.interfaces.nsISupports) && - !iid.equals(Components.interfaces.nsISAXContentHandler)) - throw Components.results.NS_ERROR_NO_INTERFACE; - return this; - } -}; -</pre> -<h4 id="Début_de_lanalyse"> Début de l'analyse </h4> -<p>Le composant XML Reader peut analyser du XML contenu dans une chaîne, un flux <a href="fr/NsIInputStream">nsIInputStream</a>, ou de manière asynchrone via l'interface <a href="fr/NsIStreamListener">nsIStreamListener</a>. Ci-dessous, un exemple d'analyse depuis une chaîne : -</p> -<pre class="eval">xmlReader.parseFromString("<f:a xmlns:f='g' d='1'><BBQ/></f:a>", "text/xml"); -</pre> -<p>Cet appel conduit à la sortie suivante (en supposant qu'on utilise le gestionnaire de contenu de l'exemple ci-dessus) : -</p> -<pre>startDocument -startElement: namespace='g', localName='a', qName='f:a', attributes={d='1'} -startElement: namespace='', localName='BBQ', qName='BBQ', attributes={} -endElement: namespace='', localName='BBQ', qName='BBQ' -endElement: namespace='g', localName='a', qName='f:a' -endDocument -</pre> |