Saludo a todos,
Necesito crear una función en mi archivo xsl pero no se cómo hacerlo, si alguno sabe le agradeceria me dijera como.
Gracias
| |||
Primero, que necesitas hacer? En XSLT puedes crear templates. Por ejemplo, un template que muestre X veces el texto "Foros del Web" Código HTML: <xsl:template name="titulos"> <xsl:param name="cuantos">1</xsl:param> <xsl:if test="$cuantos > 0"> <xsl:text> Foros del Web</xsl:text> <xsl:call-template name="titulos"> <xsl:with-param name="cuantos" select="$cuantos- 1"/> </xsl:call-template> </xsl:if> </xsl:template> Código HTML: <xsl:call-template name="titulos"> <xsl:with-param name="cuantos" select="0"/> </xsl:call-template> Código PHP: Código HTML: <xsl:value-of select="php:function('funcion', 'argumento')" /> xmlns:php="http://php.net/xsl" a <xsl:stylesheet> |
| |||
Hola Appletalk, Gracias por tu respuesta, todavia no he hecho la prueba pero por lo que veo deberia funcionar. El problema que tengo es el siguiente: tengo un xml de entrada que no genero yo aunque podria cambiarle el formato de alguna manera, un trozo del xml es el siguiente:
Código:
Bien, no tengo problemas en generar el html con xslt, el problema que estoy tratando de solucionar en este momento es ocultar y mostrar las preguntas según lo indique el atributo mostrar, hice algo con javascript pero no logro hacer que funcione con todas las opciones porque en el onclick del radio buttom de las opciones que tienen el atributo mostrar le coloco que ejecute la función y en las que no lo tienen no lo hago. Tengo un par de semanas tratando de solucionar este problema pero no lo he conseguido. Si tienes alguna sugerencia te lo agradecería.<pregunta idpreg="preg02"> <titulo_pregunta>¿Que le parecio la atencion?</titulo_pregunta> <tipo_pregunta tipo="Seleccion Multiple"/> <ocultar pregunta="No"/> <opcion idop="1" mostrar="preg05">Buena</opcion> <opcion idop="2" mostrar="preg03">Regular</opcion> <opcion idop="3">Mala</opcion> <opcion_extra>Desea dar su opinion</opcion_extra> </pregunta> |
| |||
Ya probe lo de usar las funciones de php en xsl y funcionó perfectamente, lo que me hace preguntarte cómo paso los argumentos, es decir si quiero pasar variable que tengo en el xsl cómo hago. Eso no soluciona mi problema anterior asi que si tienes alguna sugerencia te lo agradeceré. Bye |
| |||
php:function('nombrefuncion', string('argumento1'), string($argumento2), string(@atributo) ) En el primer argumento le paso una string, en el segundo una variable y en el tercero un atributo que obtengo por xpath. |
| |||
Hola Appletalk, Es posible añadir líneas a la salida html que produce el xsl desde php. Me explico, coloque una función que llena un arreglo, la llamo desde el xsl y lo lleno, luego en un punto posterior del xsl me gustaria tomar valores del arreglo php para agregar campos hidden en la salida del html que produce el xsl, sabes si eso es posible??? bye y gracias de antemano |