#xml #xls #hl7 #ccr
#xml #xls #hl7 #ccr
Вопрос:
Я анализирую XML-файл, подобный:
<xml>
<normalRange>100-200</normalRange>
<value>83</value>
</xml>
В таблице стилей .xls мне нужно отобразить значение, указывающее, находится ли значение в пределах normalRange, ниже его или выше него.
Это очень распространенная проблема при отображении удобочитаемых результатов из XML-документа CCR (Непрерывность записи об уходе в системе обмена сообщениями Healthcare HL7).
Комментарии:
1. Вы делаете это в ячейках электронной таблицы или в VBA? В любом случае просто проверьте, является ли значение < минимальным значением или значением> максимальным значением.
2. Нет, это в файлах raw .xml и .xls. (Нет электронной таблицы или VBA.)
Ответ №1:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:variable name="value" select="/xml/value"/>
<xsl:variable name="low" select="substring-before(/xml/normalRange, '-')"/>
<xsl:variable name="high" select="substring-after(/xml/normalRange, '-')"/>
<xsl:choose>
<xsl:when test="$value amp;< $low">
<output>below</output>
</xsl:when>
<xsl:when test="$value amp;> $high">
<output>above</output>
</xsl:when>
<xsl:otherwise>
<output>within</output>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
Обратите внимание, что имя элемента «xml» зарезервировано по стандарту XML 1.0, поэтому, вероятно, будет хорошей идеей избежать этого.
Комментарии:
1. Спасибо за помощь! Я должен вам 5 американских долларов. Дайте мне знать, если вы ищете работу.