Función para reemplazar una porción de texto.
Función:
<!-- Replace funtion-->
<xsl:template name="replace-string">
<xsl:param name="str" />
<xsl:param name="delim" />
<xsl:param name="newdelim" />
<xsl:if test="string-length(substring-before($str,$delim)) = 0">
<xsl:value-of select="$str" />
</xsl:if>
<xsl:if test="string-length(substring-before($str,$delim)) > 0">
<xsl:value-of select="substring-before($str,$delim)" />
<xsl:value-of select="$newdelim" />
</xsl:if>
<xsl:if test="string-length(substring-after($str,$delim)) > 0">
<xsl:call-template name="replace-string">
<xsl:with-param name="str" select="substring-after($str,$delim)" />
<xsl:with-param name="delim" select="$delim" />
<xsl:with-param name="newdelim" select="$newdelim" />
<xsl:with-param name="ini" value="1" />
</xsl:call-template>
</xsl:if>
</xsl:template>
Ejemplo de uso:
<xml>
<title>
Name__MARCA__Alberto
</title>
</xml>
<xsl:template match="title">
<xsl:call-template name="replace-string">
<xsl:with-param name="str" select="." />
<xsl:with-param name="delim" select="'__MARCA__'"/>
<xsl:with-param name="newdelim" select="' : '" />
</xsl:call-template>
<xsl:value-of select="."/>
</xsl:template>
XSL es para XML lo que CSS es para HTML. Es un acrónimo en inglés de EXtensible Stylesheet Language (Lenguaje de hojas de estilo ampliable). Es un lenguaje diseñado para presentar datos XML en un formato legible. XSL consta realmente de dos partes:
XSLT significa Transformaciones XSL y es la parte más importante de XSL.
XSLT transforma un documento XML en otro documento XML, en una salida XHTML o en texto sencillo. Esto se suele hacer transformando cada elemento XML en un elemento HTML. El uso de XSL es imprescindible, ya que las etiquetas XML han sido definidas por el usuario y, por tanto, los navegadores no saben cómo interpretarlas o representarlas. Su significado se ha diseñado para ser entendido por las personas, no por las máquinas.
XSLT también puede realizar las siguientes operaciones en un árbol XML: