我面臨與我的xslt問題,我需要根據兩個日期字段的比較輸出某個值。 XML是如下:使用XSLT比較日期
<wd:Worker xmlns:wd="urn:com.workday/bsvc"
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<wd:Worker_Reference wd:Descriptor="will Test">
<wd:ID wd:type="Employee_ID">11111</wd:ID>
</wd:Worker_Reference>
<wd:Worker_Data>
<wd:Benefit_Enrollment_Data>
<wd:Health_Care_Data>
<wd:Health_Care_Period_Data>
<wd:Health_Care_Coverage_Data>
<wd:Dependent_Coverage_Data>
<wd:COBRA_Eligibility_Data>
<wd:Eligible_Date>2017-10-25-07:00</wd:Eligible_Date>
<wd:Benefit_Plan_Reference wd:Descriptor="Dental - MetLife">
<wd:ID wd:type="Health_Care_Coverage_Plan_ID">Dental-MetLife</wd:ID>
</wd:Benefit_Plan_Reference>
</wd:COBRA_Eligibility_Data>
<wd:COBRA_Eligibility_Data>
<wd:Eligible_Date>2017-10-25-07:00</wd:Eligible_Date>
<wd:Benefit_Plan_Reference wd:Descriptor="Vision - VSP">
<wd:ID wd:type="Health_Care_Coverage_Plan_ID">Vision -VSP</wd:ID>
</wd:Benefit_Plan_Reference>
</wd:COBRA_Eligibility_Data>
</wd:Dependent_Coverage_Data>
</wd:Health_Care_Coverage_Data>
<wd:Health_Care_Coverage_Data>
<wd:Dependent_Coverage_Data>
<wd:COBRA_Eligibility_Data>
<wd:Eligible_Date>2016-10-20-07:00</wd:Eligible_Date>
<wd:Benefit_Plan_Reference wd:Descriptor="Dental - MetLife">
<wd:ID wd:type="Health_Care_Coverage_Plan_ID">Dental-MetLife</wd:ID>
</wd:Benefit_Plan_Reference>
</wd:COBRA_Eligibility_Data>
<wd:COBRA_Eligibility_Data>
<wd:Eligible_Date>2016-10-20-07:00</wd:Eligible_Date>
<wd:Benefit_Plan_Reference wd:Descriptor="Vision - VSP">
<wd:ID wd:type="Health_Care_Coverage_Plan_ID">Vision -VSP</wd:ID>
</wd:Benefit_Plan_Reference>
</wd:COBRA_Eligibility_Data>
</wd:Dependent_Coverage_Data>
</wd:Health_Care_Coverage_Data>
</wd:Health_Care_Period_Data>
</wd:Health_Care_Data>
</wd:Benefit_Enrollment_Data>
</wd:Worker_Data>
</wd:Worker>
我已經寫代碼,只選擇醫療保險數據,其中WD值:Eligibility_Date是大於今天。下面是我的xsl不工作。請幫助:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:wd="urn:com.workday/bsvc"
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
exclude-result-prefixes="xs wd env"
version="2.0">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/wd:Worker">
<xsl:variable name="today" select="current-date()"/>
<Mydata>
<cobra>
<xsl:for-each
select="xs:date(/wd:Worker
/wd:Worker_Data
/wd:Benefit_Enrollment_Data
/wd:Health_Care_Data
/wd:Health_Care_Period_Data
/wd:Health_Care_Coverage_Data
/wd:Dependent_Coverage_Data
/wd:COBRA_Eligibility_Data
/wd:Eligible_Date)
>$today ">
<xsl:value-of select="'TRUE'"/>
</xsl:for-each>
</cobra>
</Mydata>
</xsl:template>
</xsl:stylesheet>