Xalan проблема продления даты - PullRequest
1 голос
/ 04 января 2011

Я пытаюсь использовать Ubuntu Cli версию XALAN:

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 ]

2 голосов
/ 04 января 2011

Вам необходимо использовать более позднюю версию Xalan .

Из документации Xalan J.2.7.1 :

EXSLT extensions

Xalan-Java поддерживает EXSLT инициатива, чтобы обеспечить набор стандартные функции расширения и элементы для пользователей XSLT. Xalan-Java включает в себя реализации для следующие модули расширения EXSLT:

общие функции EXSLT математика EXSLT функции EXSLT набор функций

EXSLT функции даты и времени

EXSLT динамические функции

EXSLT строковые функции

Функция EXSLT: функция и func: элементы результата (см. EXSLT - FUNC: функция)

1 голос
/ 29 августа 2011

Документация показывает, что он имеет встроенные бета-реализации для этого подмножества, однако в нем не говорится, что вы не можете импортировать и использовать функции из exslt.org. Почему ты не можешь? Xalan-c ++ не поддерживает импорт функций?

Обратите внимание, что я смог заставить работать шаблоны. Только не функции.

0 голосов
/ 04 января 2011

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

Xalan-C ++ включает бета-реализации для функций в четырех пространствах имен EXSLT (некоторые из них являются вызовами расширения уже в пространстве имен Xalan).

А из http://xml.apache.org/xalan-c/apiDocs/XalanEXSLTDateTimeImpl_8hpp.html, похоже, что только date:date-time() были реализованы.

...