我在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--我必须安装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" />
感谢您的观看。