у меня есть XML, который мы смогли сгенерировать с помощью библиотек HAPI и использовать XSL для изменения формата XML. Я использую следующий шаблон. Текущий шаблон ищет цифровое значение в сегменте OBX.5, а затем интерпретирует OBX6 (единицы измерения). Однако я также пытаюсь интерпретировать OBX6, когда они поступают от одного из клиентов в стиле как дубликаты с символом вставки ^
между ними (например: %^%
или mL^mL
). Мой текущий шаблон игнорирует это, но я хотел бы получить значение подстроки сегмента до или после ^
.
<xsl:template match="hl7:OBX.6[matches(./../hl7:OBX.5, '^\d+(\.\d+)?$') and index-of($percentList, .) or index-of($mgdlList, .) or index-of($mlList, .) or index-of($mmList, .) or index-of($mgList, .))]">
<result><xsl:value-of select="./../hl7:OBX.5" /></result>
<xsl:when test="index-of($percentList, .)">
<units>%</units>
</xsl:when>
...
<xsl:when test="index-of($mlList, .)">
<units>ml</units>
</xsl:when>
<xsl:otherwise>
<units><xsl:value-of select="./hl7:CE.1" /></units>
</xsl:otherwise>
...
</xsl:template>
Результат должен произвести
<result>38.0</result>
<units>%</units>
из
<OBX.5>38.0</OBX.5>
<OBX.6>
<CE.1>%^%</CE.1>
</OBX.6>
Заранее спасибо!