我有一個連接模板變量的XSLT樣式表。我無法弄清楚如何阻止它做到這一點,但也保持單一變量。
我已經粘貼了代碼和下面的轉換...您可以看到Startdt
變量值02/01/2017
被連接重複三次。XSLT模板連接字符串/如何停止
代碼
<xsl:variable name="VPlan" select="wd:DEP_VISION_planname/wd:ID[@wd:type = 'Health_Care_Coverage_Plan_ID']"/>
<xsl:variable name="MPlan" select="wd:DEPMEDPLAN/wd:ID[@wd:type = 'Health_Care_Coverage_Plan_ID']"/>
<xsl:variable name="DPlan" select="wd:DEPDENT_PLAN/wd:ID[@wd:type = 'Health_Care_Coverage_Plan_ID']"/>
<xsl:if test="$VPlan = 'HEALTH_CARE_COVERAGE_PLAN-Vision - United Health Care'">
<xsl:call-template name="Depplan">
<xsl:with-param name="Deplan" select="'UHC Vision'"/>
<xsl:with-param name="Startdt" select="../wd:COBRA_Records_within_Range/wd:COBRA_Eligible_Date"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="$DPlan = 'HEALTH_CARE_COVERAGE_PLAN-Dental - MetLife Enhanced'">
<xsl:call-template name="Depplan">
<xsl:with-param name="Deplan" select="'Metlife Dental ASO Enhanced'"/>
<xsl:with-param name="Startdt" select="../wd:COBRA_Records_within_Range/wd:COBRA_Eligible_Date"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="$DPlan = 'HEALTH_CARE_COVERAGE_PLAN-Dental - MetLife Basic'">
<xsl:call-template name="Depplan">
<xsl:with-param name="Deplan" select="'Metlife Dental ASO Basic'"/>
<xsl:with-param name="Startdt" select="../wd:COBRA_Records_within_Range/wd:COBRA_Eligible_Date"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="$MPlan = 'HEALTH_CARE_COVERAGE_PLAN-Medical - Medical Mutual of Ohio PPO SuperMed Plus'">
<xsl:call-template name="Depplan">
<xsl:with-param name="Deplan" select="'Medical Mutual Medical MMO PPO'"/>
<xsl:with-param name="Startdt" select="../wd:COBRA_Records_within_Range/wd:COBRA_Eligible_Date"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="$MPlan = 'HEALTH_CARE_COVERAGE_PLAN-Medical - AETNA PPO Network/Non Network'">
<xsl:call-template name="Depplan">
<xsl:with-param name="Deplan" select="'Aetna Medical PPO'"/>
<xsl:with-param name="Startdt" select="../wd:COBRA_Records_within_Range/wd:COBRA_Eligible_Date"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="$MPlan = 'HEALTH_CARE_COVERAGE_PLAN-Medical - HealthSpan HMO Network Only'">
<xsl:call-template name="Depplan">
<xsl:with-param name="Deplan" select="'HealthSpan Medical HMO'"/>
<xsl:with-param name="Startdt" select="../wd:COBRA_Records_within_Range/wd:COBRA_Eligible_Date"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template name="Depplan">
<xsl:param name="Deplan"/>
<xsl:param name="Startdt"/>
<xsl:text>[QBDEPENDENTPLAN]</xsl:text>
<xsl:call-template name="insertDelimiter"/>
<xsl:value-of select="$Deplan"/>
<xsl:call-template name="insertDelimiter"/>
<!-- <xsl:call-template name="FormatDateValue">
<xsl:with-param name="dateString">
<xsl:value-of select="$Startdt"/>
</xsl:with-param>
</xsl:call-template> -->
<xsl:value-of select="$Startdt"/>
<xsl:call-template name="insertDelimiter"/>
<xsl:call-template name="insertDelimiter"/>
<xsl:text>T</xsl:text>
<xsl:call-template name="insertNewLine"/>
</xsl:template>
輸出
[QBDEPENDENTPLAN],UHC視覺,O 2/01/2017 2017年2月1日2017年2月1日, ,T
[QBDEPENDENTPLAN],Metlife牙科ASO增強版,2017年2月1日02/01/2017 02/01/2017,,T
[QBDEPENDENTPLAN],安泰醫療PPO,O 2/01/2017 2017年2月1日2月1日/ 2017,,T
感謝這工作。我很確定每個在範圍內的日期應該是相同的。 – MLTS