Duda XML+XSLT -> XHTML

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.
0 respuestas