Package: xalan
Version: 1.10-1
Severity: normal
Tags: patch

xalan calls atan() EXSLT function when asked for atan2(), as in
following demonstration:

$ cat tst.xsl
<?xml version="1.0"?>

<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
        xmlns:math="http://exslt.org/math";
        extension-element-prefixes="math"
        version="1.0">
        <xsl:template match="/">
                <xsl:value-of select="math:atan2(1,1)"/>
        </xsl:template>
</xsl:transform>
$ cat tst.xml
<a/>
$ xalan -xsl tst.xsl -in tst.xml
XSLT Error: The EXSLT function 'atan' accepts one argument.Source tree node: 
#document. (file:///home/eugen/tst.xsl, line 8, column 43.)

XSLException Type is: XSLTProcessorException
Message is: The EXSLT function 'atan' accepts one argument. 
(file:///home/eugen/tst.xsl, line 8, column 43)
$

Attached patch fixes this problem

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.16-rc1-me
Locale: LANG=uk_UA.UTF-8, LC_CTYPE=uk_UA.UTF-8 (charmap=UTF-8)

Versions of packages xalan depends on:
ii  libc6                         2.3.5-12.1 GNU C Library: Shared libraries an
ii  libgcc1                       1:4.0.2-8  GCC support library
ii  libstdc++6                    4.0.2-8    The GNU Standard C++ Library v3
ii  libxalan110                   1.10-1     Provides XSLT support for applicat
ii  libxerces27                   2.7.0-1    validating XML parser library for 

xalan recommends no packages.

-- no debconf information
diff -urpN xalan-1.10.orig/c/src/xalanc/XalanEXSLT/XalanEXSLTMath.cpp 
xalan-1.10/c/src/xalanc/XalanEXSLT/XalanEXSLTMath.cpp
--- xalan-1.10.orig/c/src/xalanc/XalanEXSLT/XalanEXSLTMath.cpp  2005-06-14 
22:49:49.000000000 +0300
+++ xalan-1.10/c/src/xalanc/XalanEXSLT/XalanEXSLTMath.cpp       2006-02-05 
19:54:26.000000000 +0200
@@ -1460,7 +1460,7 @@ static const XalanEXSLTFunctionAbs      
 static const XalanEXSLTFunctionAcos         s_acosFunction;
 static const XalanEXSLTFunctionAsin         s_asinFunction;
 static const XalanEXSLTFunctionAtan         s_atanFunction;
-static const XalanEXSLTFunctionAtan         s_atan2Function;
+static const XalanEXSLTFunctionAtan2        s_atan2Function;
 static const XalanEXSLTFunctionConstant     s_constantFunction;
 static const XalanEXSLTFunctionCos          s_cosFunction;
 static const XalanEXSLTFunctionExp          s_expFunction;

Reply via email to