XQUery集合:删除?

时间:2012-02-06 13:55:09

标签: html collections xquery

我是xquery的新手,我正在尝试使用一个集合来重新加载我的网页并保留一些信息。我的问题是在我创建集合并使用(sausalito)保存我的节点之后,即使在我关闭程序之后,集合仍然存活。下次我使用该集合时,它已经有节点。我只需要集合来保存节点,然后重新加载网站和删除节点。问题是我无法删除集合或节点。我尝试使用delete-nodes()和http://www.zorba-xquery.com/doc/zorba-1.4.0/zorba/xqdoc/xhtml/www.zorba-xquery.com_modules_xqddf.html#delete-index-1

中的其他方法

我有什么

declare collection resultview:collection as node()*;
declare variable $resultview:collection as xs:QName := xs:QName("resultview:collection");
declare sequential function resultview:add($allMovies as element(movies))
{
for $movie in $allMovies
return xqddf:insert-nodes($resultview:collection, $allMovies);
fn:trace(xqddf:collection($resultview:collection), "Collection data: "),
exit returning resultview:list();
};
declare sequential function resultview:deleteList() {
    let $a := ""
    return  xqddf:delete-index($resultview:collection);
    exit returning resultview:list();
};

1 个答案:

答案 0 :(得分:2)

如果我理解正确,这应该有效:

declare collection resultview:collection as node()*;
declare variable $resultview:collection as xs:QName := xs:QName("resultview:collection");

declare sequential function resultview:add($allMovies as element(movies))
{
  xqddf:insert-nodes($resultview:collection, $allMovies);
  resultview:list();
};

declare sequential function resultview:deleteList() {
  xqddf:delete-nodes(
    $resultview:collection,
    xqddf:collection($resultview:collection));
  resultview:list();
};

使用delete-nodes而不是delete-index(后者删除一个完整的索引而不是特定索引位置的节点)。

有帮助吗?