Xslt 需要替换标记-xsl中的文本
输入:Xslt 需要替换标记-xsl中的文本,xslt,xslt-1.0,Xslt,Xslt 1.0,输入: 以下XSLT执行预期的替换: <Remarks>Random data,value1:abc,value2:controls,value3:free text,random data</Remarks> 输出: <xsl:template match="Remarks"> <Remarks><xsl:value-of select="concat(normalize-space(substring-before(text()
以下XSLT执行预期的替换:
<Remarks>Random data,value1:abc,value2:controls,value3:free text,random data</Remarks>
输出:
<xsl:template match="Remarks">
<Remarks><xsl:value-of select="concat(normalize-space(substring-before(text(),'## B2B## abc,controls,free text ## B2B##')),',value1:abc,value2:controls,value3:free text,',normalize-space(substring-after(text(),'## B2B## abc,controls,free text ## B2B##')))" /></Remarks>
</xsl:template>
随机数据,值1:abc,值2:控件,值3:自由文本,随机数据
或者,为了使其更通用,请对字符串使用变量:
<Remarks>Random data,value1:abc,value2:controls,value3:free text,random data</Remarks>
更一般的是:
<xsl:template match="/lines/Remarks">
<xsl:variable name="str2Replace" select="'## B2B## abc,controls,free text ## B2B##'" />
<xsl:variable name="replacement" select="',value1:abc,value2:controls,value3:free text,'" />
<Remarks><xsl:value-of select="concat(normalize-space(substring-before(text(),$str2Replace)),$replacement,normalize-space(substring-after(text(),$str2Replace)))" /></Remarks>
</xsl:template>
因此,您可以在调用模板中使用不同的值。以下XSLT执行预期的替换:
<Remarks>Random data,value1:abc,value2:controls,value3:free text,random data</Remarks>
输出:
<xsl:template match="Remarks">
<Remarks><xsl:value-of select="concat(normalize-space(substring-before(text(),'## B2B## abc,controls,free text ## B2B##')),',value1:abc,value2:controls,value3:free text,',normalize-space(substring-after(text(),'## B2B## abc,controls,free text ## B2B##')))" /></Remarks>
</xsl:template>
随机数据,值1:abc,值2:控件,值3:自由文本,随机数据
或者,为了使其更通用,请对字符串使用变量:
<Remarks>Random data,value1:abc,value2:controls,value3:free text,random data</Remarks>
更一般的是:
<xsl:template match="/lines/Remarks">
<xsl:variable name="str2Replace" select="'## B2B## abc,controls,free text ## B2B##'" />
<xsl:variable name="replacement" select="',value1:abc,value2:controls,value3:free text,'" />
<Remarks><xsl:value-of select="concat(normalize-space(substring-before(text(),$str2Replace)),$replacement,normalize-space(substring-after(text(),$str2Replace)))" /></Remarks>
</xsl:template>
因此,您可以在调用模板中使用不同的值。我已经尝试过了,没有多大帮助:(如果我尝试过,您能提供示例XSL吗,没有多大帮助:(如果有的话,你能给我提供XSL示例和一个更多的帮助:在###B2B###标记中的3个值未知,你能在这里提供帮助吗?我不确定你的评论是什么意思。我用一个更通用的解决方案更新了我的答案。你可以根据需要调整
调用模板
参数。如果你需要其他的话,我建议创建另一个新问题。我发布了另一个问题,我的意思是##B2B####标记中的值不是固定的,它们会随着每次交易而改变,还有一个帮助:在###B2B###标记中的3个值是未知的,您也能在这里提供帮助吗?我不确定您的评论是什么意思。我更新了一个更详细的答案l解决方案。您可以根据需要调整调用模板
参数。如果您需要一些不同的内容,我建议您创建另一个新问题。我发布了另一个问题,我的意思是##B2B##标记中的值不是固定的,每个事务都会更改