我正在使用XSLT-Transformation(2.0)。 问题如下:
在XSLT中,我正在检查字符串的值,如下所示:
<xsl:if test="$recordValue[1] = 'I'">
但该声明有时会失败,因为$recordValue[1]
的值可能包含BOM符号/字符""
。
如何从$recordValue[1]
中删除该BOM字符,以便如果变量包含BOM字符,“if”也会返回true?
更新
这些代码行也不起作用,如果$recordValue[1]
中有BOM表字符,则仍然返回no:
<xsl:variable name="recordValue" select="tokenize(current(), ';')" />
<xsl:variable name="prozess" select="replace($recordValue[1], '^', '')" />
<xsl:if test="$prozess = 'I'">
我试图转换的相关XML-Line是以下(在'I'之前有一个BOM符号):
<splitSegment><record>I;20.02.2018 11:58:35;02;113502190168;10;1</record></splitSegment>
替代解决方案(不解决问题本身):
以下解决方案不删除BOM符号,但它确保相关if
返回yes,即使字符串开头有BOM符号:
<xsl:if test="ends-with($prozess, 'I')">