mozilla

Revision 71655 of E4X

  • Enlace amigable (slug) de la revisión: E4X
  • Título de la revisión: E4X
  • Id de la revisión: 71655
  • Creada:
  • Creador: Mgjbot
  • ¿Es la revisión actual? No
  • Comentario robot Añadido: [[en:E4X]] <<langbot>>

Contenido de la revisión

ECMAScript for XML (E4X) es una extensión del lenguaje de programación que agrega el XML nativo soportado por JavaScript. Hace esto proporcionando el acceso al documento de XML en una forma que se sienta natural para los programadores de ECMAScript. La meta es proporcionar una sintaxis alternativa, más simple para tener acceso a documentos de XML que se interconecta vía DOM. .

E4X es estandardizado por Ecma International dentro del ECMA-357 standard (actualmente en su segunda edición, December 2005).

E4X se pone en ejecución (por lo menos parcialmente) en SpiderMonkey (Gecko's con motor de JavaScript ) y dentro de Rhino (JavaScript con motor escrito en Java).

Nota: En browsers basados del Gecko 1.8 tales como Firefox 1.5, E4X ya se permite parcialmente para los autores de páginas webs. Permite completamente E4X, el <script> el elemento necesita tener el tipo del MIME "text/javascript;e4x=1" (i.e. have an attribute of the form type="text/javascript;e4x=1"). The difference between the two modes is that without the "e4x=1" MIME type, any statement-level XML/HTML comment literals (<!--...-->) are ignored for backwards compatibility with the comment hiding trick, and CDATA sections (<![CDATA{{ mediawiki.external('...') }}]>) are not parsed as CDATA literals (which leads to a JS syntax error in HTML since HTML's <script> element produces an implicit CDATA section, and therefore cannot contain explicit CDATA sections).

someone verify the above

Known bugs and limitations

  • It is not currently possible to access a DOM object through E4X ({{ Bug("270553") }})
  • E4X doesn't support parsing XML declaration (<?xml version=...?>) (see {{ Bug("336551") }}). You may get SyntaxError "xml is a reserved identifier" (despite the XML being in a string).

Workaround:

var response = xmlhttprequest.responseText; // bug 270553
response = response.replace('<?xml version="1.0"?>', ""); // bug 336551
var e4x = new XML(response);

Resources

{{ languages( { "en": "en/E4X", "fr": "fr/E4X", "it": "it/E4X", "ja": "ja/E4X", "ko": "ko/E4X", "pl": "pl/E4X" } ) }}

Fuente de la revisión

<p>
<b>ECMAScript for XML</b> (<b>E4X</b>) es una extensión del lenguaje de programación que agrega el <a href="es/XML">XML</a> nativo soportado por <a href="es/JavaScript">JavaScript</a>. Hace esto proporcionando el acceso al documento de XML en una forma que se sienta natural para los programadores de ECMAScript. La meta es proporcionar una sintaxis alternativa, más simple para tener acceso a documentos de XML que se interconecta vía <a href="es/DOM">DOM</a>. .
</p><p>E4X es estandardizado por Ecma International dentro del <a class="external" href="http://www.ecma-international.org/publications/standards/Ecma-357.htm">ECMA-357 standard</a> (actualmente en su segunda edición, December 2005).
</p><p>E4X se pone en ejecución (por lo menos parcialmente) en <a href="es/SpiderMonkey">SpiderMonkey</a> (<a href="es/Gecko">Gecko</a>'s con motor de JavaScript ) y dentro de <a href="es/Rhino">Rhino</a> (JavaScript con motor escrito en Java).
</p>
<div class="note"><b>Nota:</b> En browsers basados del Gecko 1.8 tales como Firefox 1.5, E4X ya se permite parcialmente para los autores de páginas webs. Permite completamente E4X, el <code>&lt;script&gt;</code> el elemento necesita tener el tipo del MIME "text/javascript;e4x=1" (i.e. have an attribute of the form <code>type="text/javascript;e4x=1"</code>). The difference between the two modes is that without the "e4x=1" MIME type, any statement-level XML/HTML comment literals (<code><span class="nowiki">&lt;!--...--&gt;</span></code>) are ignored for backwards compatibility with the comment hiding trick, and CDATA sections (<code>&lt;![CDATA{{ mediawiki.external('...') }}]&gt;</code>) are not parsed as CDATA literals (which leads to a JS syntax error in HTML since HTML's <code>&lt;script&gt;</code> element produces an implicit CDATA section, and therefore cannot contain explicit CDATA sections).
<p><span class="comment">someone verify the above</span>
</p>
</div>
<h3 name="Known_bugs_and_limitations"> Known bugs and limitations </h3>
<ul><li> It is not currently possible to access a DOM object through E4X ({{ Bug("270553") }})
</li><li> E4X doesn't support parsing XML declaration (<code>&lt;?xml version=...?&gt;</code>) (see {{ Bug("336551") }}). You may get SyntaxError "xml is a reserved identifier" (despite the XML being in a string).
</li></ul>
<p>Workaround:
</p>
<pre class="eval">var response = xmlhttprequest.responseText; // bug 270553
response = response.replace('&lt;?xml version="1.0"?&gt;', ""); // bug 336551
var e4x = new XML(response);
</pre>
<h3 name="Resources"> Resources </h3>
<ul><li> See the list of <a href="Special:Tags?tag=E4X&amp;language=es">E4X-related pages</a> on MDC.
</li><li> <a class="external" href="http://www.ecma-international.org/publications/standards/Ecma-357.htm">ECMA-357 standard</a>
</li><li> <a class="external" href="http://developer.mozilla.org/presentations/xtech2005/e4x/">Brendan's presentation</a>
</li><li> <a class="external" href="http://www.faqts.com/knowledge_base/index.phtml/fid/1762">E4X at faqts.com</a>
</li></ul>
<div class="noinclude">
</div>
{{ languages( { "en": "en/E4X", "fr": "fr/E4X", "it": "it/E4X", "ja": "ja/E4X", "ko": "ko/E4X", "pl": "pl/E4X" } ) }}
Revertir a esta revisión