这个 XSLT 1.0 转换:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:variable name="vReplacement" select="'abcd.com'"/>
<xsl:template match="/">
<xsl:variable name="vUrl" select="'http://1.2.34.4:70/Anything/uri'"/>
<xsl:variable name="vReplaced">
<xsl:value-of select="concat(substring-before($vUrl,'//'), '//')"/>
<xsl:value-of select="concat($vReplacement, '/')"/>
<xsl:value-of select="substring-after(substring-after($vUrl,'//'),'/')"/>
</xsl:variable>
"<xsl:copy-of select="$vReplaced"/>"
</xsl:template>
</xsl:stylesheet>
当应用于任何 XML 文档(未使用)时,将变量$vReplaced
设置为所需的正确值并将其内容复制到输出:
"http://abcd.com/Anything/uri"
解释:正确使用substring-before()
和。substring-after()
concat()