You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-users@xalan.apache.org by St...@avinci.de on 2003/01/23 19:19:40 UTC

XSLTC + Extension - error using SimpleDateFormat with Locale

Dear Xalan users,
 
i try to use java.util.Date, java.text.SimpleDateFormat and java.util.Locale to generate a 
language-dependend Timestamp. Therefore i use the following stylesheet:
 
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="http://xml.apache.org/xalan" 
xmlns:date="http://xml.apache.org/xalan/java/java.util.Date" 
xmlns:dateFormat="http://xml.apache.org/xalan/java/java.text.SimpleDateFormat" 
xmlns:locale="http://xml.apache.org/xalan/java/java.util.Locale"  
xmlns:java_lang="http://xml.apache.org/xalan/java/java.lang"
exclude-result-prefixes ="date locale dateFormat java_lang xalan">   

<xsl:template match="/">
<xsl:variable name="dateObject" select="date:new()"/>
<xsl:variable name="localeObject" select="locale:new('fr','')"/>
<xsl:variable name="dateFormatObject" select="dateFormat:new('dd. MMMM yyyy HH:mm:ss zzzz', $localeObject)"/>
<xsl:variable name="date-time" select="dateFormat:format($dateFormatObject,$dateObject)"/>
<out>
<xsl:value-of select="$date-time"/>
</out>
</xsl:template>
</xsl:stylesheet>
 
for input i used only: 
<?xml version="1.0" encoding="UTF-8"?>
<foo/>
 
Xalan does it right:
<?xml version="1.0" encoding="UTF-8"?>
<out>23. janvier 2003 18:59:54 GMT+01:00</out>
 
but XSLTC throws a compilation error when i created a Templates-Object:
 
ERROR:  
'Cannot convert argument/return type in call to method 'java.text.SimpleDateFormat.new(string, object)'' 
javax.xml.transform.TransformerConfigurationException: 
Could not compile stylesheet
at org.apache.xalan.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:662)

I use jdk 1.3.1, Xalan 2.4.1
Can anyone help me out ? 
Stefan