我在MacOSX 10.7上,从libxml2 / xmlversion.h可以看到libxml2版本
这意味着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功能,
有没有人有任何想法,我怎么能确认呢?
答案 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" />
感谢您的关注。