每次尝试使用msxsl:format-date(@testDate, 'MM-dd-yyyy')
转换日期时
我得到一个空字符串...
但是,如果我只是致电<xsl:value-of select="AcessDate"/>
,那么我的确会得到一个约会......我错过了什么?这不是说我没有通过X-PATH导航到正确的元素?
<?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:for-each select="//SelectFairWarningInformationResult">
<!--<xsl:variable name="AccessDate" select="AcessDate"/>-->
<xsl:value-of select="msxsl:format-date(@test, 'MM-dd-yyyy')"/> | <xsl:value-of select="Acess"/> | <xsl:value-of select="PatName"/> | <xsl:value-of select="PatFName"/> | <xsl:value-of select="PatID"/> | <xsl:value-of select="UID"/> | <xsl:value-of select="ULName"/> | <xsl:value-of select="UFName"/> | View Record
</xsl:for-each>
答案 0 :(得分:1)
如果你使用像Saxon 9或AltovaXML或XmlPrime这样的XSLT 2.0处理器来格式化日期值,你可以而且应该使用XSLT 2.0定义的format-date function。
您没有向我们展示前缀msxsl
在您的代码中绑定的URI,但我假设您正在尝试使用Microsoft XSLT 1.0处理器MSXML 6支持的专有扩展功能。我不希望其他XSLT供应商支持该功能,特别是XSLT 2.0处理器,因为XSLT 2.0标准支持模式xs:date
和xs:dateTime
数据类型,并且还具有相应的格式化功能。 / p>
使用XSLT 2.0我认为您可以使用format-date(@test, "[M01]-[D01]-[Y0001]")
。以此为例,您可能需要调整,我担心我不知道msxsl:format-date
的详细信息。