E4X

  • Enlace amigable (slug) de la revisión: E4X
  • Título de la revisión: E4X
  • Id de la revisión: 71657
  • Creada:
  • Creador: StripTM
  • ¿Es la revisión actual? No
  • Comentario 9 words added, 9 words removed

Contenido de la revisión

ECMAScript for XML (E4X) es una extensión del lenguaje de programación que añade la implementación de XML nativo a JavaScript. Esto proporciona el acceso al documento de XML de manera que sea natural para los programadores de ECMAScript. El objetivo es proporcionar una alternativa, una sintaxis más simple para tener acceso a documentos XML a través de las interfaces DOM.

E4X está estandarizado por Ecma International dentro del ECMA-357 standard (actualmente en su segunda edición, diciembre 2005).

E4X se implementa (al menos parcialmente) en SpiderMonkey (Gecko's con motor de JavaScript ) y dentro de Rhino (JavaScript con motor escrito en Java).

Nota: En navegadores basados del Gecko 1.8 tales como Firefox 1.5, E4X ya se puede usar parcialmente para los autores de páginas webs. Para disponer completamente de E4X, el elemento <script> necesita tener el tipo del MIME "text/javascript;e4x=1" (ej. tener un atributo en el formulario type="text/javascript;e4x=1"). La diferencia entre los dos modos es que sin el tipo MIME "e4x=1", cualquiera de los literales de comentario (<!--...-->) en instrucciones XML/HTML son ignorados por compatibilidad hacia atrás con el truco de ocultar el comentario, y las secciones CDATA (<![CDATA{{ mediawiki.external('...') }}]>) no son procesadas como literales CDATA (que conduce a un error de sintaxis JS en el HTML ya que el elemento <script> de HTML produce una sección CDATA implicita, y por lo tanto no puede contener explicitamente secciones CDATA).

Errores conocidos y limitaciones

  • Actualmente no es posible acceder al objeto DOM a través de E4X ({{ Bug("270553") }})
  • E4X no implementa el procesar la declaración (<?xml version=...?>) (ver {{ Bug("336551") }}). Puedes obtener un SyntaxError "xml is a reserved identifier" (a pesar de que el XML sea un string).

Solución:

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

Recursos

{{ 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><strong>ECMAScript for XML</strong> (<strong>E4X</strong>) es una extensión del lenguaje de programación que añade la implementación de XML nativo a <a href="/es/JavaScript" title="es/JavaScript">JavaScript</a>. Esto proporciona el acceso al documento de XML de manera que sea natural para los programadores de ECMAScript. El objetivo es proporcionar una alternativa, una sintaxis más simple para tener acceso a documentos XML a través de las interfaces <a href="/es/DOM" title="es/DOM">DOM</a>.</p>
<p>E4X está estandarizado 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, diciembre 2005).</p>
<p>E4X se implementa (al menos parcialmente) en <a href="/es/SpiderMonkey" title="es/SpiderMonkey">SpiderMonkey</a> (<a href="/es/Gecko" title="es/Gecko">Gecko</a>'s con motor de JavaScript ) y dentro de <a href="/es/Rhino" title="es/Rhino">Rhino</a> (JavaScript con motor escrito en Java).</p>
<div class="note"> <p><strong>Nota:</strong> En navegadores basados del Gecko 1.8 tales como Firefox 1.5, E4X ya se puede usar parcialmente para los autores de páginas webs. Para disponer completamente de E4X, el elemento <code>&lt;script&gt;</code> necesita tener el tipo del MIME "text/javascript;e4x=1" (ej. tener un atributo en el formulario <code>type="text/javascript;e4x=1"</code>). La diferencia entre los dos modos es que sin el tipo MIME "e4x=1", cualquiera de los literales de comentario (<code><span class="nowiki">&lt;!--...--&gt;</span></code>) en instrucciones XML/HTML son ignorados por compatibilidad hacia atrás con el truco de ocultar el comentario, y las secciones CDATA (<code>&lt;![CDATA{{ mediawiki.external('...') }}]&gt;</code>) no son procesadas como literales CDATA (que conduce a un error de sintaxis JS en el HTML ya que el elemento <code>&lt;script&gt;</code> de HTML produce una sección CDATA implicita, y por lo tanto no puede contener explicitamente secciones CDATA).</p>
</div>
<h3 name="Known_bugs_and_limitations">Errores conocidos y limitaciones</h3>
<ul> <li>Actualmente no es posible acceder al objeto DOM a través de E4X ({{ Bug("270553") }})</li> <li>E4X no implementa el procesar la declaración (<code>&lt;?xml version=...?&gt;</code>) (ver {{ Bug("336551") }}). Puedes obtener un SyntaxError "xml is a reserved identifier" (a pesar de que el XML sea un string).</li>
</ul>
<p>Solución:</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">Recursos</h3>
<ul> <li>Consulta la lista de <a href="/Special:Tags?tag=E4X&amp;language=es" title="Special:Tags?tag=E4X&amp;language=es">páginas relacionadas E4X</a> en MDC.</li> <li><a class="external" href="http://www.ecma-international.org/publications/standards/Ecma-357.htm">Estándar ECMA-357</a></li> <li><a class="external" href="/presentations/xtech2005/e4x" title="presentations/xtech2005/e4x">Presentación de Brendan</a></li> <li><a class="external" href="http://www.faqts.com/knowledge_base/index.phtml/fid/1762">E4X en faqts.com</a></li>
</ul>
<p>{{ languages( { "en": "en/E4X", "fr": "fr/E4X", "it": "it/E4X", "ja": "ja/E4X", "ko": "ko/E4X", "pl": "pl/E4X" } ) }}</p>
Revertir a esta revisión