Foros del Web » Programación para mayores de 30 ;) » Programación General »

Como insertar y ejecutar un javascript desde XSLT

Estas en el tema de Como insertar y ejecutar un javascript desde XSLT en el foro de Programación General en Foros del Web. Saludos compañeros, gracias por el apoyo. Me gustaría insertar y ejecutar en el archivo final xhtml, un archivo javascript (.js) desde el XSLT. Por ejemplo: ...
  #1 (permalink)  
Antiguo 23/11/2005, 13:06
Avatar de Chiquita  
Fecha de Ingreso: agosto-2003
Ubicación: 8º 54' de latitud y a 79º 19' de longitud, a 0 metros sobre el nivel del mar
Mensajes: 93
Antigüedad: 20 años, 8 meses
Puntos: 0
Información Como insertar y ejecutar un javascript desde XSLT

Saludos compañeros, gracias por el apoyo.

Me gustaría insertar y ejecutar en el archivo final xhtml, un archivo javascript (.js) desde el XSLT.
Por ejemplo: cuando se ejecuta la transformación del XSLT:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dir="http://apache.org/cocoon/directory/2.0" xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xns="http://localhost:8081/cocoon/XML_WPC/index.dtd">
<xsl:template match="/">
<html>
<script src="prueba.js"><xsl:comment> comentario </xsl:comment></script>
<script>
<![CDATA[
function alerta() {
alert("prueba del xhtml");
testeo();
}
]]>
</script>

<body> //
<script src="javascript:alerta();">
<xsl:comment> comentario </xsl:comment>
</script>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

Solo me ejecuta la funcion local "alerta()", me escribe el llamado a la función testeo(); que se encuentra localizado en un archivo externo "prueba.js" que contiene la siguiente información:

function testeo(){
alert("prueba del js");
}

Cuando se lleva a cabo la transformación, me presenta la alerta "prueba del xhtml" del archivo xhtml final, pero no el "prueba del js" que se encuentra en el archivo externo.

Realice unas pruebas: Copie el código fuente del archivo xhtml final, y lo guarde como xslt_javascript.HTML, cuando lo ejecuto me aparecen los dos mensajes de alerta.

Alguna idea el porque no se ejecuta el archivo externo .js???
GRacias Mil
__________________
;-) Chiquita
Anuncio: Chica tímida busca... bueno... es que... no, bueno... nada... no importa.
  #2 (permalink)  
Antiguo 29/11/2005, 09:05
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 6 meses
Puntos: 5
La verdad que no se me ocurre porque puede ser, qué es lo que puede hacer Cocoon en medio. De todas formas, prueba a poner en la etiqueta <script> el tipo de archivo:

<script src="prueba.js" type="text/javascript">

Por probar.. pero no sé que puede ser.
__________________
BUSCO TELETRABAJO
Experiencia de mas de 4 años como desarrolladora web en PHP, ASP, XML, XSL, JavaScript, MySQL, PostGres, SQLServer, ...
  #3 (permalink)  
Antiguo 29/11/2005, 14:00
Avatar de Chiquita  
Fecha de Ingreso: agosto-2003
Ubicación: 8º 54' de latitud y a 79º 19' de longitud, a 0 metros sobre el nivel del mar
Mensajes: 93
Antigüedad: 20 años, 8 meses
Puntos: 0
Información

Ante todo gracias por el apoyo....

Para ejecutar los .JS que son llamados desde las paginas XHTML, solo es necesario configurar el sitemap de la siguiente manera:

<!-- JavaScript scripts -->
<map:match pattern="scripts/*.js">
<map:read mime-type="text/javascript" src="resources/scripts/{1}.js"/>
</map:match>

este pipeline nos ejecuta todos los js que necesite la página, los cuales hacen el request al cocoon en busca de los mismos.

Lo mismo sucede con los .CSS:

<!-- CSS stylesheets -->
<map:match pattern="styles/*.css">
<map:read mime-type="text/css" src="resources/styles/{1}.css"/>
</map:match>

y también con las imágnes:

<!-- IMAGENES -->
<map:match pattern="img/*.gif">
<map:read mime-type="images/gif" src="resources/images/{1}.gif"/>
</map:match>
<map:match pattern="img/*.png">
<map:read mime-type="images/png" src="resources/images/{1}.png"/>
</map:match>

en el XSLT, se coloca el código normal como en un HTML, como lo mencionó Helbira:

<link href="styles/style.css" type="text/css" rel="stylesheet"/>
<script src="scripts/xtree.js" type="text/javascript"/>
<script src="scripts/tree.js" type="text/javascript"/>

__________________
;-) Chiquita
Anuncio: Chica tímida busca... bueno... es que... no, bueno... nada... no importa.
  #4 (permalink)  
Antiguo 29/11/2005, 14:43
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 6 meses
Puntos: 5
Sonrisa

Outch!
Es verdad.. no lo recordaba.. la falta de costumbre con el Cocoon

Besos
__________________
BUSCO TELETRABAJO
Experiencia de mas de 4 años como desarrolladora web en PHP, ASP, XML, XSL, JavaScript, MySQL, PostGres, SQLServer, ...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:00.