2012-09-10 54 views
0

試圖日期轉換爲特定的格式,但得到的錯誤:如何使用xlst格式​​化日期?

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://www.openapplications.org/oagis/9" 
xmlns:xs="http://www.w3.org/2001/XMLSchema"> 

<xsl:variable name="origDate" select="row[@num='6']/cell[@num='2']"/> 
<PromisedDeliveryDateTime><xsl:value-of select="format-date(xs:date($origDate), '[Y] [M] [D]')" /></PromisedDeliveryDateTime> 

錯誤:

Failed to transform XQMessage part, index=0 (Invalid date "30.11.2011" (Non-numeric component)

回答

2

的XS:日期()構造函數預計ISO日期格式的字符串:2011-11-30 。要操縱其他格式的日期,您首先需要將它們轉換爲ISO格式,您可以將其轉換爲例如

string-join(reverse(tokenize($in, '.')), '-') 
+1

謝謝!但仍然有些問題: '無法轉換XQMessage部分,索引= 0(無效日期」----------「比四位數) – VextoR

+0

@VextoR沒有人會在評論供稿中閱讀XML,更新您的問題並提及您使用的XSLT處理器。 –