每次我尝试使用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>发布于 2013-04-16 23:43:35
如果使用像Saxon9、AltovaXML或XmlPrime这样的XSLT2.0处理程序,那么可以而且应该使用XSLT2.0定义的format-date function来格式化日期值。
您还没有向我们展示代码中的前缀msxsl绑定到哪个URI,但我假设您正在尝试使用Microsoft XSLT1.0处理程序MSXML6支持的专有扩展函数。我不期望其他XSLT供应商支持该功能,特别是XSLT2.0处理程序,因为XSLT2.0标准支持模式xs:date和xs:dateTime数据类型,并具有相应的格式化函数。
使用XSLT2.0,我认为可以使用format-date(@test, "[M01]-[D01]-[Y0001]")。以此为例,您可能需要调优,恐怕我不知道msxsl:format-date做什么的细节。
https://stackoverflow.com/questions/16040715
复制相似问题