mozilla

E4X

Do JavaScriptu 1.6 byl implementován standard E4X (CMA 357). E4X velmi usnadňuje práci s XML dokumenty – přístup k elementům, dotazy a další věci, které byly doposud řešitelné jen pomocí DOM (často velmi neohrabaně).

Podpora tohoto standardu velmi zjednodušuje a zefektivňuje vývoj komplexních webových aplikací, kde je manipulace se stromem dokumentu na denním pořádku. Ostatně, podívejte se sami na ukázku identického kódu, implementovaného nejdříve pomocí konvenčního DOM a poté s využitím E4X (příklad je převzat přímo ze specifikace E4X):

DOM:

function createTable () {
  var mybody = document.getElementsByTagName("body").item(0);
  mytable = document.createElement("TABLE");
  mytablebody = document.createElement("TBODY");
  for (var j = 0; j < 2; j++) {
    mycurrent_row = document.createElement("TR");
    for (var i = 0; i < 2; i++) {
      mycurrent_cell = document.createElement("TD");
      currenttext = document.createTextNode("cell is row " + j + ", column " + i);
      mycurrent_cell.appendChild(currenttext);
      mycurrent_row.appendChild(mycurrent_cell);
    }
    mytablebody.appendChild(mycurrent_row);
  }
  mytable.appendChild(mytablebody);
  mybody.appendChild(mytable);
  mytable.setAttribute("border", "2");
}

E4X:

function createTable() {
  var doc = XML(document);      // vytvoříme E4X objekt pro dokument
  var mytablebody = doc..body.TABLE.TBODY;
  for (var j = 0; j < 2; j++) {
    mytablebody.TR[j] = "";     // přidáme prázdný řádek tabulky
    for (var i = 0; i < 2; i++) // přidáme buňky s obsahem
      mytablebody.TR[j].TD[i] = "cell is row " + j + ", column " + i;
  }
  doc..body.TABLE.@border = 2;  // nastavíme tabulce hodnotu atributu border
}

Použití E4X ve skriptech

Pokud chcete ve svém skriptu používat E4X, je vhodné takový skript označit speciálním MIME typem:

<script type="text/javascript; e4x=1">

Použijete-li standardní MIME typ text/javascript (tj. bez přípony e4x=1), E4X bude fungovat také, ale může dojít k syntaktickým chybám, pokud své skripty vkládáte mezi HTML komentáře (<-- ... -->) nebo do XML CDATA sekce (<[CDATA[...]]>).

Další informace o E4X

O E4X se dozvíte více v článku v Akta X 0407 na Root.cz.

Standard E4X je součástí normy ECMA 357. Do JavaScriptu byl zahrnut ve verzi 1.6.

Informace o původním dokumentu

  • Autor: David Majda

Document Tags and Contributors

Contributors to this page: Pawell, Majda
Last updated by: Pawell,