Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/05/2004, 08:11
cabral
 
Fecha de Ingreso: abril-2004
Ubicación: Sevilla
Mensajes: 100
Antigüedad: 20 años, 9 meses
Puntos: 0
Sonrisa Ya lo he solucionao

Supongamos ke el xml es:

<node>
<myfield>
some text[br]dve here[br]dasdfasdf [br]asfasdf[br]
</myfield>
</node>

pues el xsl que transforma lo br en etiquetas <br/> es:

<xsl:template match="node">
<xsl:variable name="str">
<xsl:call-template name="replace">
<xsl:with-param name="str" select="."/>
<xsl:with-param name="repl">[br]</xsl:with-param>
<xsl:with-param name="target">&lt;br/></xsl:with-param>
</xsl:call-template>
</xsl:variable>
<xsl:value-of select="$str" disable-output-escaping="yes"/>
</xsl:template>

<xsl:template name="replace">
<xsl:param name="str"/>
<xsl:param name="repl"/>
<xsl:param name="target"/>
<xsl:choose>
<xsl:when test="contains($str,$repl)">
<xsl:call-template name="replace">
<xsl:with-param name="str" select="concat(substring-before($str,$repl),$target,substring-after($str,$repl))"/>
<xsl:with-param name="repl" select="$repl"/>
<xsl:with-param name="target" select="$target"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$str"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>


Ea pal que le pueda servir