我需要使用xsl 1.0从字符串值中删除以下字符:
`, / *` and break line (**<br>**)
我想出了以下内容:
<xsl:value-of select="translate(//string/string/string/string, translate(//string/string/string/string, ',/*<br>'" ', ''), '')" />
但是效果不好,我应该改变什么或者在哪里? 感谢
答案 0 :(得分:0)
首先始终将问题分解为更小的子集。
函数translate基本上是一个字符级操作。因此,它不适合解决方案的<br>
部分。还要注意&lt;和&gt;是xsl / xml中的特殊字符。
因此,假设//string/string/string/string
在这里是正确的XPath ..
translate(//string/string/string/string, ',/*',' '):
应足以删除和/或*字符
对于<br>
,理想情况下,您希望使用xslt 1.0中不存在的替换函数。如果您在xslt 1中,请查看此问题以获取模板的示例:XSLT string replace
你也可以考虑xslt是否适合这里的工作,但这取决于更广泛的背景。