首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >libxslt:编译错误

libxslt:编译错误
EN

Stack Overflow用户
提问于 2015-02-08 04:26:28
回答 1查看 329关注 0票数 1

我在iOS上使用libxslt,并且从应该简单的xslt获得编译错误,例如:

代码语言:javascript
复制
compilation error: file /Users/yada/Library/Developer/CoreSimulator/Devices/ACE15E20-3230-4966-ACDE-DCADABF48B32/data/Containers/Bundle/Application/A4EC9B34-3A96-42E0-B58F-6EB44C942874/appname.app/upconversion-options.xsl line 19 element function
xsltStylePreCompute: unknown xsl:function
compilation error: file /Users/yada/Library/Developer/CoreSimulator/Devices/ACE15E20-3230-4966-ACDE-DCADABF48B32/data/Containers/Bundle/Application/A4EC9B34-3A96-42E0-B58F-6EB44C942874/appname.app/upconversion-options.xsl line 20 element param
element param only allowed within a template, variable or param

..。更多的是这样,当我这样做的时候:

代码语言:javascript
复制
xmlSubstituteEntitiesDefault(1);
xmlLoadExtDtdDefaultValue = 1;

NSString * pMathMLTocMathMLXSLPath = [[NSBundle mainBundle] pathForResource:@"upconversion-options" ofType:@"xsl"];
xsltStylesheetPtr pMathMLTocMathMLXSLStyleSheet = xsltParseStylesheetFile((const xmlChar *)[pMathMLTocMathMLXSLPath cStringUsingEncoding:NSUTF8StringEncoding]);

xsl文件如下所示:

代码语言:javascript
复制
<xsl:stylesheet version="2.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:s="http://www.ph.ed.ac.uk/snuggletex"
  xmlns="http://www.w3.org/1998/Math/MathML"
  exclude-result-prefixes="xs s"
  xpath-default-namespace="http://www.w3.org/1998/Math/MathML">

  <xsl:function name="s:get-boolean-option" as="xs:boolean">
    <xsl:param name="upconversion-options" as="element(s:upconversion-options)"/>
    <xsl:param name="name" as="xs:string"/>
    <xsl:sequence select="boolean($upconversion-options/s:option[@name=$name]/@value='true')"/>
  </xsl:function>

  <xsl:function name="s:get-upconversion-option" as="xs:string?">
    <xsl:param name="upconversion-options" as="element(s:upconversion-options)"/>
    <xsl:param name="name" as="xs:string"/>
    <xsl:sequence select="$upconversion-options/s:option[@name=$name]/@value"/>
  </xsl:function>

  <xsl:function name="s:get-symbol-assumption" as="element(s:symbol)?">
    <xsl:param name="element" as="element()"/>
    <xsl:param name="upconversion-options" as="element(s:upconversion-options)"/>
    <xsl:sequence select="$upconversion-options/s:symbol[deep-equal(*, $element)]"/>
  </xsl:function>

  <xsl:function name="s:is-assumed-symbol" as="xs:boolean">
    <xsl:param name="element" as="element()"/>
    <xsl:param name="upconversion-options" as="element(s:upconversion-options)"/>
    <xsl:param name="assume" as="xs:string"/>
    <xsl:sequence select="exists($upconversion-options/s:symbol[@assume=$assume and deep-equal($element, *)])"/>
  </xsl:function>

  <xsl:function name="s:is-assumed-function" as="xs:boolean">
    <xsl:param name="element" as="element()"/>
    <xsl:param name="upconversion-options" as="element(s:upconversion-options)"/>
    <xsl:sequence select="s:is-assumed-symbol($element, $upconversion-options, 'function')"/>
  </xsl:function>

</xsl:stylesheet>

有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-08 04:54:31

libxslt不支持XSLT2.0。您需要使用尚未离开beta版的撒克逊/C,或者恢复到XSLT1.0。如果您恢复到1.0并需要额外的功能,请查看EXSLT。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28390555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档