2011-01-04 18 views
1

Ich versuche, die ubuntu cli Version von xalan zu verwenden:Xalan Datum Verlängerung Problem

Xalan version 1.10.0 
Xerces version 2.8.0 

Mein Problem ist, wie man mit Datumsfunktionen treten in. Ich habe versucht wie folgt aus:

<?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> 

Es gibt mir diese Meldung zurück:

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) 

Welche Dateien oder was muss ich ändern müssen, um diese Datumsfunktionen funktioniert?

Antwort

2

Sie müssen eine neuere Version von Xalan verwenden.

Vom Xalan J.2.7.1 documentation:

EXSLT Erweiterungen

Xalan-Java unterstützt die EXSLT Initiative eine Reihe von Standard-Erweiterungsfunktionen zur Verfügung zu stellen und Elemente zu XSLT-Benutzer. Xalan-Java enthält Implementierungen für die folgende EXSLT Erweiterungsmodule:

EXSLT gemeinsame Funktionen EXSLT Mathematik Funktionen EXSLT verfügbare Funktionen

EXSLT Datums- und Zeitfunktionen

EXSLT dynamische Funktionen

EXSLT String-Funktionen

Die EXSLT func: Funktion und func: führen el ements (siehe EXSLT - func: Funktion)

+0

Dies ist nicht Xalan-Java! Es ist Xalan C++ und es ist die neueste Version. – azAttis

+1

Wenn Xalan C++ keine EXSLT-Daten implementiert, können Sie das '- Element mit JS oder die date_time-Bibliothek verwenden, die mit dem XSelerator geliefert wird. Es ist reines XSLT (keine Erweiterungsfunktionen). –

+0

Tatsächlich enthält Xselerator26.msi Samples \ Libraries \ datetime_lib.xsl, das reine xsl-Implementierung von Martin "Marrow" Rowlinson ist. "Keine Nutzungsbeschränkung". Siehe http://stackoverflow.com/questions/7346178/does-anyone-have-a-copy-of-the-xselerator-xsl-ide-from-sourceforge – Vadzim

1

Die Dokumentation zeigt, dass es Beta-Implementierungen in eingebauten für diese Teilmenge hat, aber es nicht sagen, dass Sie nicht und die Funktionen von exslt.org verwenden importieren können. Warum kannst du nicht? Unterstützt Xalan-C++ das Importieren von Funktionen nicht?

Beachten Sie, dass war in der Lage, die Vorlagen arbeiten zu bekommen. Nur nicht die Funktionen.