怎么知道,libxslt是否支持EXSLT

时间:2012-03-15 11:22:17

标签: osx-snow-leopard libxml2 libxslt

我在MacOSX 10.7上,从libxml2 / xmlversion.h可以看到libxml2版本

定义LIBXML_DOTTED_VERSION“2.7.3”

这意味着2.7.3

我的应用程序也使用xslt,因为它有libxslt处理器,它附带了libxml2

某些文件可能包含数学函数,如下所示,

 <xsl:variable name="angle"
          select="math:atan2(30, 30)
              - math:atan2(30, 30)"/>

通过网站http://www.exslt.org/howto.html它说,xslt处理器应支持EXSLT功能,

有没有人有任何想法,我怎么能确认呢?

1 个答案:

答案 0 :(得分:0)

我如何修复它,下面是步骤, 1 - 我必须安装libxml2,并删除可通过SDK获得的libxml2的引用, 2 - 也编译libxslt,并且不包括SDK中的那些, 3 - 在应用样式表之前的源代码中调用这些函数中的任何一个

EXSLTPUBFUN void EXSLTCALL exsltMathRegister (void);
EXSLTPUBFUN void EXSLTCALL exsltSetsRegister (void);
EXSLTPUBFUN void EXSLTCALL exsltFuncRegister (void);
EXSLTPUBFUN void EXSLTCALL exsltStrRegister (void);
EXSLTPUBFUN void EXSLTCALL exsltDateRegister (void);
EXSLTPUBFUN void EXSLTCALL exsltSaxonRegister (void);
EXSLTPUBFUN void EXSLTCALL exsltDynRegister(void);

4 - 您可能需要更改XSL文件以包含数学名称空间并将其导入

 xmlns:math="http://exslt.org/math"
  xmlns:jDouble="java.lang.Double"
  exclude-result-prefixes="v math"
  xmlns="http://www.w3.org/2000/svg"
  version="1.0">
    <xsl:import href="math.xsl" />

感谢您的关注。