Я новичок в xslt. Я пытаюсь найти длинную строку для значения в моем случае «EMRUPI», и мне нужно предварительно извлечь идентификатор и заполнить другое поле. Я использую функцию "substring-before"
я не могу извлечь значение, он возвращает NULL
Это данные:
PID|1|12345^^^ABCMRN^MRN^|678988^^^DEFMRN^MRN^~111111^^^GHIMRN^MRN^~7777777^^^EMRUPI^CMRN^||
Я в основном хочу найти в сегменте PID3 (PID3 - данные после 3-го канала «|») текст «EMRUPI» и получить идентификатор перед этим «7777777».
Я хочу сохранить его в переменной, например, $ 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>