我正试图计算医疗保险的合同核销,但计算似乎没有工作。例如,我需要取<charge>
标签上的费用属性值,然后减去<adjustment>
标签上的金额属性值,但仅当<adjustment>
标签上的组和代码属性为:group ='CO'和代码='45'或'385'xslt计算保险注销不起作用
我能够得到一切,但计算工作。我试着在这个论坛上看到几个答案,但我明显错过了一些东西。任何帮助,将不胜感激。
这里是我的XML(简体):
<result check_number="05173408" ...>
<claim ... total_charge="720" total_paid="43">
<charge charge="200">
<adjustment amount="125" code="45" group="CO" />
<adjustment amount="35" code="385" group="CO" />
<adjustment amount="20" code="3" group="PR" />
</charge>
<charge charge="70">
<adjustment amount="70" code="204" group="PR" />
</charge>
<charge charge="300">
<adjustment amount="273" code="45" group="CO" />
<adjustment amount="15" code="3" group="PR" />
</charge>
<charge charge="150">
<adjustment amount="139" code="45" group="CO" />
</charge>
</claim>
</result>
这里是我的XSLT把日期:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="xsl">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" />
<xsl:template match="/">
<!-- maps to the beginning result tag -->
<xsl:for-each select="/result/claim/charge">
<!-- amount allowed by the insurance for line item -->
<COL>
<DATA>
<xsl:apply-templates select="adjustment" mode="calcAdjTotal" >
</xsl:apply-templates>
</DATA>
</COL>
</xsl:for-each>
<!-- Template created to test Parfait's suggestion -->
<xsl:template match="adjustment" mode="calcAdjTotal" >
<xsl:variable name="condition" select="adjustment[@group='CO' and (@code='45' or @code='385')]"></xsl:variable>
<xsl:value-of select="../@charge - sum($condition/@amount)" />
</xsl:if>
</xsl:template>
</xsl:template>
</xsl:stylesheet>
这里是我的输出:(更新输出)
<COL>
</DATA>
</COL>
<COL>
</DATA>
</COL>
<COL>
</DATA>
</COL>
<COL>
</DATA>
</COL>
这里的我想要得到的:
<COL>
<DATA>
40
</DATA>
</COL>
<COL>
<DATA>
</DATA>
</COL>
<COL>
<DATA>
27
</DATA>
</COL>
<COL>
<DATA>
11
</DATA>
</COL>
然后将使用该格式将数据导入Filemaker。
您能否以文字解释所需的逻辑?从示例或非工作代码中很难推断出它。如果我从扣款中扣除符合条件的调整,我会得到{40,70,27,11}。你显示{40,,27,11}。 –