使用substring-before-搜索特定的字符串,然后提取另一个

时间:2019-04-16 03:12:57

标签: xslt-1.0

我是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>

0 个答案:

没有答案