我正試圖計算醫療保險的合同覈銷,但計算似乎沒有工作。例如,我需要取<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}。 –