Bom, vocês já devem ter escutado ou lido sobre o E4X ?!
Pois bem, eu estava fazendo uns testes aqui com AJAX, tale coisa e coise tale. Quando decidi brincar um pouco mais com o E4X mesmo sabendo das
limitações desse padrão para o navegador da MS, já que a MS decidiu não adotar a este padrão da W3C e desenvolver o seu próprio Framework para trabalhar com AJAX, o que se deu início com o ATLAS Framework.
Pra quem não sabe E4X é JavaScript for XML:
E de
ECMA = (The European Computer Manufacturers Association) - Órgão responsável pela criação e padronização do JavaScript;
4 de
for;
X de
XML;
Mas onde eu quero chegar? Quero dizer que se segundo as especificações o Mozilla Firefox 1.1 já daria suporte a este padrão, porque então a minha versão do navegador [ Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-BR; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1 ] não interpreta um simples comando de leitura de arquivo XML tal como:
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<message><![CDATA[if salary > 1000 then]]></message>
</root>
-------------------------------------------------------------
<script language="javasript">
function lerXML(){
var xmlDoc=new XML()
xmlDoc.load("xola.xml")
document.write(xmlDoc.body)
}
</script>
------------------------------------------------------------
E a moda antiga funciona corretamente:
<script language="javascript">
var xmlDoc
function loadXML()
{
//Carrega xml para IE
if (window.ActiveXObject){
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.load("xola.xml");
getmessage();
}else if (document.implementation &&
document.implementation.createDocument){
xmlDoc= document.implementation.createDocument("","",null);
xmlDoc.load("xola.xml");
alert('carregou xml');
xmlDoc.onload=getmessage();
}else{
alert('Your browser cannot handle this script');
}
}
function getmessage(){
alert(xmlDoc.getElementsByTagName("message")[0].firstChild.data);
}
</script>
Achei estranho...pq no modo E4X ele carrega o objeto XML, porém não reconhece a propriedade body que está descrita no padrão W3C como mostra no
W3Schools mas não funciona!
Será que ainda não aderiram o padrão?! Ou eu estou de navalhagem?!
Mais alguém percebeu isso?
[]'s