1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
---
title: XML Extras
slug: XML_Extras
tags:
- XML
translation_of: Mozilla/Tech/XML_Extras
---
<p>
</p><p>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 <a href="fr/JavaScript">JavaScript</a> et C++/<a href="fr/XPCOM">XPCOM</a>. 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.
</p>
<h3 id="États_des_fonctionnalités"> États des fonctionnalités </h3>
<table class="standard-table"> <tbody><tr>
<td class="header">Fonctionnalité
</td><td class="header">État
</td></tr>
<tr>
<td><a href="fr/XMLSerializer">XMLSerializer</a>
</td><td>Disponible
</td></tr>
<tr>
<td><a href="fr/XMLHttpRequest">XMLHttpRequest</a>
</td><td>Disponible
</td></tr>
<tr>
<td><a href="fr/DOMParser">DOMParser</a> (chaînes ou flux comme source entrante)
</td><td>Disponible
</td></tr>
<tr>
<td>Services Web avec <a href="fr/SOAP_dans_les_navigateurs_Gecko">SOAP</a> et <a href="fr/Services_Web_XML/Acc%c3%a9der_%c3%a0_des_services_web_avec_Mozilla_en_utilisant_un_proxy_WSDL">WSDL</a>
</td><td>Disponible depuis 1.4alpha. Déplacé vers le module Services Web dans la 1.4beta.
</td></tr>
<tr>
<td>Persistance XML
</td><td>
</td></tr>
<tr>
<td>FIXptr et XPointer
</td><td>Disponible depuis 1.4alpha dans le noyau Mozilla. Déplacé vers XMLExtras dans la 1.4beta.
</td></tr>
</tbody></table>
<p>Voir aussi :
</p>
<ul><li> <a href="https://dxr.mozilla.org/mozilla-central/source/extensions/xml-rpc/" rel="custom">XML-RPC</a>
</li><li> <a href="fr/XML_dans_Mozilla">XML dans Mozilla</a>
</li><li> <a href="fr/XML_dans_Mozilla#M.C3.A9thodes_DOM_de_chargement_et_de_sauvegarde">document.load()</a>
</li><li> <a class="external" href="http://kb.mozillazine.org/Category:XML_in_JavaScript">Quelques exemples avec du XML</a> dans la base de connaissance de MozillaZine (en).
</li></ul>
<h3 id="Assurance_Qualité_et_tests"> Assurance Qualité et tests </h3>
<p>Plusieurs <a class="external" href="http://www.mozilla.org/xmlextras/tests.html">tests en ligne</a> expérimentent la méthode GET HTTP via <a href="fr/XMLHttpRequest">XMLHttpRequest</a>.
</p><p>D'autres exemples de tests pour chacun des composants listés ci-dessus sont disponibles dans <code><a href="https://dxr.mozilla.org/mozilla-central/source/extensions/xmlextras/tests/" rel="custom">extensions/xmlextras/tests/</a></code>. 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 :
</p>
<ul><li> 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.
</li><li> 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 <code><a href="https://dxr.mozilla.org/mozilla-central/source/extensions/xmlextras/tests/" rel="custom">extensions/xmlextras/tests/</a></code>.
</li><li> 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 ».
</li></ul>
<h3 id="Documentation"> Documentation </h3>
<p>La manière la plus efficace pour apprendre à utiliser ces technologies est de travailler à partir d'exemples. Il y en a quelques uns dans <code><a href="https://dxr.mozilla.org/mozilla-central/source/extensions/xmlextras/tests/" rel="custom">extensions/xmlextras/tests/</a></code>. Si vous suivez ce lien pour consultez les exemples, vous devriez aussi consulter le code source des documents HTML.
</p><p>Pour les objets <a href="fr/XMLHttpRequest">XMLHttpRequest</a>, vous pouvez le plus souvent vous référer à <a class="external" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/63409298-0516-437d-b5af-68368157eae3.asp">la documentation XMLHttpRequest de Microsoft</a>, 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.
</p><p>Thad Hoffman a écrit un document montrant comment mimer <a href="fr/Utilisation_de_Data_Islands_XML_dans_Mozilla">du XML Data Islands dans Mozilla</a>. Edmond Woychowsky a également écrit des articles sur le XML Data Islands dans Mozilla : "<a class="external" href="http://builder.com.com/article.jhtml?id=u00220030515woy01.htm">Make XML data islands work in Mozilla</a>", "<a class="external" href="http://builder.com.com/5100-6371-5085227.html">Build cross-browser XML paging code</a>" et "<a class="external" href="http://builder.com.com/article.jhtml?id=u00320030718woy01.htm">Implement a flexible shopping cart with XML and ASP</a>". Mozilla Developer Center dispose aussi de plusieurs pages sur <a href="fr/XMLHttpRequest">XMLHttpRequest</a>.
</p><p>Ci-dessous, voici les quelques différences majeures entre les logiciels Mozilla et Microsoft :
</p>
<table class="standard-table"> <tbody><tr>
<td class="header">Différence
</td><td class="header">Microsoft
</td><td class="header">Mozilla
</td></tr>
<tr>
<td>Noms des membres
</td><td>Insensible à la casse ?
</td><td>Débute par une minuscule
</td></tr>
<tr>
<td>Création de <a href="fr/XMLHttpRequest">XMLHttpRequest</a>
</td><td><code>new ActiveXObject("Msxml2.XMLHTTP")</code>
</td><td><code>new XMLHttpRequest()</code>
</td></tr>
<tr>
<td><code>XMLHttpRequest.send("du texte")</code>
</td><td>ok
</td><td>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 <a href="https://dxr.mozilla.org/mozilla-central/source/extensions/xmlextras/tests/post.html" rel="custom">post.html</a>. La « solution » est d'utiliser la méthode <code>parseFromString()</code> l'objet DOMParser pour créer un document depuis une chaîne de caractères, et de transmettre ce document temporaire dans <code>send()</code>.
</td></tr>
<tr>
<td><code>XMLHttpRequest.open("aHost")</code>
</td><td>ok
</td><td>Des documents <tt><a class=" external">file://</a></tt> peuvent être ouverts depuis des documents <tt><a class=" external" href="http://">http://</a></tt>, mais vous devez activer le privilège <code>UniversalBrowserRead</code> dans vos scripts - consultez le document <a class="external" href="http://www.mozilla.org/projects/security/components/signed-scripts.html#privs">JavaScript Security: Signed Scripts</a> 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.
</td></tr>
<tr>
<td>Création de <a href="fr/DOMParser">DOMParser</a>
</td><td>non disponible
</td><td><code>new DOMParser()</code>
</td></tr>
<tr>
<td>Création de <a href="fr/XMLSerializer">XMLSerializer</a>
</td><td>non disponible
</td><td><code>new XMLSerializer()</code>
</td></tr>
</tbody></table>
<p>Une documentation minimale des composants listés ci-dessus est disponible avec la documentation de Mozilla en utilisant <a class="external" href="http://www.doxygen.org/">Doxygen</a>. 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.
</p>
<ul><li> nsIDOMSerializer (actuellement, le constructeur JavaScript est <code>XMLSerializer()</code>) ;
</li><li> nsIDOMParser (actuellement, le constructeur JavaScript est <code>DOMParser()</code>) ;
</li><li> nsIXMLHttpRequest.
</li></ul>
<p>Veuillez consulter la section <a href="fr/XML_dans_Mozilla#Lier_et_pointer_dans_le_XML">Lier et pointer dans le XML</a> dans l'article <a href="fr/XML_dans_Mozilla">XML dans Mozilla</a> pour plus d'informations sur FIXptr et XPointer.
</p>
<h3 id="Comment_aider"> Comment aider ? </h3>
<ul><li> Aidez à <a href="fr/XML_dans_Mozilla#Tests_et_assurance_qualit.C3.A9">tester</a> les composants contenus dans le module.
</li><li> Contribuez à la <a href="#documentation">documentation</a> du module.
</li><li> Aidez au niveau du code, contribuez à faire des patches ou à compléter des fonctionnalités.
</li></ul>
<p><span>Interwiki Languages Links</span>
</p>
<div class="noinclude">
</div>
|