Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

XML Extras

Le module XML Extras contient différentes fonctionnalités permettant aux développeurs de traiter du XML comme des données, et pas seulement comme un format quelconque de document. Le module est structuré comme un composant intégré, et ses fonctions de traitement des données XML sont accessibles aux utilisateurs par du JavaScript et C++/XPCOM. Le module XML Extras est compilé par défaut pour toutes les plateformes, et il est inclus dans les programmes d'installation du navigateur, ce qui le rend disponible dans les compilations nocturnes.

États des fonctionnalités

Fonctionnalité État
XMLSerializer Disponible
XMLHttpRequest Disponible
DOMParser (chaînes ou flux comme source entrante) Disponible
Services Web avec SOAP et WSDL Disponible depuis 1.4alpha. Déplacé vers le module Services Web dans la 1.4beta.
Persistance XML
FIXptr et XPointer Disponible depuis 1.4alpha dans le noyau Mozilla. Déplacé vers XMLExtras dans la 1.4beta.

Voir aussi :

Assurance Qualité et tests

Plusieurs tests en ligne expérimentent la méthode GET HTTP via XMLHttpRequest.

D'autres exemples de tests pour chacun des composants listés ci-dessus sont disponibles dans extensions/xmlextras/tests/. Toutefois, une autre série d'exemples mérite d'être créée. Si vous voulez participer à cette démarche d'assurance qualité, voici la procédure à suivre :

  • Vous vous proposez pour assumer la responsabilité de la démarche Assurance Qualité d'un des composants implémentés. Le responsable AQ vérifie les tests associés à son composant, fait un rapport de test qualité pour les bugs le concernant et aide aux tests de régression.
  • Vous créez une suite de tests ou des tests individuels qui implémentent des composants. Vous rédigez un rapport de bug pour tout nouveau test, et/ou le testez dans extensions/xmlextras/tests/.
  • Vous remplissez des bugs en rapport avec les composants implémentés. Les rapports de bug doivent être remplis pour le composant XML dans le produit « Browser ».

Documentation

La manière la plus efficace pour apprendre à utiliser ces technologies est de travailler à partir d'exemples. Il y en a quelques uns dans extensions/xmlextras/tests/. Si vous suivez ce lien pour consultez les exemples, vous devriez aussi consulter le code source des documents HTML.

Pour les objets XMLHttpRequest, vous pouvez le plus souvent vous référer à la documentation XMLHttpRequest de Microsoft, avec les mises en garde suivantes : toutes les noms de fonctions et de propriétés commencent par une minuscule, et la création de l'objet est différente. Certaines propriétés ne sont pas implémentées.

Thad Hoffman a écrit un document montrant comment mimer du XML Data Islands dans Mozilla. Edmond Woychowsky a également écrit des articles sur le XML Data Islands dans Mozilla : "Make XML data islands work in Mozilla", "Build cross-browser XML paging code" et "Implement a flexible shopping cart with XML and ASP". Mozilla Developer Center dispose aussi de plusieurs pages sur XMLHttpRequest.

Ci-dessous, voici les quelques différences majeures entre les logiciels Mozilla et Microsoft :

Différence Microsoft Mozilla
Noms des membres Insensible à la casse ? Débute par une minuscule
Création de XMLHttpRequest new ActiveXObject("Msxml2.XMLHTTP") new XMLHttpRequest()
XMLHttpRequest.send("du texte") ok ok, implémenté depuis le milestone 0.9.7 (précisément la nocturne du 28/11/2001). Avec les précédentes compilations, la transmission de chaînes dans send() ne fonctionnait que dans le chrome, voir l'exemple post.html. La « solution » est d'utiliser la méthode parseFromString() l'objet DOMParser pour créer un document depuis une chaîne de caractères, et de transmettre ce document temporaire dans send().
XMLHttpRequest.open("aHost") ok Des documents <tt>file://</tt> peuvent être ouverts depuis des documents <tt>https://</tt>, mais vous devez activer le privilège UniversalBrowserRead dans vos scripts - consultez le document JavaScript Security: Signed Scripts pour plus de détails. Normalement, vos fichiers doivent résider sur un serveur Web, donc cela ne devrait pas poser de problème (cette ligne devrait être inutile). De plus, « foo.com:80 » et « foo.com:313 » sont considérés comme des domaines différents pour des raisons de sécurité. Vous ne pouvez pas ouvrir une connexion vers un domaine différent.
Création de DOMParser non disponible new DOMParser()
Création de XMLSerializer non disponible new XMLSerializer()

Une documentation minimale des composants listés ci-dessus est disponible avec la documentation de Mozilla en utilisant Doxygen. Remplissez des nouveaux bugs pour contribuer à de nouvelles documentations, soit spécifiquement dédiées aux développeurs JavaScript, ou soit en complétant les commentaires JavaDoc-style dans les fichiers IDL.

  • nsIDOMSerializer (actuellement, le constructeur JavaScript est XMLSerializer()) ;
  • nsIDOMParser (actuellement, le constructeur JavaScript est DOMParser()) ;
  • nsIXMLHttpRequest.

Veuillez consulter la section Lier et pointer dans le XML dans l'article XML dans Mozilla pour plus d'informations sur FIXptr et XPointer.

Comment aider ?

  • Aidez à tester les composants contenus dans le module.
  • Contribuez à la documentation du module.
  • Aidez au niveau du code, contribuez à faire des patches ou à compléter des fonctionnalités.

Interwiki Languages Links

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : Mgjbot, BenoitL, Fredchat, Chbok
 Dernière mise à jour par : Mgjbot,