首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebHarvest中的Xquery错误

WebHarvest中的Xquery错误
EN

Stack Overflow用户
提问于 2010-12-11 22:49:28
回答 1查看 1.2K关注 0票数 0

我使用WebHarvest解析一些html。我在下面的函数WebHarvest的ide中得到了下面的错误,我不知道出了什么问题。我正在尝试创建一个函数来修剪一个字符串。

错误

执行XQuery表达式时出错(Xquery=declare变量$xqsource external;让$result :=正常化-空间($xqsource)返回$result)!

Edit2:日志报告以下SAX错误:

.引起的: org.xml.sax.SAXParseException:中不允许内容

我不明白在这种情况下这意味着什么。

函数的参数: sourceString,要修剪的字符串

代码语言:javascript
复制
<function name="trim">
    <return>
        <xquery>
            <xq-param name="xqsource">
                <var name="sourceString" />
            </xq-param>
            <xq-expression><![CDATA[
                declare variable $xqsource external;

                let $result := normalize-space($xqsource)
                    return 
                     $result
                ]]>
            </xq-expression>
        </xquery>
    </return>
</function>

编辑: sourceString是由字母数字字符、新行和空格组成的字符串,如

“blabla - bla2 “

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-12 15:03:14

默认类型的xq-param是node() (cf 手册)。因此,WebHarvest试图将变量内容解析为XML (SAXParseException是XML解析错误,而不是特定的XQuery错误)。

您应该向param添加一个string类型声明:

代码语言:javascript
复制
<xq-param name="xqsource" type="string">
  <var name="sourceString" />
</xq-param>

这有用吗?

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

https://stackoverflow.com/questions/4419400

复制
相关文章

相似问题

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