--- title: E4X slug: E4X tags: - E4X - JavaScript - Wszystkie_kategorie translation_of: Archive/Web/E4X ---
ECMAScript dla XML-a (E4X) jest rozszerzeniem języka programowania, które dodaje natywną obsługę XML-a do JavaScript-u poprzez dodanie dostępu do dokumentu XML w formie wygodnej dla programistów ECMAScript. Celem jest dostarczenie alternatywnej składni, prostszej do operowania na dokumentach XML niż przez interfejsy DOM.
E4X jest standaryzowane przez Ecma International w standardzie ECMA-357 (aktualnie jego drugiej edycji z grudnia 2005).
E4X jest zaimplementowane (przynajmniej częściowo) w SpiderMonkey (silnik JavaScriptu w Gecko) oraz w Rhino (silnik JavaScriptu napisany w Javie).
<script>
musi posiadać typ MIME "text/javascript;e4x=1" (tzn. posiadać atrybut type="text/javascript;e4x=1"
). Różnicą pomiędzy tymi dwoma trybami jest to, że bez typu MIME "e4x=1" dowolny, będący na poziomie instrukcji literał komentarza XML/HTML (<!--...-->
) jest ignorowany dla kompatybilności wstecznej za pomocą sztuczki z ukrywaniem komentarza, a sekcje (<![CDATA{{ mediawiki.external('...') }}]>
) nie są parsowane jako literały CDATA (co prowadziło do błędu składni JS w kodzie HTML, ponieważ element <script>
tworzy ukrytą sekcję CDATA i w związku z tym nie może w sposób bezpośredni zawierać sekcji CDATA).
someone verify the above
<?xml version=...?>
) (zobacz {{ Bug(336551) }}). Możesz otrzymać błąd składni "xml is a reserved identifier" (mimo że XML jest wewnątrz łańcucha znaków).
Sposoby obejścia:
var response = xmlhttprequest.responseText; // błąd 270553 response = response.replace('<?xml version="1.0"?>', ""); // błąd 336551 var e4x = new XML(response);