Xalan日期扩展问题

时间:2011-01-04 12:42:29

标签: xslt xalan exslt

我正在尝试使用xalan的ubuntu cli版本:

Xalan version 1.10.0
Xerces version 2.8.0

我的问题是如何使用日期功能。我试着这样:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
                xmlns:xs="http://www.w3.org/2001/XMLSchema"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:date="http://exslt.org/dates-and-times" extension-element-prefixes="date">

<xsl:import href="date/date.xsl" />
<xsl:output method="text" indent="yes" />
date: <xsl:value-of select="date:date()" />
</xsl:stylesheet>

它让我回复了这条消息:

XSLException Type is: XalanXPathException
Message is: The function number 'http://exslt.org/dates-and-times:date' is not available. (file:///home/user/test.xsl, line x, column y)

我需要更改哪些文件或更改以使这些日期功能起作用?

3 个答案:

答案 0 :(得分:2)

您需要使用更高版本的Xalan

来自 Xalan J.2.7.1 documentation

EXSLT扩展

  

Xalan-Java支持EXSLT   主动提供一套   标准扩展功能和   XSLT用户的元素。 Xalan的Java的   包括实现   以下EXSLT扩展模块:

     

EXSLT常用函数EXSLT数学   函数EXSLT设置函数

     

EXSLT日期和时间功能

     

EXSLT动态函数

     

EXSLT字符串函数

     

EXSLT函数:函数和   func:结果元素(参见EXSLT -   FUNC:功能)

答案 1 :(得分:1)

文档显示它已为该子集内置了beta实现,但并未说明您无法导入和使用exslt.org中的函数。你为什么不能? Xalan-c ++不支持导入函数吗?

请注意,我 能够让模板正常工作。只是不是功能。

答案 2 :(得分:0)

来自http://xml.apache.org/xalan-c/extensionslib.html

  

Xalan-C ++包括beta   四个函数的实现   EXSLT命名空间(有些是   已拨打电话到分机   Xalan名称空间)。

http://xml.apache.org/xalan-c/apiDocs/XalanEXSLTDateTimeImpl_8hpp.html开始,看起来只有date:date-time()已经实施。