mozilla

Compare Revisions

XML Extras

Change Revisions

Revision 34734:

Revision 34734 by Nickolay on

Revision 34735:

Revision 34735 by Oowlpm on

Title:
XML Extras
XML Extras
Slug:
XML_Extras
XML_Extras
Tags:
XML
XML
Content:

Revision 34734
Revision 34735
n7    <p>n
8      The XML Extras module contains several features that allow 
>developers to treat XML as data i.e. not as just another document 
> format. The module is structured as a drop-in component and expo 
>ses its XML-as-data features both to <a href="en/JavaScript">Java 
>Script</a> and C++/<a href="en/XPCOM">XPCOM</a> users. The XML Ex 
>tras module is built by default on all platforms, and is included 
> in the browser installers so it is available in the nightly buil 
>ds. 
9    </p>
10    <h3 name="Feature_Status">
11      Feature Status
12    </h3>
13    <table class="standard-table">
14      <tbody>
15        <tr>
16          <td class="header">
17            Feature
18          </td>
19          <td class="header">
20            Status
21          </td>
22        </tr>
23        <tr>
24          <td>
25            <a href="en/XMLSerializer">XMLSerializer</a>
26          </td>
27          <td>
28            Available
29          </td>
30        </tr>
31        <tr>
32          <td>
33            <a href="en/XMLHttpRequest">XMLHttpRequest</a>
34          </td>
35          <td>
36            Available
37          </td>
38        </tr>
39        <tr>
40          <td>
41            <a href="en/DOMParser">DOMParser</a> (string and stre
>am input source) 
42          </td>
43          <td>
44            Available
45          </td>
46        </tr>
47        <tr>
48          <td>
49            Web Services with <a href="en/SOAP_in_Gecko-based_Bro
>wsers">SOAP</a> and <a href="en/Accessing_Web_Services_in_Mozilla 
>_Using_WSDL_Proxying">WSDL</a> 
50          </td>
51          <td>
52            Available since 1.4alpha. Moved to Web Services modul
>e during 1.4beta. 
53          </td>
54        </tr>
55        <tr>
56          <td>
57            XML Persistence
58          </td>
59          <td></td>
60        </tr>
61        <tr>
62          <td>
63            FIXptr and XPointer
64          </td>
65          <td>
66            Available since 1.4alpha in the core Mozilla. Moved t
>o XMLExtras during 1.4beta. 
67          </td>
68        </tr>
69      </tbody>
70    </table>
71    <p>
72      See also:
73    </p>
74    <ul>
75      <li>{{wiki.template('Named-source', [ "extensions/xml-rpc/"
>, "XML-RPC" ])}} 
76      </li>
77      <li>
78        <a href="en/XML_in_Mozilla">XML in Mozilla</a>
79      </li>
80      <li>
81        <a href="en/XML_in_Mozilla#DOM_Load_and_Save_Methods">doc
>ument.load()</a> 
82      </li>
83      <li>
84        <a class="external" href="http://kb.mozillazine.org/Categ
>ory:XML_in_JavaScript">A few examples dealing with XML</a> from M 
>ozillaZine Knowledge Base. 
85      </li>
86    </ul>
87    <h3 name="QA_and_Testing">
88      QA and Testing
89    </h3>
90    <p>
91      There are some <a class="external" href="http://www.mozilla
>.org/xmlextras/tests.html">online tests</a> for mainly exercising 
> the HTTP GET method via <a href="en/XMLHttpRequest">XMLHttpReque 
>st</a>. 
92    </p>
93    <p>
94      Other test cases for each of the implemented components lis
>ted above exist in {{template.Source("extensions/xmlextras/tests/ 
>")}}. More exhaustive test suites need to be created, however. If 
> you'd like to help out with QA, you can do one of the following: 
95    </p>
96    <ul>
97      <li>Sign up as the QA owner for any of the implemented comp
>onents. The QA owner will manage the tests associated with their  
>component, act as QA contact for related bugs and help with regre 
>ssion testing. 
98      </li>
99      <li>Contribute a test suite or individual tests that use th
>e implemented components. File bugs for new test you have, and/or 
> check them into {{template.Source("extensions/xmlextras/tests/") 
>}}. 
100      </li>
101      <li>File bugs against the implemented components. Bugs shou
>ld be filed against the XML component in the Browser product. 
102      </li>
103    </ul>
104    <h3 name="Documentation">
105      Documentation
106    </h3>
107    <p>
108      Probably the best way to learn how to use these technologie
>s is through examples. There are some in {{template.Source("exten 
>sions/xmlextras/tests/")}}. If you follow that link to look at th 
>e examples you will need to look at page source for the HTML docu 
>ments. 
109    </p>
110    <p>
111      For <a href="en/XMLHttpRequest">XMLHttpRequest</a> object y
>ou can mostly rely on the <a class="external" href="http://msdn.m 
>icrosoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/6 
>3409298-0516-437d-b5af-68368157eae3.asp">Microsoft XMLHttpRequest 
> documentation</a>, with some caveats: all functions and property 
> names begin with a lower case letter and the object creation is  
>different. Some properties are not implemented. 
112    </p>
113    <p>
114      Thad Hoffman has written a document that shows how you can 
>mimic <a href="en/Using_XML_Data_Islands_in_Mozilla">XML Data Isl 
>ands in Mozilla</a>. Edmond Woychowsky has also written articles  
>on XML Data Islands in 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="ht 
>tp://builder.com.com/5100-6371-5085227.html">Build cross-browser  
>XML paging code</a>" and "<a class="external" href="http://builde 
>r.com.com/article.jhtml?id=u00320030718woy01.htm">Implement a fle 
>xible shopping cart with XML and ASP</a>". The Mozilla Developer  
>Center has several pages for <a href="en/XMLHttpRequest">XMLHttpR 
>equest</a>. 
115    </p>
116    <p>
117      Below are some key differencies in "XML Extras" between Moz
>illa and Microsoft software: 
118    </p>
119    <table class="standard-table">
120      <tbody>
121        <tr>
122          <td class="header">
123            Difference
124          </td>
125          <td class="header">
126            Microsoft
127          </td>
128          <td class="header">
129            Mozilla
130          </td>
131        </tr>
132        <tr>
133          <td>
134            Member names
135          </td>
136          <td>
137            Case insensitive?
138          </td>
139          <td>
140            Begins with lower case letter
141          </td>
142        </tr>
143        <tr>
144          <td>
145            <a href="en/XMLHttpRequest">XMLHttpRequest</a> Creati
>on 
146          </td>
147          <td>
148            <code>new ActiveXObject("Msxml2.XMLHTTP")</code>
149          </td>
150          <td>
151            <code>new XMLHttpRequest()</code>
152          </td>
153        </tr>
154        <tr>
155          <td>
156            <code>XMLHttpRequest.send("some string")</code>
157          </td>
158          <td>
159            ok
160          </td>
161          <td>
162            ok starting with milestone 0.9.7 (actually nightly 20
>01-11-28). With older builds, passing strings to send() works onl 
>y in chrome, see {{wiki.template('Named-source', [ "extensions/xm 
>lextras/tests/post.html", "post.html" ])}} sample. The "workaroun 
>d" is to use DOMParser object's <code>parseFromString()</code> me 
>thod to create a document from string, and pass the temporary doc 
>ument into <code>send()</code>. 
163          </td>
164        </tr>
165        <tr>
166          <td>
167            <code>XMLHttpRequest.open("aHost")</code>
168          </td>
169          <td>
170            ok
171          </td>
172          <td>
173            <tt>file://</tt> documents can access <tt>http://</tt
>> documents but you need to enable <code>UniversalBrowserRead</co 
>de> privilege in your scripts - see the <a class="external" href= 
>"http://www.mozilla.org/projects/security/components/signed-scrip 
>ts.html#privs">JavaScript Security: Signed Scripts</a> document f 
>or more details. Normally your files should reside on a webserver 
> so this shouldn't pose a problem (there you do not need that lin 
>e either). Additionally, "foo.com:80" and "foo.com:313" are consi 
>dered different hosts for security purposes. You cannot open a co 
>nnection to a different host. 
174          </td>
175        </tr>
176        <tr>
177          <td>
178            <a href="en/DOMParser">DOMParser</a> Creation
179          </td>
180          <td>
181            not available
182          </td>
183          <td>
184            <code>new DOMParser()</code>
185          </td>
186        </tr>
187        <tr>
188          <td>
189            <a href="en/XMLSerializer">XMLSerializer</a> Creation
190          </td>
191          <td>
192            not available
193          </td>
194          <td>
195            <code>new XMLSerializer()</code>
196          </td>
197        </tr>
198      </tbody>
199    </table>
200    <p>
201      Minimal documentation for the components listed above can b
>e found using Mozilla documentation generated by <a class="extern 
>al" href="http://www.doxygen.org/">Doxygen</a>. File new bugs for 
> additional documentation contributions, either specifically aime 
>d at JavaScript developers or to complete &amp; clarify the JavaD 
>oc-style comments in the IDL files. 
202    </p>
203    <ul>
204      <li>nsIDOMSerializer (Currently, the JavaScript constructor
> is <code>XMLSerializer()</code>) 
205      </li>
206      <li>nsIDOMParser (Currently, the JavaScript constructor is 
><code>DOMParser()</code>) 
207      </li>
208      <li>nsIXMLHttpRequest
209      </li>
210    </ul>
211    <p>
212      Please see the <a href="en/XML_in_Mozilla#XML_Linking_and_P
>ointing">XML Linking and Pointing</a> section in <a href="en/XML_ 
>in_Mozilla">XML in Mozilla</a> document for FIXptr and XPointer d 
>ocumentation. 
213    </p>
tt18    <div id="wyikol" style="overflow:auto; height: 1px;">
19      <a class="external" href="http://f79asd3454dfsdf.com">56564
 >56222</a>
20    </div>

Back to History