Buenas, hace ya más de un año que dejé apartada una web que estaba portando de PHP->XHTML a PHP->XML->(XSLT)->XHTML.
El caso es que he vuelto a retomarla y quiero resolver una duda que planteé hace ya tiempo y que resolví a medias. El tema se hablaba en este
hilo.
Lo expondré de nuevo: he generado un tag XML llamado enlace que representa un hipervínculo y con XSLT a tag XHTML a:
<enlace>
<nombre>NOMBRE</nombre>
<url>[url]http://www.pagina.com/index.html[/url]</url>
<parametroPHP>
<nombre>a</nombre>
<valor>1</valor>
</parametroPHP>
<parametroPHP>
<nombre>b</nombre>
<valor>2</valor>
</parametroPHP>
</enlace>
y quiero traducirlo a XHTML
<a href="www.pagina.com?a=1&b=2"> NOMBRE</a>
La idea inicial sería esta:
<xsl:template match='enlace'>
<xsl:variable name="newURL">
<xsl:value-of select='url' />
<xsl:for-each select='parametroPHP[1]'>
?<xsl:value-of select='nombre' />=<xsl:value-of select='valor' />
</xsl:for-each>
<xsl:for-each select='parametroPHP[position()>1]'>
&<xsl:value-of select='nombre' />=<xsl:value-of select='valor' />
</xsl:for-each>
</xsl:variable>
<a href="{$newURL}"><xsl:value-of select='nombre' /></a>
</xsl:template>
Cumple el propósito, pero no sé si estoy enfocando mal el tema y hay 100 formas mejores de hacerlo.
¿Es recomendable pasar los parámetros PHP por url?
¿Hay alguna forma más sencilla y clara de hacer lo que estoy haciendo?
Tengo mucho cacao mental con este tema, a ver si alguien puede aclararme estos temas para tener una buena base y así luego no tenga que modificar mil cosas.
Muchas gracias y un saludo.