Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

alack

XML e XSL Transformation com JavaScript no Linux

Recommended Posts

Pessoas... seguinte...

 

Eu tenho um código que funciona CrossBrowser em plataforma Widnows, mas gostaria que ele também funcionasse desta menira no Linux.

Eu tenho um SuSE 10 e meu script de XSL Transformation só funcionou com o KDE no Firefox 1.0.7 e no Mozilla Suite. No Konkeror e no Firefox 1.5 e 1.5.0.1 não funcionou. No Gnome não funcinou em nenhum. Testei até mesmo o Epiphany e não funcionou também.

 

Os arquivos XML e XSL que usei são os arquivos usados no tutorial XSL do W3Schools. O arquivo HTML só não é o mesmo pois o JavaScript apresentado por eles só roda no Internet "Exploder" e o meu funciona em qualquer navegador (CrossBrowser).

 

Espero que possam me ajudar :D

 

Código XML:

<?xml version="1.0" encoding="ISO-8859-1"?><!-- Edited with XML Spy v4.2 --><catalog>	<cd>		<title>Empire Burlesque</title>		<artist>Bob Dylan</artist>		<country>USA</country>		<company>Columbia</company>		<price>10.90</price>		<year>1985</year>	</cd>	<cd>		<title>Hide your heart</title>		<artist>Bonnie Tyler</artist>		<country>UK</country>		<company>CBS Records</company>		<price>9.90</price>		<year>1988</year>	</cd>	<cd>		<title>Greatest Hits</title>		<artist>Dolly Parton</artist>		<country>USA</country>		<company>RCA</company>		<price>9.90</price>		<year>1982</year>	</cd>	<cd>		<title>Still got the blues</title>		<artist>Gary Moore</artist>		<country>UK</country>		<company>Virgin records</company>		<price>10.20</price>		<year>1990</year>	</cd>	<cd>		<title>Eros</title>		<artist>Eros Ramazzotti</artist>		<country>EU</country>		<company>BMG</company>		<price>9.90</price>		<year>1997</year>	</cd>	<cd>		<title>One night only</title>		<artist>Bee Gees</artist>		<country>UK</country>		<company>Polydor</company>		<price>10.90</price>		<year>1998</year>	</cd>	<cd>		<title>Sylvias Mother</title>		<artist>Dr.Hook</artist>		<country>UK</country>		<company>CBS</company>		<price>8.10</price>		<year>1973</year>	</cd>	<cd>		<title>Maggie May</title>		<artist>Rod Stewart</artist>		<country>UK</country>		<company>Pickwick</company>		<price>8.50</price>		<year>1990</year>	</cd>	<cd>		<title>Romanza</title>		<artist>Andrea Bocelli</artist>		<country>EU</country>		<company>Polydor</company>		<price>10.80</price>		<year>1996</year>	</cd>	<cd>		<title>When a man loves a woman</title>		<artist>Percy Sledge</artist>		<country>USA</country>		<company>Atlantic</company>		<price>8.70</price>		<year>1987</year>	</cd>	<cd>		<title>Black angel</title>		<artist>Savage Rose</artist>		<country>EU</country>		<company>Mega</company>		<price>10.90</price>		<year>1995</year>	</cd>	<cd>		<title>1999 Grammy Nominees</title>		<artist>Many</artist>		<country>USA</country>		<company>Grammy</company>		<price>10.20</price>		<year>1999</year>	</cd>	<cd>		<title>For the good times</title>		<artist>Kenny Rogers</artist>		<country>UK</country>		<company>Mucik Master</company>		<price>8.70</price>		<year>1995</year>	</cd>	<cd>		<title>Big Willie style</title>		<artist>Will Smith</artist>		<country>USA</country>		<company>Columbia</company>		<price>9.90</price>		<year>1997</year>	</cd>	<cd>		<title>Tupelo Honey</title>		<artist>Van Morrison</artist>		<country>UK</country>		<company>Polydor</company>		<price>8.20</price>		<year>1971</year>	</cd>	<cd>		<title>Soulsville</title>		<artist>Jorn Hoel</artist>		<country>Norway</country>		<company>WEA</company>		<price>7.90</price>		<year>1996</year>	</cd>	<cd>		<title>The very best of</title>		<artist>Cat Stevens</artist>		<country>UK</country>		<company>Island</company>		<price>8.90</price>		<year>1990</year>	</cd>	<cd>		<title>Stop</title>		<artist>Sam Brown</artist>		<country>UK</country>		<company>A and M</company>		<price>8.90</price>		<year>1988</year>	</cd>	<cd>		<title>Bridge of Spies</title>		<artist>T`Pau</artist>		<country>UK</country>		<company>Siren</company>		<price>7.90</price>		<year>1987</year>	</cd>	<cd>		<title>Private Dancer</title>		<artist>Tina Turner</artist>		<country>UK</country>		<company>Capitol</company>		<price>8.90</price>		<year>1983</year>	</cd>	<cd>		<title>Midt om natten</title>		<artist>Kim Larsen</artist>		<country>EU</country>		<company>Medley</company>		<price>7.80</price>		<year>1983</year>	</cd>	<cd>		<title>Pavarotti Gala Concert</title>		<artist>Luciano Pavarotti</artist>		<country>UK</country>		<company>DECCA</company>		<price>9.90</price>		<year>1991</year>	</cd>	<cd>		<title>The dock of the bay</title>		<artist>Otis Redding</artist>		<country>USA</country>		<company>Atlantic</company>		<price>7.90</price>		<year>1987</year>	</cd>	<cd>		<title>Picture book</title>		<artist>Simply Red</artist>		<country>EU</country>		<company>Elektra</company>		<price>7.20</price>		<year>1985</year>	</cd>	<cd>		<title>Red</title>		<artist>The Communards</artist>		<country>UK</country>		<company>London</company>		<price>7.80</price>		<year>1987</year>	</cd>	<cd>		<title>Unchain my heart</title>		<artist>Joe Cocker</artist>		<country>USA</country>		<company>EMI</company>		<price>8.20</price>		<year>1987</year>	</cd></catalog>

Código XSL:

<?xml version="1.0" encoding="ISO-8859-1"?><!-- Edited with XML Spy v4.2 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="/">  <html>  <body>  <h2>My CD Collection</h2>    <xsl:apply-templates/>    </body>  </html></xsl:template><xsl:template match="cd">  <p>	<xsl:apply-templates select="title"/>  	<xsl:apply-templates select="artist"/>  </p></xsl:template><xsl:template match="title">  Title: <span style="color:#ff0000">  <xsl:value-of select="."/></span>  <br/></xsl:template><xsl:template match="artist">  Artist: <span style="color:#00ff00">  <xsl:value-of select="."/></span>  <br/></xsl:template></xsl:stylesheet>

Código HTML:

<html>	<script language="JavaScript" type="text/javascript">		function fctMontaTelaXSL()		{			var corpo = document.getElementById("corpo");			var fxml  = "cdcatalog.xml";			var fxsl  = "cdcatalog.xsl";						if (window.ActiveXObject)			{				// Carregando o Arquivo XSL				var xsl   = new ActiveXObject("Microsoft.XMLDOM");				xsl.async = false;				xsl.load(fxsl);								// Carregando o Arquivo XML				var xml   = new ActiveXObject("Microsoft.XMLDOM");				xml.async = false;				xml.load(fxml);								// Transformação				ConteudoTransformado = xml.transformNode(xsl);								corpo.innerHTML = ConteudoTransformado;			}			else if (window.XMLHttpRequest)			{				var objeXSLTProcessor;				var objeXmlDoc;				var objeXSLT;				// Criando o processador de XLST				objeXSLTProcessor = new XSLTProcessor();								// Carregando o arquivo XSL				objeXsl = new XMLHttpRequest();				objeXsl.open("GET", fxsl, false);				objeXsl.send(null);								objeXSLT = objeXsl.responseXML;				objeXSLTProcessor.importStylesheet(objeXSLT);								// Carregando o arquivo XML				objeXml = new XMLHttpRequest();				objeXml.open("GET", fxml, false);				objeXml.send(null);								objeXmlDoc = objeXml.responseXML;								ConteudoTransformado = objeXSLTProcessor.transformToFragment(objeXmlDoc, document);								corpo.appendChild(ConteudoTransformado);			}		}	</script>	<body id="corpo" onload="java script: fctMontaTelaXSL();"></body></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque você não cria uma div dentro da tag <body e nela você insere o conteudo?Pode ser que o erro seja isso. Você esteja tentando inserir o conteudo dentro da tag <body.

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://forum.imasters.com.br/public/style_emoticons/default/devil.gif

 

Nada a ver....o erro da na chamada de função dentro do teu html

 

Errado

 

<body id="corpo" onLoad="java script: fctMontaTelaXSL();"></body>
O Certo é que o java script apos o sinal de igual seja escrito assim JavaScript

 

Sem mais para o momento :D erro so de sintaxe...você fez tudo deiritim, roda em qualquer bagaça

Atenção meu veio, so o que faltou

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, a sintaxe do meu código está correta sim, é a área de código que alterou o fonte.no meu arquivo está:<body id="corpo" onload="java script: fctMontaTelaXSL();"></body>Eu já analizei todos os códigos e os validei nas ferramentas da W3C e ferramentas terceirizadas. Se tiver algum problema de espaçamento ou coisa parecida é extremamente pouco povável que seja erro de sintaxe :D valews pelas tentativas!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK, to falando pra corrigir isso e testar, porque eu fiz isso e testei aqui e funcionou nos dois não sei então como te ajudar, sinto muito por ter atrapalahdo http://forum.imasters.com.br/public/style_emoticons/default/devil.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

É... neste ponto acho que o Hunter está certo... se você tiver colocado

java script:
separado, não rola... deve ser junto.

 

Do contrário não sei como ajudar... não tenho muita experiência em XSL...

Compartilhar este post


Link para o post
Compartilhar em outros sites

caras, num tá separado... aki neste fórum ficou separado pq eu copiei o fonte de um e colei aki. o conflito de formatos dos fóruns fez isso. meu código está certo. e qualdo colei o meu fonte pela segunda vez foi colocada a cópia errada, me desculpem.

funciona no ie, ff, opera no windows, mas no linux só funfa no mozilla suite e no ff 1.0.7 no KDE e no Gnome não funfa em nenhum (usando o SuSE 10 Enterprise)

 

o link do meu código:

http://k.1asphost.com/mfedatto/cdcatalog.html

 

Hunter, você testou no windows e no linux?

Compartilhar este post


Link para o post
Compartilhar em outros sites

caras, num tá separado... aki neste fórum ficou separado pq eu copiei o fonte de um e colei aki. o conflito de formatos dos fóruns fez isso. meu código está certo. e qualdo colei o meu fonte pela segunda vez foi colocada a cópia errada, me desculpem.funciona no ie, ff, opera no windows, mas no linux só funfa no mozilla suite e no ff 1.0.7 no KDE e no Gnome não funfa em nenhum (usando o SuSE 10 Enterprise)o link do meu código:http://k.1asphost.com/mfedatto/cdcatalog.htmlHunter, você testou no windows e no linux?

Nops, testei no XP, Win2003(urgh!!) linux não :S

Compartilhar este post


Link para o post
Compartilhar em outros sites

pois é... plataforma windows tah beleza... o problema é fazer rodar no linux :D

 

é que estou começando a usar linux... e como trabalho com web acho importante minhas aplicações rodarem pelo menos no meu sistema, hehehe.

 

valew pela ajuda... não conseguimos fazer rodar no linux mas agreguei maior pliciamento ao copiar e colar códigos entre fórums http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.