我正在尝试使用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)
我需要更改哪些文件或更改以使这些日期功能起作用?
答案 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()
已经实施。