Xslt 如何显示本地化日期?

Xslt 如何显示本地化日期?,xslt,localization,internationalization,Xslt,Localization,Internationalization,如何让XSLT向用户显示本地化日期(在用户代理的区域设置中) 例如,给定ISO格式的xmldate(2013-09-04T10:46:19.658): XSLT支持本地化吗 它在客户端上运行 XML到HTML的转换在客户机上进行。由于转换发生在客户机上,客户机(显然)知道自己的语言环境 例如,为客户端提供了一些xml: <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type='text/xsl' href='/S

如何让XSLT向用户显示本地化日期(在用户代理的区域设置中)

例如,给定ISO格式的xml
date
2013-09-04T10:46:19.658
):

XSLT支持本地化吗

它在客户端上运行 XML到HTML的转换在客户机上进行。由于转换发生在客户机上,客户机(显然)知道自己的语言环境

例如,为客户端提供了一些
xml

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/xsl' href='/Styles/Contoso_Handheld.xslt' media='handheld'?>
<?xml-stylesheet type='text/xsl' href='/Styles/Contoso_iPhone.xslt' media='only screen and (max-device-width: 480px)'?>
<?xml-stylesheet type='text/xsl' href='/Styles/Contoso.xslt' media='all'?>
<Stuff>
   <Created>2013-09-04T10:46:19.658</Created>
</Stuff>

用户代理获取XSLT,转换XML,并将其显示给用户。所有这些处理都在客户机的区域设置中进行。

标准XSLT 1.0没有任何本地化日期的功能

XSLT2.0具有支持本地化的日期和日期时间格式功能:请参阅,但实现可能有所不同-例如,Saxon似乎没有实现日历/语言部分

特定的XSLT实现具有支持日期-时间本地化的扩展函数-参见示例

即使您有一个支持本地化的格式化函数,您仍然会遇到查找和传递正确区域设置的问题-如果XSLT在服务器上运行,并且结果在浏览器中呈现,则服务器的区域设置可能是错误的,因此,您需要从HTTP头或使用一些JavaScript提取区域设置信息,并在服务器上使用它

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:output method="html" indent="yes" version="5.0" doctype-system="about:legacy-compat"/>
   <xsl:template match="/Stuff">
   <html>
   <body>
       Created: <xsl:value-of select="format-date('Created')"/>
   </body>
   </html>
   </xsl:template>
</xsl:stylesheet>
Created: 01/11/34
Created: 05.09.13
Created: 05.09.2013
Created: 05/09 2013
Created: 05/09/2013
Created: 05-09-13
Created: 05-09-2013
Created: 09.05.2013
Created: 09/05/2013
Created: 13.09.05
Created: 2013.09.05
Created: 2013.09.05.
Created: 2013/09/05
Created: 2013/9/5
Created: 2013-09-05
Created: 2013-9-5
Created: 29/10/34
Created: 5. 9. 2013
Created: 5.09.2013
Created: 5.9.2013
Created: 5.9.2013 г.
Created: 5.9.2013.
Created: 5//09//2013
Created: 5/09/2013
Created: 5/9/2013
Created: 5/9/2556
Created: 5-9-2013
Created: 9/5/2013
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/xsl' href='/Styles/Contoso_Handheld.xslt' media='handheld'?>
<?xml-stylesheet type='text/xsl' href='/Styles/Contoso_iPhone.xslt' media='only screen and (max-device-width: 480px)'?>
<?xml-stylesheet type='text/xsl' href='/Styles/Contoso.xslt' media='all'?>
<Stuff>
   <Created>2013-09-04T10:46:19.658</Created>
</Stuff>
<?xml-stylesheet type='text/xsl' href='/Styles/Contoso_Handheld.xslt' media='handheld'?>
<?xml-stylesheet type='text/xsl' href='/Styles/Contoso_iPhone.xslt' media='only screen and (max-device-width: 480px)'?>
<?xml-stylesheet type='text/xsl' href='/Styles/Contoso.xslt' media='all'?>