我在下面写了一些简单的 XSLT。长和短是我想做两件事。
首先,我想打印这是否是新订单。出于我的目的,如果 OrderCreateDate 和 OrderEditDate 字段相同,则订单是新的。
其次,我想打印两个日期(以检查我的工作;格式还不重要。)
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
<xsl:output method="text" indent="yes"/>
<xsl:template match="/ArrayOfDP_RunDatesAll">
<xsl:variable name='OrderCreateDate' select='DP_RunDatesAll[1]/OrderCreateDate'/>
<xsl:variable name='OrderEditDate' select='DP_RunDatesAll[1]/OrderEditDate'/>
<xsl:choose>
<xsl:when test='OrderCreateDate != OrderEditDate'>
Existing Order!
</xsl:when>
<xsl:otherwise>
New Order!
OrderCreateDate <xsl:value-of select='$OrderCreateDate' />
OrderEditDate <xsl:value-of select='$OrderEditDate' />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
我希望使用上面的 XSLT,当使用两个单独的日期处理记录时,输出应该是Existing Order!
.
但是,我看到以下输出。
New Order!
OrderCreateDate 2013-08-16T10:27:39
OrderEditDate 2013-08-17T17:19:43.6
根据我上面描述的规则,它应该已经打印Existing Order!
(因为两个日期不匹配)。我做了什么来得到错误的结果?