使用 format-dateTime 指定零填充
我在 xslt 中有以下内容
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/02/xpath-functions" xmlns:xdt="http://www.w3.org/2005/02/xpath-datatypes">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:variable name="cDate">
<xsl:value-of select="current-dateTime()"/>
</xsl:variable>
<xsl:variable name="fcDate">
<xsl:value-of select="format-dateTime($cDate,'[Y0001][M01][D01]')"/>
</xsl:variable>
<xsl:template match="/PublisherBooking">
<dt>
<xsl:attribute name="date"><xsl:value-of select="$fcDate"/></xsl:attribute>
</dt>
</xsl:template>
</xsl:stylesheet>
,它给了我输出(假设当前日期是 2010 年 1 月 12 日):
<?xml version="1.0" encoding="UTF-8"?>
<dt date="2010112"/>
我的问题是我需要读取如下格式:
<?xml version="1.0" encoding="UTF-8"?>
<dt date="20100112"/>
那么如何获得月份和日期的零填充?具体来说,格式图片“[Y0001][M01][D01]”有什么问题。
仅供参考,我正在使用 XMLSpy 2005 附带的 XSLT 引擎。
I have the following in xslt
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/02/xpath-functions" xmlns:xdt="http://www.w3.org/2005/02/xpath-datatypes">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:variable name="cDate">
<xsl:value-of select="current-dateTime()"/>
</xsl:variable>
<xsl:variable name="fcDate">
<xsl:value-of select="format-dateTime($cDate,'[Y0001][M01][D01]')"/>
</xsl:variable>
<xsl:template match="/PublisherBooking">
<dt>
<xsl:attribute name="date"><xsl:value-of select="$fcDate"/></xsl:attribute>
</dt>
</xsl:template>
</xsl:stylesheet>
which gives me the output (given the current date is 12 Jan 2010):
<?xml version="1.0" encoding="UTF-8"?>
<dt date="2010112"/>
My problem is that i need the format to read as follows:
<?xml version="1.0" encoding="UTF-8"?>
<dt date="20100112"/>
So how do i get the zero padding on the month and day? Specifically what is wrong with the format picture '[Y0001][M01][D01]'.
FYI I am using the XSLT engine that ships with XMLSpy 2005.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好吧,它看起来像是我的 XMLSpy 版本(2005 年,有点老了)附带的引擎中的一个错误。针对 Saxon 9.2 进行转换,结果符合要求。
Well, it looks like a bug in the engine that ships with my version of XMLSpy (2005 and a bit long in the tooth). Ran the transformation against Saxon 9.2 and the result was as required.