我是xslt的初学者。我正在尝试在长字符串中搜索“ EMRUPI”中的值,并且需要先提取ID并填充另一个字段。我正在使用“ substring-before”功能
我似乎无法提取值,它返回NULL
这是数据:
PID|1|12345^^^ABCMRN^MRN^|678988^^^DEFMRN^MRN^~111111^^^GHIMRN^MRN^~7777777^^^EMRUPI^CMRN^||
我基本上想在PID3段(PID3是第三个管道“ |”之后的数据)中找到文本“ EMRUPI”,并获取该“ 7777777”之前的ID。 我想将其保存在变量中,例如$ EMRUPI并将其放入PID4段中,这就是我在这里要执行的操作:
这是我写的脚本:
<PID>
<F3>
<xsl:variable name="EMRUPI" select="substring-before(name(),'EMRUPI')" />
<xsl:value-of select="substring-before(name(),'EMRUPI')" />
<L1.1.1><xsl:value-of select="$EMRUPI"/></L1.1.1>
</F3>
<F4><L1.1.1><xsl:value-of select="$EMRUPI"/></L1.1.1></F4>
</PID>