aplicar plantilla dentro de otra...
Publicado por albertmata (4 intervenciones) el 11/06/2007 10:22:51
Es mi primer mensaje en este foro, así que gracias a todos por vuestra atención. Intengo exponer mi problema con claridad, aunque no soy un experto en XML y supongo que tendréis que poner buena voluntad para entenderlo... ;-)
Tengo una estructura XML así:
PROYECTO
-----PARRAFO
----------HIPERVINCULO texto="abc" link="abc.htm"
-----(otros)
En un ejemplo queda así:
<proyecto>
<parrafo>
Esto sera un parrafo blablabla.
</parrafo>
</proyecto>
Y aplicándole esto que sigue funciona bien y me lo presenta como quiero:
<xsl:apply-templates select="proyecto"/>
<xsl:apply-templates select="parrafo"/>
<xsl:template match="paragraf">
<div class="paragraf">
<xsl:value-of select="."/>
</div>
</xsl:template>
El problema es que yo lo que quiero es esto:
<proyecto>
<parrafo>
Esto sera un parrafo blablabla que inclura un enlace a la pagina <hipervinculo texto="mipagina" link="mipagina.htm"/> para que podamos acceder a ella.
</parrafo>
</proyecto>
Es decir, dentro de <parrafo> habrá contenido en sí (el párrafo) y etiquetas <hipervinculo/>.
No sé como hacer para que en el resultado se me muestre ese hipervinculo. Lo he probado así:
<xsl:template match="paragraf">
<div class="paragraf">
<xsl:value-of select="."/>
<xsl:apply-templates select="hipervinculo"/>
</div>
</xsl:template>
Pero no me funciona porque el hipervínculo se me muestra antes o después del texto del párrafo (según dónde lo ponga) pero no intercalado como quiero.
¿Alguna idea?
Tengo una estructura XML así:
PROYECTO
-----PARRAFO
----------HIPERVINCULO texto="abc" link="abc.htm"
-----(otros)
En un ejemplo queda así:
<proyecto>
<parrafo>
Esto sera un parrafo blablabla.
</parrafo>
</proyecto>
Y aplicándole esto que sigue funciona bien y me lo presenta como quiero:
<xsl:apply-templates select="proyecto"/>
<xsl:apply-templates select="parrafo"/>
<xsl:template match="paragraf">
<div class="paragraf">
<xsl:value-of select="."/>
</div>
</xsl:template>
El problema es que yo lo que quiero es esto:
<proyecto>
<parrafo>
Esto sera un parrafo blablabla que inclura un enlace a la pagina <hipervinculo texto="mipagina" link="mipagina.htm"/> para que podamos acceder a ella.
</parrafo>
</proyecto>
Es decir, dentro de <parrafo> habrá contenido en sí (el párrafo) y etiquetas <hipervinculo/>.
No sé como hacer para que en el resultado se me muestre ese hipervinculo. Lo he probado así:
<xsl:template match="paragraf">
<div class="paragraf">
<xsl:value-of select="."/>
<xsl:apply-templates select="hipervinculo"/>
</div>
</xsl:template>
Pero no me funciona porque el hipervínculo se me muestra antes o después del texto del párrafo (según dónde lo ponga) pero no intercalado como quiero.
¿Alguna idea?
Valora esta pregunta


0