← Back to team overview

zorba-coders team mailing list archive

[Merge] lp:~zorba-coders/zorba/bug-1189801 into lp:zorba

 

Chris Hillery has proposed merging lp:~zorba-coders/zorba/bug-1189801 into lp:zorba.

Commit message:
Updated reference module to Zorba 3.0 standards. Removed node-reference module (use reference module instead).

Requested reviews:
  Zorba Coders (zorba-coders)
Related bugs:
  Bug #1189801 in Zorba: "Update core module "reference""
  https://bugs.launchpad.net/zorba/+bug/1189801

For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/bug-1189801/+merge/176621
-- 
https://code.launchpad.net/~zorba-coders/zorba/bug-1189801/+merge/176621
Your team Zorba Coders is requested to review the proposed merge of lp:~zorba-coders/zorba/bug-1189801 into lp:zorba.
=== modified file 'modules/CMakeLists.txt'
--- modules/CMakeLists.txt	2013-07-17 15:53:51 +0000
+++ modules/CMakeLists.txt	2013-07-24 08:15:39 +0000
@@ -1,4 +1,4 @@
-# Copyright 2006-2010 The FLWOR Foundation.
+# Copyright 2006-2013 The FLWOR Foundation.
 # 
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -20,7 +20,7 @@
 ADD_SUBDIRECTORY(w3c)
 ADD_SUBDIRECTORY(full-text)
 ADD_SUBDIRECTORY(json)
-ADD_SUBDIRECTORY(nodes)
+ADD_SUBDIRECTORY(structured-items)
 
 # Add external module projects - any subdirectories of a directory
 # named "zorba_modules" as a sibling to the main Zorba source

=== modified file 'modules/com/zorba-xquery/www/modules/CMakeLists.txt'
--- modules/com/zorba-xquery/www/modules/CMakeLists.txt	2013-07-17 15:48:38 +0000
+++ modules/com/zorba-xquery/www/modules/CMakeLists.txt	2013-07-24 08:15:39 +0000
@@ -56,10 +56,6 @@
   URI "http://www.zorba-xquery.com/modules/datetime";)
 DECLARE_ZORBA_MODULE(FILE fetch.xq VERSION 2.0
   URI "http://www.zorba-xquery.com/modules/fetch";)
-DECLARE_ZORBA_MODULE(FILE node-reference.xq VERSION 2.0
-  URI "http://www.zorba-xquery.com/modules/node-reference";)
-DECLARE_ZORBA_MODULE(FILE reference.xq VERSION 1.0
-  URI "http://www.zorba-xquery.com/modules/reference";)
 DECLARE_ZORBA_MODULE(FILE node.xq VERSION 2.0
   URI "http://www.zorba-xquery.com/modules/node";)
 DECLARE_ZORBA_MODULE(FILE item.xq VERSION 1.0

=== removed file 'modules/com/zorba-xquery/www/modules/node-reference.xq'
--- modules/com/zorba-xquery/www/modules/node-reference.xq	2013-06-25 03:55:20 +0000
+++ modules/com/zorba-xquery/www/modules/node-reference.xq	1970-01-01 00:00:00 +0000
@@ -1,84 +0,0 @@
-xquery version "1.0";
-
-(:
- : Copyright 2006-2009 The FLWOR Foundation.
- :
- : Licensed under the Apache License, Version 2.0 (the "License");
- : you may not use this file except in compliance with the License.
- : You may obtain a copy of the License at
- :
- : http://www.apache.org/licenses/LICENSE-2.0
- :
- : Unless required by applicable law or agreed to in writing, software
- : distributed under the License is distributed on an "AS IS" BASIS,
- : WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- : See the License for the specific language governing permissions and
- : limitations under the License.
-:)
-
-(:~
- : The module provides functions to compute an immutable and opaque reference 
- : for any node and to retrieve nodes given their identifier. The identifiers 
- : are immutable, i.e. a node identifier does not change during the node lifetime
- : and cannot be reused for another node after the original node gets deleted.
- : Identifiers are unique, in that, two different nodes will never have the same 
- : identifier. A node, at any time during its lifetime, can be retrieved by its 
- : identifier.
- :
- : <p>Please see the <a href="../../html/data_lifecycle.html">data lifecycle
- : documentation</a> about details on storing nodes in collections or as documents.</p>
- : 
- : @see <a href="../../html/data_lifecycle.html">Data Lifecycle</a>
- :
- : @author Federico Cavalieri
- :
- : @project Zorba/XQuery Data Model/Node/Node Reference
- :
- :)
-module namespace ref = "http://www.zorba-xquery.com/modules/node-reference";;
-
-declare namespace zerr = "http://zorba.io/modules/zorba-errors";;
-
-declare namespace ver = "http://www.zorba-xquery.com/options/versioning";;
-
-declare option ver:module-version "2.0";
-
-(:~
- : Returns an immutable and opaque node reference (with type xs:anyURI) for
- : a given node.
- : 
- : <p>The generated identifier is immutable, i.e. a node identifier does not
- : change during the node lifetime and cannot be reused for another node after
- : the original node gets deleted.</p>
- :
- : <p>Identifiers are also unique, in that, two different nodes will never 
- : have the same identifier.</p>
- :
- : A node, at any time during its lifetime, can be retrieved by its 
- : identifier, using the <tt>ref:node-by-reference</tt> function.
- :
- : @param $arg the node for which the URI should be computed
- :
- : @return the opaque URI of the node.
- :)
-declare function ref:node-reference(
-  $arg as node()
-) as xs:anyURI external;
-
-(:~
- : Returns the node identified by the given node reference.
- :
- : <p>The function returns the empty sequence if the node
- : that is referenced does not exist.</p>
- :
- : @param $arg the URI of the node to retrieve.
- :
- : @return the node identified by the URI passed as parameter
- :         or the empty-sequence if no node with that URI is found.
- :
- : @error zerr:ZAPI0028 if the given URI is not a valid node reference
- :        computed by the <tt>ref:node-reference</tt> function.
- :)
-declare function ref:node-by-reference(
-  $arg as xs:anyURI
-) as node()? external;

=== renamed directory 'modules/nodes' => 'modules/structured-items'
=== modified file 'modules/structured-items/CMakeLists.txt'
--- modules/nodes/CMakeLists.txt	2013-07-09 07:44:44 +0000
+++ modules/structured-items/CMakeLists.txt	2013-07-24 08:15:39 +0000
@@ -13,4 +13,6 @@
 # limitations under the License.
 
 DECLARE_ZORBA_MODULE(FILE node-position.xq VERSION 2.0
-  URI "http://zorba.io/modules/node-position";)
\ No newline at end of file
+  URI "http://zorba.io/modules/node-position";)
+DECLARE_ZORBA_MODULE(FILE reference.xq VERSION 1.0
+  URI "http://zorba.io/modules/reference";)

=== renamed file 'modules/com/zorba-xquery/www/modules/reference.xq' => 'modules/structured-items/reference.xq'
--- modules/com/zorba-xquery/www/modules/reference.xq	2013-06-25 03:55:20 +0000
+++ modules/structured-items/reference.xq	2013-07-24 08:15:39 +0000
@@ -36,7 +36,7 @@
  : @project Zorba/XQuery Data Model/Node/Reference
  :
  :)
-module namespace ref = "http://www.zorba-xquery.com/modules/reference";;
+module namespace ref = "http://zorba.io/modules/reference";;
 
 declare namespace zerr = "http://zorba.io/modules/zorba-errors";;
 
@@ -45,8 +45,8 @@
 declare option ver:module-version "1.0";
 
 (:~
- : Returns an immutable and opaque reference (with type xs:anyURI) for
- : a given node, object, or array.
+ : <p>Returns an immutable and opaque reference (with type xs:anyURI) for
+ : a given node, object, or array.</p>
  : 
  : <p>The generated identifier is immutable, i.e. a identifier does not
  : change during the item's lifetime and cannot be reused for another node after
@@ -73,7 +73,7 @@
 ) as xs:string external;
 
 (:~
- : Returns the node, object, or array identified by the given reference.
+ : <p>Returns the node, object, or array identified by the given reference.</p>
  :
  : <p>The function returns the empty sequence if the item
  : that is referenced does not exist.</p>

=== modified file 'src/compiler/rewriter/rules/fold_rules.cpp'
--- src/compiler/rewriter/rules/fold_rules.cpp	2013-05-24 16:34:11 +0000
+++ src/compiler/rewriter/rules/fold_rules.cpp	2013-07-24 08:15:39 +0000
@@ -174,10 +174,6 @@
         curNonDiscardable = ANNOTATION_TRUE_FIXED;
         curUnfoldable = ANNOTATION_TRUE_FIXED;
       }
-      else if (fkind == FunctionConsts::FN_ZORBA_REF_NODE_BY_REFERENCE_1)
-      {
-        curDereferencesNodes = ANNOTATION_TRUE;
-      }
 
       // Do not fold functions that always require access to the dynamic context,
       // or may need to access the implicit timezone (which is also in the dynamic

=== modified file 'src/context/static_context.cpp'
--- src/context/static_context.cpp	2013-07-17 15:48:38 +0000
+++ src/context/static_context.cpp	2013-07-24 08:15:39 +0000
@@ -364,12 +364,8 @@
 "http://zorba.io/modules/json-xml";;
 
 const char*
-static_context::ZORBA_NODEREF_FN_NS =
-"http://www.zorba-xquery.com/modules/node-reference";;
-
-const char*
 static_context::ZORBA_REFERENCE_FN_NS =
-"http://www.zorba-xquery.com/modules/reference";;
+"http://zorba.io/modules/reference";;
 
 const char*
 static_context::ZORBA_NODEPOS_FN_NS =
@@ -543,7 +539,6 @@
   {
     return (ns == ZORBA_MATH_FN_NS ||
             ns == ZORBA_BASE64_FN_NS ||
-            ns == ZORBA_NODEREF_FN_NS ||
             ns == ZORBA_REFERENCE_FN_NS ||
             ns == ZORBA_NODEPOS_FN_NS ||
 

=== modified file 'src/context/static_context.h'
--- src/context/static_context.h	2013-07-02 21:32:23 +0000
+++ src/context/static_context.h	2013-07-24 08:15:39 +0000
@@ -522,7 +522,6 @@
 
   static const char* ZORBA_JSON_FN_NS;
 
-  static const char* ZORBA_NODEREF_FN_NS;
   static const char* ZORBA_REFERENCE_FN_NS;
   static const char* ZORBA_NODEPOS_FN_NS;
   static const char* ZORBA_STORE_DYNAMIC_COLLECTIONS_DDL_FN_NS;

=== modified file 'src/functions/pregenerated/func_nodes.cpp'
--- src/functions/pregenerated/func_nodes.cpp	2013-03-05 23:11:50 +0000
+++ src/functions/pregenerated/func_nodes.cpp	2013-07-24 08:15:39 +0000
@@ -31,46 +31,6 @@
 
 
 
-PlanIter_t fn_zorba_ref_node_reference::codegen(
-  CompilerCB*,
-  static_context* sctx,
-  const QueryLoc& loc,
-  std::vector<PlanIter_t>& argv,
-  expr& ann) const
-{
-  return new NodeReferenceIterator(sctx, loc, argv);
-}
-
-PlanIter_t fn_zorba_ref_has_node_reference::codegen(
-  CompilerCB*,
-  static_context* sctx,
-  const QueryLoc& loc,
-  std::vector<PlanIter_t>& argv,
-  expr& ann) const
-{
-  return new HasNodeReferenceIterator(sctx, loc, argv);
-}
-
-PlanIter_t fn_zorba_ref_assign_node_reference::codegen(
-  CompilerCB*,
-  static_context* sctx,
-  const QueryLoc& loc,
-  std::vector<PlanIter_t>& argv,
-  expr& ann) const
-{
-  return new AssignNodeReferenceIterator(sctx, loc, argv);
-}
-
-PlanIter_t fn_zorba_ref_node_by_reference::codegen(
-  CompilerCB*,
-  static_context* sctx,
-  const QueryLoc& loc,
-  std::vector<PlanIter_t>& argv,
-  expr& ann) const
-{
-  return new NodeByReferenceIterator(sctx, loc, argv);
-}
-
 PlanIter_t fn_local_name::codegen(
   CompilerCB*,
   static_context* sctx,
@@ -276,55 +236,6 @@
 
 
       {
-    DECL_WITH_KIND(sctx, fn_zorba_ref_node_reference,
-        (createQName("http://www.zorba-xquery.com/modules/node-reference","","node-reference";), 
-        GENV_TYPESYSTEM.ANY_NODE_TYPE_ONE, 
-        GENV_TYPESYSTEM.ANY_URI_TYPE_ONE),
-        FunctionConsts::FN_ZORBA_REF_NODE_REFERENCE_1);
-
-  }
-
-
-
-
-      {
-    DECL_WITH_KIND(sctx, fn_zorba_ref_has_node_reference,
-        (createQName("http://www.zorba-xquery.com/modules/node-reference","","has-node-reference";), 
-        GENV_TYPESYSTEM.ANY_NODE_TYPE_ONE, 
-        GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE),
-        FunctionConsts::FN_ZORBA_REF_HAS_NODE_REFERENCE_1);
-
-  }
-
-
-
-
-      {
-    DECL_WITH_KIND(sctx, fn_zorba_ref_assign_node_reference,
-        (createQName("http://www.zorba-xquery.com/modules/node-reference","","assign-node-reference";), 
-        GENV_TYPESYSTEM.ANY_NODE_TYPE_ONE, 
-        GENV_TYPESYSTEM.ANY_URI_TYPE_ONE, 
-        GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE),
-        FunctionConsts::FN_ZORBA_REF_ASSIGN_NODE_REFERENCE_2);
-
-  }
-
-
-
-
-      {
-    DECL_WITH_KIND(sctx, fn_zorba_ref_node_by_reference,
-        (createQName("http://www.zorba-xquery.com/modules/node-reference","","node-by-reference";), 
-        GENV_TYPESYSTEM.ANY_URI_TYPE_ONE, 
-        GENV_TYPESYSTEM.ANY_NODE_TYPE_QUESTION),
-        FunctionConsts::FN_ZORBA_REF_NODE_BY_REFERENCE_1);
-
-  }
-
-
-
-
-      {
     DECL_WITH_KIND(sctx, fn_local_name,
         (createQName("http://www.w3.org/2005/xpath-functions","","local-name";), 
         GENV_TYPESYSTEM.STRING_TYPE_ONE),

=== modified file 'src/functions/pregenerated/func_nodes.h'
--- src/functions/pregenerated/func_nodes.h	2013-03-05 23:11:50 +0000
+++ src/functions/pregenerated/func_nodes.h	2013-07-24 08:15:39 +0000
@@ -38,70 +38,6 @@
 
 
 
-//fn-zorba-ref:node-reference
-class fn_zorba_ref_node_reference : public function
-{
-public:
-  fn_zorba_ref_node_reference(const signature& sig, FunctionConsts::FunctionKind kind)
-    : 
-    function(sig, kind)
-  {
-
-  }
-
-  bool mustCopyInputNodes(expr* fo, csize producer) const { return true; }
-
-  CODEGEN_DECL();
-};
-
-
-//fn-zorba-ref:has-node-reference
-class fn_zorba_ref_has_node_reference : public function
-{
-public:
-  fn_zorba_ref_has_node_reference(const signature& sig, FunctionConsts::FunctionKind kind)
-    : 
-    function(sig, kind)
-  {
-
-  }
-
-  CODEGEN_DECL();
-};
-
-
-//fn-zorba-ref:assign-node-reference
-class fn_zorba_ref_assign_node_reference : public function
-{
-public:
-  fn_zorba_ref_assign_node_reference(const signature& sig, FunctionConsts::FunctionKind kind)
-    : 
-    function(sig, kind)
-  {
-
-  }
-
-  unsigned short getScriptingKind() const { return SEQUENTIAL_FUNC_EXPR; }
-
-  CODEGEN_DECL();
-};
-
-
-//fn-zorba-ref:node-by-reference
-class fn_zorba_ref_node_by_reference : public function
-{
-public:
-  fn_zorba_ref_node_by_reference(const signature& sig, FunctionConsts::FunctionKind kind)
-    : 
-    function(sig, kind)
-  {
-
-  }
-
-  CODEGEN_DECL();
-};
-
-
 //fn:local-name
 class fn_local_name : public function
 {

=== modified file 'src/functions/pregenerated/func_reference.cpp'
--- src/functions/pregenerated/func_reference.cpp	2013-03-05 23:11:50 +0000
+++ src/functions/pregenerated/func_reference.cpp	2013-07-24 08:15:39 +0000
@@ -77,7 +77,7 @@
 
       {
     DECL_WITH_KIND(sctx, fn_reference_reference,
-        (createQName("http://www.zorba-xquery.com/modules/reference","","reference";), 
+        (createQName("http://zorba.io/modules/reference","","reference";), 
         GENV_TYPESYSTEM.STRUCTURED_ITEM_TYPE_ONE, 
         GENV_TYPESYSTEM.STRING_TYPE_ONE),
         FunctionConsts::FN_REFERENCE_REFERENCE_1);
@@ -89,7 +89,7 @@
 
       {
     DECL_WITH_KIND(sctx, fn_reference_has_reference,
-        (createQName("http://www.zorba-xquery.com/modules/reference","","has-reference";), 
+        (createQName("http://zorba.io/modules/reference","","has-reference";), 
         GENV_TYPESYSTEM.STRUCTURED_ITEM_TYPE_ONE, 
         GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE),
         FunctionConsts::FN_REFERENCE_HAS_REFERENCE_1);
@@ -101,7 +101,7 @@
 
       {
     DECL_WITH_KIND(sctx, fn_reference_assign_reference,
-        (createQName("http://www.zorba-xquery.com/modules/reference","","assign-reference";), 
+        (createQName("http://zorba.io/modules/reference","","assign-reference";), 
         GENV_TYPESYSTEM.STRUCTURED_ITEM_TYPE_ONE, 
         GENV_TYPESYSTEM.STRING_TYPE_ONE, 
         GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE),
@@ -114,7 +114,7 @@
 
       {
     DECL_WITH_KIND(sctx, fn_reference_dereference,
-        (createQName("http://www.zorba-xquery.com/modules/reference","","dereference";), 
+        (createQName("http://zorba.io/modules/reference","","dereference";), 
         GENV_TYPESYSTEM.STRING_TYPE_ONE, 
         GENV_TYPESYSTEM.STRUCTURED_ITEM_TYPE_QUESTION),
         FunctionConsts::FN_REFERENCE_DEREFERENCE_1);

=== modified file 'src/functions/pregenerated/function_enum.h'
--- src/functions/pregenerated/function_enum.h	2013-07-11 00:46:02 +0000
+++ src/functions/pregenerated/function_enum.h	2013-07-24 08:15:39 +0000
@@ -329,10 +329,6 @@
   FN_ZORBA_POS_IN_SAME_TREE_OF_2,
   FN_ZORBA_POS_IN_COLLECTION_1,
   FN_ZORBA_POS_IN_SAME_COLLECTION_OF_2,
-  FN_ZORBA_REF_NODE_REFERENCE_1,
-  FN_ZORBA_REF_HAS_NODE_REFERENCE_1,
-  FN_ZORBA_REF_ASSIGN_NODE_REFERENCE_2,
-  FN_ZORBA_REF_NODE_BY_REFERENCE_1,
   FN_LOCAL_NAME_0,
   FN_LOCAL_NAME_1,
   FN_NAMESPACE_URI_0,

=== modified file 'src/runtime/nodes/nodes_impl.cpp'
--- src/runtime/nodes/nodes_impl.cpp	2013-07-01 18:59:06 +0000
+++ src/runtime/nodes/nodes_impl.cpp	2013-07-24 08:15:39 +0000
@@ -40,113 +40,6 @@
 namespace zorba {
 
 /*******************************************************************************
-
-********************************************************************************/
-bool
-NodeReferenceIterator::nextImpl(store::Item_t& aResult, PlanState& aPlanState) const
-{
-  store::Item_t lNode;
-
-  PlanIteratorState* state;
-  DEFAULT_STACK_INIT(PlanIteratorState, state, aPlanState);
-
-  consumeNext(lNode, theChildren[0].getp(), aPlanState);
-
-  STACK_PUSH(GENV_STORE.getNodeReference(aResult, lNode), state);
-
-  STACK_END (state);
-}
-
-
-/*******************************************************************************
-
-********************************************************************************/
-bool
-HasNodeReferenceIterator::nextImpl(store::Item_t& aResult, PlanState& aPlanState) const
-{
-  store::Item_t lNode;
-  xs_boolean lHasReference;
-
-  PlanIteratorState* state;
-  DEFAULT_STACK_INIT(PlanIteratorState, state, aPlanState);
-
-  consumeNext(lNode, theChildren[0].getp(), aPlanState);
-
-  lHasReference = GENV_STORE.hasReference(lNode);
-
-  STACK_PUSH(GENV_ITEMFACTORY->createBoolean(aResult, lHasReference), state);
-
-  STACK_END (state);
-}
-
-
-/*******************************************************************************
-
-********************************************************************************/
-bool
-AssignNodeReferenceIterator::nextImpl(store::Item_t& aResult, PlanState& aPlanState) const
-{
-  store::Item_t lNode;
-  store::Item_t lUUID;
-  xs_boolean lHaveResult;
-
-  PlanIteratorState* state;
-  DEFAULT_STACK_INIT(PlanIteratorState, state, aPlanState);
-
-  consumeNext(lNode, theChildren[0].getp(), aPlanState);
-  consumeNext(lUUID, theChildren[1].getp(), aPlanState);
-  try
-  {
-    lHaveResult = GENV_STORE.assignReference(lNode, lUUID->getStringValue());
-  }
-  catch (ZorbaException& e)
-  {
-    set_source( e, loc );
-    throw;
-  }
-  STACK_PUSH(GENV_ITEMFACTORY->createBoolean(aResult, lHaveResult), state);
-
-  STACK_END (state);
-}
-
-
-/*******************************************************************************
-
-********************************************************************************/
-bool
-NodeByReferenceIterator::nextImpl(store::Item_t& result, PlanState& planState) const
-{
-  store::Item_t lUUID;
-  bool haveResult;
-
-  PlanIteratorState* state;
-  DEFAULT_STACK_INIT(PlanIteratorState, state, planState);
-
-  consumeNext(lUUID, theChildren[0].getp(), planState);
-  try
-  {
-    zstring lReference = lUUID->getStringValue();
-
-    if (lReference.length() != 45 ||
-        !utf8::match_whole(lReference, "urn:uuid:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"))
-    {
-      RAISE_ERROR(zerr::ZAPI0028_INVALID_NODE_URI, loc, ERROR_PARAMS(lReference));
-    }
-
-    haveResult = GENV_STORE.getNodeByReference(result, lUUID->getStringValue());
-  }
-  catch (ZorbaException& e)
-  {
-    set_source( e, loc );
-    throw;
-  }
-  STACK_PUSH(haveResult, state);
-
-  STACK_END (state);
-}
-
-
-/*******************************************************************************
   14.2 fn:local-name
 ********************************************************************************/
 bool FnLocalNameIterator::nextImpl(store::Item_t& result, PlanState& planState) const

=== modified file 'src/runtime/nodes/pregenerated/nodes.cpp'
--- src/runtime/nodes/pregenerated/nodes.cpp	2013-03-05 23:11:50 +0000
+++ src/runtime/nodes/pregenerated/nodes.cpp	2013-07-24 08:15:39 +0000
@@ -32,118 +32,6 @@
 
 namespace zorba {
 
-// <NodeReferenceIterator>
-SERIALIZABLE_CLASS_VERSIONS(NodeReferenceIterator)
-
-void NodeReferenceIterator::serialize(::zorba::serialization::Archiver& ar)
-{
-  serialize_baseclass(ar,
-  (NaryBaseIterator<NodeReferenceIterator, PlanIteratorState>*)this);
-}
-
-
-void NodeReferenceIterator::accept(PlanIterVisitor& v) const
-{
-  v.beginVisit(*this);
-
-  std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
-  std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
-  for ( ; lIter != lEnd; ++lIter ){
-    (*lIter)->accept(v);
-  }
-
-  v.endVisit(*this);
-}
-
-NodeReferenceIterator::~NodeReferenceIterator() {}
-
-// </NodeReferenceIterator>
-
-
-// <HasNodeReferenceIterator>
-SERIALIZABLE_CLASS_VERSIONS(HasNodeReferenceIterator)
-
-void HasNodeReferenceIterator::serialize(::zorba::serialization::Archiver& ar)
-{
-  serialize_baseclass(ar,
-  (NaryBaseIterator<HasNodeReferenceIterator, PlanIteratorState>*)this);
-}
-
-
-void HasNodeReferenceIterator::accept(PlanIterVisitor& v) const
-{
-  v.beginVisit(*this);
-
-  std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
-  std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
-  for ( ; lIter != lEnd; ++lIter ){
-    (*lIter)->accept(v);
-  }
-
-  v.endVisit(*this);
-}
-
-HasNodeReferenceIterator::~HasNodeReferenceIterator() {}
-
-// </HasNodeReferenceIterator>
-
-
-// <AssignNodeReferenceIterator>
-SERIALIZABLE_CLASS_VERSIONS(AssignNodeReferenceIterator)
-
-void AssignNodeReferenceIterator::serialize(::zorba::serialization::Archiver& ar)
-{
-  serialize_baseclass(ar,
-  (NaryBaseIterator<AssignNodeReferenceIterator, PlanIteratorState>*)this);
-}
-
-
-void AssignNodeReferenceIterator::accept(PlanIterVisitor& v) const
-{
-  v.beginVisit(*this);
-
-  std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
-  std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
-  for ( ; lIter != lEnd; ++lIter ){
-    (*lIter)->accept(v);
-  }
-
-  v.endVisit(*this);
-}
-
-AssignNodeReferenceIterator::~AssignNodeReferenceIterator() {}
-
-// </AssignNodeReferenceIterator>
-
-
-// <NodeByReferenceIterator>
-SERIALIZABLE_CLASS_VERSIONS(NodeByReferenceIterator)
-
-void NodeByReferenceIterator::serialize(::zorba::serialization::Archiver& ar)
-{
-  serialize_baseclass(ar,
-  (NaryBaseIterator<NodeByReferenceIterator, PlanIteratorState>*)this);
-}
-
-
-void NodeByReferenceIterator::accept(PlanIterVisitor& v) const
-{
-  v.beginVisit(*this);
-
-  std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
-  std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
-  for ( ; lIter != lEnd; ++lIter ){
-    (*lIter)->accept(v);
-  }
-
-  v.endVisit(*this);
-}
-
-NodeByReferenceIterator::~NodeByReferenceIterator() {}
-
-// </NodeByReferenceIterator>
-
-
 // <FnLocalNameIterator>
 SERIALIZABLE_CLASS_VERSIONS(FnLocalNameIterator)
 

=== modified file 'src/runtime/nodes/pregenerated/nodes.h'
--- src/runtime/nodes/pregenerated/nodes.h	2013-03-05 23:11:50 +0000
+++ src/runtime/nodes/pregenerated/nodes.h	2013-07-24 08:15:39 +0000
@@ -34,134 +34,6 @@
 namespace zorba {
 
 /**
- *        
- *      declare function ref:node-reference($node as node()) as xs:anyURI
- *    
- * Author: Federico Cavalieri
- */
-class NodeReferenceIterator : public NaryBaseIterator<NodeReferenceIterator, PlanIteratorState>
-{ 
-public:
-  SERIALIZABLE_CLASS(NodeReferenceIterator);
-
-  SERIALIZABLE_CLASS_CONSTRUCTOR2T(NodeReferenceIterator,
-    NaryBaseIterator<NodeReferenceIterator, PlanIteratorState>);
-
-  void serialize( ::zorba::serialization::Archiver& ar);
-
-  NodeReferenceIterator(
-    static_context* sctx,
-    const QueryLoc& loc,
-    std::vector<PlanIter_t>& children)
-    : 
-    NaryBaseIterator<NodeReferenceIterator, PlanIteratorState>(sctx, loc, children)
-  {}
-
-  virtual ~NodeReferenceIterator();
-
-  void accept(PlanIterVisitor& v) const;
-
-  bool nextImpl(store::Item_t& result, PlanState& aPlanState) const;
-};
-
-
-/**
- * 
- *      declare function ref:has-node-reference($node as node()) as xs:boolean
- *    
- * Author: Till Westmann
- */
-class HasNodeReferenceIterator : public NaryBaseIterator<HasNodeReferenceIterator, PlanIteratorState>
-{ 
-public:
-  SERIALIZABLE_CLASS(HasNodeReferenceIterator);
-
-  SERIALIZABLE_CLASS_CONSTRUCTOR2T(HasNodeReferenceIterator,
-    NaryBaseIterator<HasNodeReferenceIterator, PlanIteratorState>);
-
-  void serialize( ::zorba::serialization::Archiver& ar);
-
-  HasNodeReferenceIterator(
-    static_context* sctx,
-    const QueryLoc& loc,
-    std::vector<PlanIter_t>& children)
-    : 
-    NaryBaseIterator<HasNodeReferenceIterator, PlanIteratorState>(sctx, loc, children)
-  {}
-
-  virtual ~HasNodeReferenceIterator();
-
-  void accept(PlanIterVisitor& v) const;
-
-  bool nextImpl(store::Item_t& result, PlanState& aPlanState) const;
-};
-
-
-/**
- * 
- *      declare function ref:assign-node-reference($node as node()) as xs:boolean
- *    
- * Author: Till Westmann
- */
-class AssignNodeReferenceIterator : public NaryBaseIterator<AssignNodeReferenceIterator, PlanIteratorState>
-{ 
-public:
-  SERIALIZABLE_CLASS(AssignNodeReferenceIterator);
-
-  SERIALIZABLE_CLASS_CONSTRUCTOR2T(AssignNodeReferenceIterator,
-    NaryBaseIterator<AssignNodeReferenceIterator, PlanIteratorState>);
-
-  void serialize( ::zorba::serialization::Archiver& ar);
-
-  AssignNodeReferenceIterator(
-    static_context* sctx,
-    const QueryLoc& loc,
-    std::vector<PlanIter_t>& children)
-    : 
-    NaryBaseIterator<AssignNodeReferenceIterator, PlanIteratorState>(sctx, loc, children)
-  {}
-
-  virtual ~AssignNodeReferenceIterator();
-
-  void accept(PlanIterVisitor& v) const;
-
-  bool nextImpl(store::Item_t& result, PlanState& aPlanState) const;
-};
-
-
-/**
- * 
- *      declare function ref:node-by-reference($reference as xs:anyURI) as node()?
- *    
- * Author: Federico Cavalieri
- */
-class NodeByReferenceIterator : public NaryBaseIterator<NodeByReferenceIterator, PlanIteratorState>
-{ 
-public:
-  SERIALIZABLE_CLASS(NodeByReferenceIterator);
-
-  SERIALIZABLE_CLASS_CONSTRUCTOR2T(NodeByReferenceIterator,
-    NaryBaseIterator<NodeByReferenceIterator, PlanIteratorState>);
-
-  void serialize( ::zorba::serialization::Archiver& ar);
-
-  NodeByReferenceIterator(
-    static_context* sctx,
-    const QueryLoc& loc,
-    std::vector<PlanIter_t>& children)
-    : 
-    NaryBaseIterator<NodeByReferenceIterator, PlanIteratorState>(sctx, loc, children)
-  {}
-
-  virtual ~NodeByReferenceIterator();
-
-  void accept(PlanIterVisitor& v) const;
-
-  bool nextImpl(store::Item_t& result, PlanState& aPlanState) const;
-};
-
-
-/**
  * 
  *    fn:local-name
  *  

=== modified file 'src/runtime/pregenerated/iterator_enum.h'
--- src/runtime/pregenerated/iterator_enum.h	2013-07-11 00:46:02 +0000
+++ src/runtime/pregenerated/iterator_enum.h	2013-07-24 08:15:39 +0000
@@ -237,10 +237,6 @@
   TYPE_InSameTreePositionIterator,
   TYPE_InCollectionPositionIterator,
   TYPE_InSameCollectionPositionIterator,
-  TYPE_NodeReferenceIterator,
-  TYPE_HasNodeReferenceIterator,
-  TYPE_AssignNodeReferenceIterator,
-  TYPE_NodeByReferenceIterator,
   TYPE_FnLocalNameIterator,
   TYPE_FnNamespaceUriIterator,
   TYPE_FnLangIterator,

=== modified file 'src/runtime/spec/mappings.xml'
--- src/runtime/spec/mappings.xml	2013-07-17 15:48:38 +0000
+++ src/runtime/spec/mappings.xml	2013-07-24 08:15:39 +0000
@@ -20,11 +20,7 @@
                      define="ZORBA_BASE64_FN_NS"
                      prefix="fn-zorba-base64"/>
 
-    <zorba:namespace uri="http://www.zorba-xquery.com/modules/node-reference";
-                     define="ZORBA_NODEREF_FN_NS"
-                     prefix="fn-zorba-ref"/>
-
-    <zorba:namespace uri="http://www.zorba-xquery.com/modules/reference";
+    <zorba:namespace uri="http://zorba.io/modules/reference";
                      define="ZORBA_REF_FN_NS"
                      prefix="fn-reference"/>
     

=== modified file 'src/runtime/spec/nodes/nodes.xml'
--- src/runtime/spec/nodes/nodes.xml	2013-02-07 17:24:36 +0000
+++ src/runtime/spec/nodes/nodes.xml	2013-07-24 08:15:39 +0000
@@ -16,99 +16,6 @@
 /*******************************************************************************
 ********************************************************************************/
 -->
-  <zorba:iterator name="NodeReferenceIterator">
-
-    <zorba:description author="Federico Cavalieri">       
-      declare function ref:node-reference($node as node()) as xs:anyURI
-    </zorba:description>
-    
-    <zorba:function>
-    
-      <zorba:signature localname="node-reference" prefix="fn-zorba-ref">
-        <zorba:param>node()</zorba:param>   
-        <zorba:output>xs:anyURI</zorba:output>
-      </zorba:signature>
-      
-      <zorba:methods>
-        <zorba:mustCopyInputNodes value="true"/>
-      </zorba:methods>
-
-    </zorba:function>
-
-  </zorba:iterator>
-
-<!--
-/*******************************************************************************
-********************************************************************************/
--->
-  <zorba:iterator name="HasNodeReferenceIterator">
-
-    <zorba:description author="Till Westmann">
-      declare function ref:has-node-reference($node as node()) as xs:boolean
-    </zorba:description>
-
-    <zorba:function>
-
-      <zorba:signature localname="has-node-reference" prefix="fn-zorba-ref">
-        <zorba:param>node()</zorba:param>
-        <zorba:output>xs:boolean</zorba:output>
-      </zorba:signature>
-
-    </zorba:function>
-
-  </zorba:iterator>
-
-<!--
-/*******************************************************************************
-********************************************************************************/
--->
-  <zorba:iterator name="AssignNodeReferenceIterator">
-
-    <zorba:description author="Till Westmann">
-      declare function ref:assign-node-reference($node as node()) as xs:boolean
-    </zorba:description>
-
-    <zorba:function>
-
-      <zorba:signature localname="assign-node-reference" prefix="fn-zorba-ref">
-        <zorba:param>node()</zorba:param>
-        <zorba:param>xs:anyURI</zorba:param>
-        <zorba:output>xs:boolean</zorba:output>
-      </zorba:signature>
-
-      <zorba:methods>
-        <zorba:getScriptingKind returnValue="SEQUENTIAL_FUNC_EXPR"/>
-      </zorba:methods>
-
-    </zorba:function>
-
-  </zorba:iterator>
-
-<!--
-/*******************************************************************************
-********************************************************************************/
--->
-  <zorba:iterator name="NodeByReferenceIterator">
-
-    <zorba:description author="Federico Cavalieri">
-      declare function ref:node-by-reference($reference as xs:anyURI) as node()?
-    </zorba:description>
-
-    <zorba:function>
-    
-      <zorba:signature localname="node-by-reference" prefix="fn-zorba-ref">
-        <zorba:param>xs:anyURI</zorba:param>
-        <zorba:output>node()?</zorba:output>
-      </zorba:signature>
-      
-    </zorba:function>
-        
-  </zorba:iterator>
-    
-<!--
-/*******************************************************************************
-********************************************************************************/
--->
 <zorba:iterator name="FnLocalNameIterator">
 
   <zorba:description author="Zorba Team">

=== modified file 'src/runtime/visitors/pregenerated/planiter_visitor.h'
--- src/runtime/visitors/pregenerated/planiter_visitor.h	2013-07-11 00:46:02 +0000
+++ src/runtime/visitors/pregenerated/planiter_visitor.h	2013-07-24 08:15:39 +0000
@@ -480,14 +480,6 @@
 
     class InSameCollectionPositionIterator;
 
-    class NodeReferenceIterator;
-
-    class HasNodeReferenceIterator;
-
-    class AssignNodeReferenceIterator;
-
-    class NodeByReferenceIterator;
-
     class FnLocalNameIterator;
 
     class FnNamespaceUriIterator;
@@ -1432,18 +1424,6 @@
     virtual void beginVisit ( const InSameCollectionPositionIterator& ) = 0;
     virtual void endVisit   ( const InSameCollectionPositionIterator& ) = 0;
 
-    virtual void beginVisit ( const NodeReferenceIterator& ) = 0;
-    virtual void endVisit   ( const NodeReferenceIterator& ) = 0;
-
-    virtual void beginVisit ( const HasNodeReferenceIterator& ) = 0;
-    virtual void endVisit   ( const HasNodeReferenceIterator& ) = 0;
-
-    virtual void beginVisit ( const AssignNodeReferenceIterator& ) = 0;
-    virtual void endVisit   ( const AssignNodeReferenceIterator& ) = 0;
-
-    virtual void beginVisit ( const NodeByReferenceIterator& ) = 0;
-    virtual void endVisit   ( const NodeByReferenceIterator& ) = 0;
-
     virtual void beginVisit ( const FnLocalNameIterator& ) = 0;
     virtual void endVisit   ( const FnLocalNameIterator& ) = 0;
 

=== modified file 'src/runtime/visitors/pregenerated/printer_visitor.cpp'
--- src/runtime/visitors/pregenerated/printer_visitor.cpp	2013-07-11 00:46:02 +0000
+++ src/runtime/visitors/pregenerated/printer_visitor.cpp	2013-07-24 08:15:39 +0000
@@ -3035,62 +3035,6 @@
 // </InSameCollectionPositionIterator>
 
 
-// <NodeReferenceIterator>
-void PrinterVisitor::beginVisit ( const NodeReferenceIterator& a) {
-  thePrinter.startBeginVisit("NodeReferenceIterator", ++theId);
-  printCommons( &a, theId );
-  thePrinter.endBeginVisit( theId );
-}
-
-void PrinterVisitor::endVisit ( const NodeReferenceIterator& ) {
-  thePrinter.startEndVisit();
-  thePrinter.endEndVisit();
-}
-// </NodeReferenceIterator>
-
-
-// <HasNodeReferenceIterator>
-void PrinterVisitor::beginVisit ( const HasNodeReferenceIterator& a) {
-  thePrinter.startBeginVisit("HasNodeReferenceIterator", ++theId);
-  printCommons( &a, theId );
-  thePrinter.endBeginVisit( theId );
-}
-
-void PrinterVisitor::endVisit ( const HasNodeReferenceIterator& ) {
-  thePrinter.startEndVisit();
-  thePrinter.endEndVisit();
-}
-// </HasNodeReferenceIterator>
-
-
-// <AssignNodeReferenceIterator>
-void PrinterVisitor::beginVisit ( const AssignNodeReferenceIterator& a) {
-  thePrinter.startBeginVisit("AssignNodeReferenceIterator", ++theId);
-  printCommons( &a, theId );
-  thePrinter.endBeginVisit( theId );
-}
-
-void PrinterVisitor::endVisit ( const AssignNodeReferenceIterator& ) {
-  thePrinter.startEndVisit();
-  thePrinter.endEndVisit();
-}
-// </AssignNodeReferenceIterator>
-
-
-// <NodeByReferenceIterator>
-void PrinterVisitor::beginVisit ( const NodeByReferenceIterator& a) {
-  thePrinter.startBeginVisit("NodeByReferenceIterator", ++theId);
-  printCommons( &a, theId );
-  thePrinter.endBeginVisit( theId );
-}
-
-void PrinterVisitor::endVisit ( const NodeByReferenceIterator& ) {
-  thePrinter.startEndVisit();
-  thePrinter.endEndVisit();
-}
-// </NodeByReferenceIterator>
-
-
 // <FnLocalNameIterator>
 void PrinterVisitor::beginVisit ( const FnLocalNameIterator& a) {
   thePrinter.startBeginVisit("FnLocalNameIterator", ++theId);

=== modified file 'src/runtime/visitors/pregenerated/printer_visitor.h'
--- src/runtime/visitors/pregenerated/printer_visitor.h	2013-07-11 00:46:02 +0000
+++ src/runtime/visitors/pregenerated/printer_visitor.h	2013-07-24 08:15:39 +0000
@@ -730,18 +730,6 @@
     void beginVisit( const InSameCollectionPositionIterator& );
     void endVisit  ( const InSameCollectionPositionIterator& );
 
-    void beginVisit( const NodeReferenceIterator& );
-    void endVisit  ( const NodeReferenceIterator& );
-
-    void beginVisit( const HasNodeReferenceIterator& );
-    void endVisit  ( const HasNodeReferenceIterator& );
-
-    void beginVisit( const AssignNodeReferenceIterator& );
-    void endVisit  ( const AssignNodeReferenceIterator& );
-
-    void beginVisit( const NodeByReferenceIterator& );
-    void endVisit  ( const NodeByReferenceIterator& );
-
     void beginVisit( const FnLocalNameIterator& );
     void endVisit  ( const FnLocalNameIterator& );
 

=== modified file 'test/rbkt/Queries/zorba/collections/dynamic_node_ref1.xq'
--- test/rbkt/Queries/zorba/collections/dynamic_node_ref1.xq	2013-02-07 17:24:36 +0000
+++ test/rbkt/Queries/zorba/collections/dynamic_node_ref1.xq	2013-07-24 08:15:39 +0000
@@ -1,7 +1,7 @@
 import module namespace ddl = "http://www.zorba-xquery.com/modules/store/dynamic/collections/ddl";;
 import module namespace dml = "http://www.zorba-xquery.com/modules/store/dynamic/collections/dml";;
-import module namespace ref = "http://www.zorba-xquery.com/modules/node-reference";;
+import module namespace ref = "http://zorba.io/modules/reference";;
 
 ddl:create(xs:QName("ddl:bar"));
 let $x := dml:apply-insert-nodes-last(xs:QName("ddl:bar"), <a>1</a>)
-return ref:node-by-reference(ref:node-reference($x))
+return ref:dereference(ref:reference($x))

=== modified file 'test/rbkt/Queries/zorba/collections/edit/edit_collection_005.xq'
--- test/rbkt/Queries/zorba/collections/edit/edit_collection_005.xq	2013-04-08 08:39:10 +0000
+++ test/rbkt/Queries/zorba/collections/edit/edit_collection_005.xq	2013-07-24 08:15:39 +0000
@@ -1,6 +1,6 @@
 import module namespace ddl = "http://www.zorba-xquery.com/modules/store/static/collections/ddl";;
 import module namespace dml = "http://www.zorba-xquery.com/modules/store/static/collections/dml";;
-import module namespace ref = "http://www.zorba-xquery.com/modules/node-reference";;
+import module namespace ref = "http://zorba.io/modules/reference";;
 
 import module namespace ns = "http://www.example.com/example"; at "../collection_001.xqdata";
 
@@ -8,10 +8,10 @@
 
 dml:insert(xs:QName("ns:collection"), (<a/>, <b/>, <c/>));
 
-variable $old := ref:node-reference(dml:collection(xs:QName("ns:collection"))[2]);
+variable $old := ref:reference(dml:collection(xs:QName("ns:collection"))[2]);
 
 dml:edit(dml:collection(xs:QName("ns:collection"))[2], <d/>);
 
-variable $new := ref:node-reference(dml:collection(xs:QName("ns:collection"))[2]);
+variable $new := ref:reference(dml:collection(xs:QName("ns:collection"))[2]);
 
 $old eq $new

=== modified file 'test/rbkt/Queries/zorba/collections/edit/edit_collection_006.xq'
--- test/rbkt/Queries/zorba/collections/edit/edit_collection_006.xq	2012-12-10 16:04:40 +0000
+++ test/rbkt/Queries/zorba/collections/edit/edit_collection_006.xq	2013-07-24 08:15:39 +0000
@@ -1,6 +1,6 @@
 import module namespace ddl = "http://www.zorba-xquery.com/modules/store/static/collections/ddl";;
 import module namespace dml = "http://www.zorba-xquery.com/modules/store/static/collections/dml";;
-import module namespace ref = "http://www.zorba-xquery.com/modules/node-reference";;
+import module namespace ref = "http://zorba.io/modules/reference";;
 
 import module namespace ns = "http://www.example.com/example"; at "../collection_001.xqdata";
 

=== modified file 'test/rbkt/Queries/zorba/collections/edit/edit_collection_007.xq'
--- test/rbkt/Queries/zorba/collections/edit/edit_collection_007.xq	2012-12-10 16:04:40 +0000
+++ test/rbkt/Queries/zorba/collections/edit/edit_collection_007.xq	2013-07-24 08:15:39 +0000
@@ -2,7 +2,7 @@
 import module namespace dml = "http://www.zorba-xquery.com/modules/store/static/collections/dml";;
 import module namespace index_ddl = "http://www.zorba-xquery.com/modules/store/static/indexes/ddl";;
 import module namespace index_dml = "http://www.zorba-xquery.com/modules/store/static/indexes/dml";;
-import module namespace ref = "http://www.zorba-xquery.com/modules/node-reference";;
+import module namespace ref = "http://zorba.io/modules/reference";;
 
 import module namespace ns = "http://www.example.com/example"; at "collection_with_index.xqdata";
 

=== modified file 'test/rbkt/Queries/zorba/collections/edit/edit_collection_008.xq'
--- test/rbkt/Queries/zorba/collections/edit/edit_collection_008.xq	2012-12-10 16:04:40 +0000
+++ test/rbkt/Queries/zorba/collections/edit/edit_collection_008.xq	2013-07-24 08:15:39 +0000
@@ -2,7 +2,7 @@
 import module namespace dml = "http://www.zorba-xquery.com/modules/store/static/collections/dml";;
 import module namespace index_ddl = "http://www.zorba-xquery.com/modules/store/static/indexes/ddl";;
 import module namespace index_dml = "http://www.zorba-xquery.com/modules/store/static/indexes/dml";;
-import module namespace ref = "http://www.zorba-xquery.com/modules/node-reference";;
+import module namespace ref = "http://zorba.io/modules/reference";;
 
 import module namespace ns = "http://www.example.com/example"; at "../collection_001.xqdata";
 

=== modified file 'test/rbkt/Queries/zorba/collections/edit/edit_collection_009.xq'
--- test/rbkt/Queries/zorba/collections/edit/edit_collection_009.xq	2012-12-10 16:04:40 +0000
+++ test/rbkt/Queries/zorba/collections/edit/edit_collection_009.xq	2013-07-24 08:15:39 +0000
@@ -2,7 +2,7 @@
 import module namespace dml = "http://www.zorba-xquery.com/modules/store/static/collections/dml";;
 import module namespace index_ddl = "http://www.zorba-xquery.com/modules/store/static/indexes/ddl";;
 import module namespace index_dml = "http://www.zorba-xquery.com/modules/store/static/indexes/dml";;
-import module namespace ref = "http://www.zorba-xquery.com/modules/node-reference";;
+import module namespace ref = "http://zorba.io/modules/reference";;
 
 import module namespace ns = "http://www.example.com/example"; at "../collection_001.xqdata";
 

=== modified file 'test/rbkt/Queries/zorba/collections/edit/edit_collection_010.xq'
--- test/rbkt/Queries/zorba/collections/edit/edit_collection_010.xq	2012-12-10 16:52:21 +0000
+++ test/rbkt/Queries/zorba/collections/edit/edit_collection_010.xq	2013-07-24 08:15:39 +0000
@@ -2,7 +2,7 @@
 import module namespace dml = "http://www.zorba-xquery.com/modules/store/static/collections/dml";;
 import module namespace index_ddl = "http://www.zorba-xquery.com/modules/store/static/indexes/ddl";;
 import module namespace index_dml = "http://www.zorba-xquery.com/modules/store/static/indexes/dml";;
-import module namespace ref = "http://www.zorba-xquery.com/modules/node-reference";;
+import module namespace ref = "http://zorba.io/modules/reference";;
 
 import module namespace ns = "http://www.example.com/example"; at "../collection_001.xqdata";
 

=== modified file 'test/rbkt/Queries/zorba/collections/paging_1.xq'
--- test/rbkt/Queries/zorba/collections/paging_1.xq	2013-06-25 03:55:20 +0000
+++ test/rbkt/Queries/zorba/collections/paging_1.xq	2013-07-24 08:15:39 +0000
@@ -1,7 +1,7 @@
 import module namespace ddl = "http://www.zorba-xquery.com/modules/store/static/collections/ddl";;
 import module namespace dml = "http://www.zorba-xquery.com/modules/store/static/collections/dml";;
 import module namespace ns = "http://example.org/datamodule/"; at "collections.xqdata";
-import module namespace ref = "http://www.zorba-xquery.com/modules/node-reference";;
+import module namespace ref = "http://zorba.io/modules/reference";;
 
 declare namespace ann = "http://www.zorba-xquery.com/annotations";;
 declare namespace zerr = "http://zorba.io/modules/zorba-errors";;
@@ -34,7 +34,7 @@
   (
     local:order(dml:collection(xs:QName("ns:test2"), 3)), <delim/>,
     local:order(dml:collection(xs:QName("ns:test2"), -1)), <delim/>,
-    let $ref := ref:node-reference(dml:collection(xs:QName("ns:test2"))[3])
+    let $ref := ref:reference(dml:collection(xs:QName("ns:test2"))[3])
     return local:order(dml:collection(xs:QName("ns:test2"), $ref, 0))
   )
 };

=== modified file 'test/rbkt/Queries/zorba/collections/paging_2.xq'
--- test/rbkt/Queries/zorba/collections/paging_2.xq	2013-02-07 17:24:36 +0000
+++ test/rbkt/Queries/zorba/collections/paging_2.xq	2013-07-24 08:15:39 +0000
@@ -1,7 +1,7 @@
 import module namespace ddl = "http://www.zorba-xquery.com/modules/store/static/collections/ddl";;
 import module namespace dml = "http://www.zorba-xquery.com/modules/store/static/collections/dml";;
 import module namespace ns = "http://example.org/datamodule/"; at "collections.xqdata";
-import module namespace ref = "http://www.zorba-xquery.com/modules/node-reference";;
+import module namespace ref = "http://zorba.io/modules/reference";;
 
 declare namespace ann = "http://www.zorba-xquery.com/annotations";;
 
@@ -15,7 +15,7 @@
     fn:count(dml:collection(xs:QName("ns:test2"), 3)),
     fn:count(dml:collection(xs:QName("ns:test2"), -1)),
     fn:count(dml:collection(xs:QName("ns:test2"), 100)),
-    let $ref := ref:node-reference(dml:collection(xs:QName("ns:test2"))[3])
+    let $ref := ref:reference(dml:collection(xs:QName("ns:test2"))[3])
     return fn:count(dml:collection(xs:QName("ns:test2"), $ref, 0))
   )
 };

=== modified file 'test/rbkt/Queries/zorba/collections/paging_3.xq'
--- test/rbkt/Queries/zorba/collections/paging_3.xq	2013-02-07 17:24:36 +0000
+++ test/rbkt/Queries/zorba/collections/paging_3.xq	2013-07-24 08:15:39 +0000
@@ -1,6 +1,6 @@
 import module namespace ddl = "http://www.zorba-xquery.com/modules/store/dynamic/collections/ddl";;
 import module namespace dml = "http://www.zorba-xquery.com/modules/store/dynamic/collections/dml";;
-import module namespace ref = "http://www.zorba-xquery.com/modules/node-reference";;
+import module namespace ref = "http://zorba.io/modules/reference";;
 
 declare namespace ann = "http://www.zorba-xquery.com/annotations";;
 declare namespace ns = "http://www.zorba-xquery.com/test";;
@@ -14,7 +14,7 @@
   (
     dml:collection(xs:QName("ns:test2"), 3), <delim/>,
     dml:collection(xs:QName("ns:test2"), -1), <delim/>,
-    let $ref := ref:node-reference(dml:collection(xs:QName("ns:test2"))[3])
+    let $ref := ref:reference(dml:collection(xs:QName("ns:test2"))[3])
     return dml:collection(xs:QName("ns:test2"), $ref, 0)
   )
 };

=== modified file 'test/rbkt/Queries/zorba/collections/paging_4.xq'
--- test/rbkt/Queries/zorba/collections/paging_4.xq	2013-02-07 17:24:36 +0000
+++ test/rbkt/Queries/zorba/collections/paging_4.xq	2013-07-24 08:15:39 +0000
@@ -1,6 +1,6 @@
 import module namespace ddl = "http://www.zorba-xquery.com/modules/store/dynamic/collections/ddl";;
 import module namespace dml = "http://www.zorba-xquery.com/modules/store/dynamic/collections/dml";;
-import module namespace ref = "http://www.zorba-xquery.com/modules/node-reference";;
+import module namespace ref = "http://zorba.io/modules/reference";;
 
 declare namespace ann = "http://www.zorba-xquery.com/annotations";;
 declare namespace ns = "http://www.zorba-xquery.com/test";;
@@ -15,7 +15,7 @@
     fn:count(dml:collection(xs:QName("ns:test2"), 3)),
     fn:count(dml:collection(xs:QName("ns:test2"), -1)),
     fn:count(dml:collection(xs:QName("ns:test2"), 100)),
-    let $ref := ref:node-reference(dml:collection(xs:QName("ns:test2"))[3])
+    let $ref := ref:reference(dml:collection(xs:QName("ns:test2"))[3])
     return fn:count(dml:collection(xs:QName("ns:test2"), $ref, 0))
   )
 };

=== modified file 'test/rbkt/Queries/zorba/collections/paging_5.xq'
--- test/rbkt/Queries/zorba/collections/paging_5.xq	2012-09-06 09:36:25 +0000
+++ test/rbkt/Queries/zorba/collections/paging_5.xq	2013-07-24 08:15:39 +0000
@@ -1,6 +1,6 @@
 import module namespace ddl = "http://www.zorba-xquery.com/modules/store/dynamic/collections/ddl";;
 import module namespace dml = "http://www.zorba-xquery.com/modules/store/dynamic/collections/dml";;
-import module namespace ref = "http://www.zorba-xquery.com/modules/node-reference";;
+import module namespace ref = "http://zorba.io/modules/reference";;
 
 declare namespace ann = "http://www.zorba-xquery.com/annotations";;
 declare namespace ns = "http://www.zorba-xquery.com/test";;

=== modified file 'test/rbkt/Queries/zorba/fulltext/ft-module-tokenize-node-3.xq'
--- test/rbkt/Queries/zorba/fulltext/ft-module-tokenize-node-3.xq	2013-06-27 23:29:20 +0000
+++ test/rbkt/Queries/zorba/fulltext/ft-module-tokenize-node-3.xq	2013-07-24 08:15:39 +0000
@@ -1,12 +1,12 @@
 jsoniq version "1.0";
 
 import module namespace ft = "http://zorba.io/modules/full-text";;
-import module namespace ref = "http://www.zorba-xquery.com/modules/node-reference";;
+import module namespace ref = "http://zorba.io/modules/reference";;
 
 let $x := <p xml:lang="en">Houston, we have a <em>problem</em>!</p>
 let $tokens := ft:tokenize-node( $x )
 let $node-ref := $tokens[5].node-ref
-let $node := ref:node-by-reference( $node-ref )
+let $node := ref:dereference( $node-ref )
 return $node instance of text()
 
 (: vim:set et sw=2 ts=2: :)

=== modified file 'test/rbkt/Queries/zorba/fulltext/ft-module-tokenize-node-4.xq'
--- test/rbkt/Queries/zorba/fulltext/ft-module-tokenize-node-4.xq	2013-06-27 23:29:20 +0000
+++ test/rbkt/Queries/zorba/fulltext/ft-module-tokenize-node-4.xq	2013-07-24 08:15:39 +0000
@@ -1,12 +1,12 @@
 jsoniq version "1.0";
 
 import module namespace ft = "http://zorba.io/modules/full-text";;
-import module namespace ref = "http://www.zorba-xquery.com/modules/node-reference";;
+import module namespace ref = "http://zorba.io/modules/reference";;
 
 let $x := <msg xml:lang="en" content="Houston, we have a problem!"/>
 let $tokens := ft:tokenize-node( $x/@content )
 let $node-ref := $tokens[5].node-ref
-let $node := ref:node-by-reference( $node-ref )
+let $node := ref:dereference( $node-ref )
 return $node instance of attribute(content)
 
 (: vim:set et sw=2 ts=2: :)

=== modified file 'test/rbkt/Queries/zorba/paths/ref1.xq'
--- test/rbkt/Queries/zorba/paths/ref1.xq	2013-02-07 17:24:36 +0000
+++ test/rbkt/Queries/zorba/paths/ref1.xq	2013-07-24 08:15:39 +0000
@@ -1,8 +1,8 @@
-import module namespace zorba = "http://www.zorba-xquery.com/modules/node-reference";;
+import module namespace zorba = "http://zorba.io/modules/reference";;
 
 declare variable $input-context external;
 
 let $persons := doc($input-context)/site/people
 for $person in $persons
-return zorba:node-by-reference(zorba:node-reference($person))
+return zorba:dereference(zorba:reference($person))
 

=== modified file 'test/rbkt/Queries/zorba/reference/json-reference_1.xq'
--- test/rbkt/Queries/zorba/reference/json-reference_1.xq	2012-12-06 00:01:20 +0000
+++ test/rbkt/Queries/zorba/reference/json-reference_1.xq	2013-07-24 08:15:39 +0000
@@ -1,4 +1,4 @@
-import module namespace id = "http://www.zorba-xquery.com/modules/reference";;
+import module namespace id = "http://zorba.io/modules/reference";;
 
 variable $node := { "foo" : "bar" };
 

=== modified file 'test/rbkt/Queries/zorba/reference/json-reference_2.xq'
--- test/rbkt/Queries/zorba/reference/json-reference_2.xq	2012-12-06 00:01:20 +0000
+++ test/rbkt/Queries/zorba/reference/json-reference_2.xq	2013-07-24 08:15:39 +0000
@@ -1,3 +1,3 @@
-import module namespace id = "http://www.zorba-xquery.com/modules/reference";;
+import module namespace id = "http://zorba.io/modules/reference";;
 
 id:dereference(xs:anyURI("this:is-not-a-reference"))

=== modified file 'test/rbkt/Queries/zorba/reference/json-reference_3.xq'
--- test/rbkt/Queries/zorba/reference/json-reference_3.xq	2012-12-06 00:01:20 +0000
+++ test/rbkt/Queries/zorba/reference/json-reference_3.xq	2013-07-24 08:15:39 +0000
@@ -1,7 +1,7 @@
 import module namespace ddl = "http://www.zorba-xquery.com/modules/store/dynamic/collections/ddl";;
 import module namespace dml = "http://www.zorba-xquery.com/modules/store/dynamic/collections/dml";;
 
-import module namespace ref = "http://www.zorba-xquery.com/modules/reference";;
+import module namespace ref = "http://zorba.io/modules/reference";;
 
 declare namespace ann = "http://www.zorba-xquery.com/annotations";;
 

=== modified file 'test/rbkt/Queries/zorba/reference/json-reference_4.xq'
--- test/rbkt/Queries/zorba/reference/json-reference_4.xq	2012-12-06 00:01:20 +0000
+++ test/rbkt/Queries/zorba/reference/json-reference_4.xq	2013-07-24 08:15:39 +0000
@@ -2,7 +2,7 @@
 import module namespace dml = "http://www.zorba-xquery.com/modules/store/dynamic/collections/dml";;
 import module namespace ns = "http://example.org/datamodule/"; at "collections.xqdata";
 
-import module namespace ref = "http://www.zorba-xquery.com/modules/reference";;
+import module namespace ref = "http://zorba.io/modules/reference";;
 
 declare namespace ann = "http://www.zorba-xquery.com/annotations";;
 

=== modified file 'test/rbkt/Queries/zorba/reference/json-reference_5.xq'
--- test/rbkt/Queries/zorba/reference/json-reference_5.xq	2012-12-06 00:02:42 +0000
+++ test/rbkt/Queries/zorba/reference/json-reference_5.xq	2013-07-24 08:15:39 +0000
@@ -1,7 +1,7 @@
 import module namespace ddl = "http://www.zorba-xquery.com/modules/store/dynamic/collections/ddl";;
 import module namespace dml = "http://www.zorba-xquery.com/modules/store/dynamic/collections/dml";;
 
-import module namespace ref = "http://www.zorba-xquery.com/modules/reference";;
+import module namespace ref = "http://zorba.io/modules/reference";;
 
 declare namespace ann = "http://www.zorba-xquery.com/annotations";;
 

=== modified file 'test/rbkt/Queries/zorba/reference/reference.xqlib'
--- test/rbkt/Queries/zorba/reference/reference.xqlib	2013-02-07 17:24:36 +0000
+++ test/rbkt/Queries/zorba/reference/reference.xqlib	2013-07-24 08:15:39 +0000
@@ -1,3 +1,3 @@
-module namespace idd= "http://www.zorba-xquery.com/reference";;
+module namespace idd= "http://zorba.io/reference";;
 
 declare variable $idd:node:=<root>reference.xqlib</root>;

=== modified file 'test/rbkt/Queries/zorba/reference/reference_1.xq'
--- test/rbkt/Queries/zorba/reference/reference_1.xq	2013-02-07 17:24:36 +0000
+++ test/rbkt/Queries/zorba/reference/reference_1.xq	2013-07-24 08:15:39 +0000
@@ -1,10 +1,10 @@
-import module namespace id = "http://www.zorba-xquery.com/modules/node-reference";;
+import module namespace id = "http://zorba.io/modules/reference";;
 
 variable $node:=<root><child>text</child></root>;
 
-variable $before-currentid:=id:node-reference($node);
-variable $got:=id:node-reference($node);
-variable $after:=id:node-reference($node);
+variable $before-currentid:=id:reference($node);
+variable $got:=id:reference($node);
+variable $after:=id:reference($node);
 
 <result>
 <before>{fn:string-length($before-currentid)}</before>

=== modified file 'test/rbkt/Queries/zorba/reference/reference_2.xq'
--- test/rbkt/Queries/zorba/reference/reference_2.xq	2013-02-07 17:24:36 +0000
+++ test/rbkt/Queries/zorba/reference/reference_2.xq	2013-07-24 08:15:39 +0000
@@ -1,4 +1,4 @@
-import module namespace id = "http://www.zorba-xquery.com/modules/node-reference";;
+import module namespace id = "http://zorba.io/modules/reference";;
 
 variable $el:=element {"elem"}{"elem"};
 variable $attr:=attribute{"attr"}{"attr"};
@@ -7,8 +7,8 @@
 variable $doc:=document {"document"};
 
 
-id:node-by-reference(id:node-reference($el)),
-element {"attr"}{id:node-by-reference(id:node-reference($attr))},
-id:node-by-reference(id:node-reference($pi)),
-id:node-by-reference(id:node-reference($comm)),
-id:node-by-reference(id:node-reference($doc))
\ No newline at end of file
+id:dereference(id:reference($el)),
+element {"attr"}{id:dereference(id:reference($attr))},
+id:dereference(id:reference($pi)),
+id:dereference(id:reference($comm)),
+id:dereference(id:reference($doc))
\ No newline at end of file

=== modified file 'test/rbkt/Queries/zorba/reference/reference_3.xq'
--- test/rbkt/Queries/zorba/reference/reference_3.xq	2013-02-07 17:24:36 +0000
+++ test/rbkt/Queries/zorba/reference/reference_3.xq	2013-07-24 08:15:39 +0000
@@ -1,5 +1,5 @@
-import module namespace idd = "http://www.zorba-xquery.com/reference"; at "reference.xqlib";
-import module namespace id = "http://www.zorba-xquery.com/modules/node-reference";;
+import module namespace idd = "http://zorba.io/reference"; at "reference.xqlib";
+import module namespace id = "http://zorba.io/modules/reference";;
 import module namespace doc = "http://www.zorba-xquery.com/modules/store/dynamic/documents";;
 import module namespace map = "http://www.zorba-xquery.com/modules/store/data-structures/unordered-map";;
 
@@ -8,26 +8,26 @@
 fn:put(<root>doc</root>,"doc");
 
 map:create(xs:QName("local:bar"), xs:QName("xs:integer"));
-map:insert(xs:QName("local:bar"), id:node-reference($x), 1);
+map:insert(xs:QName("local:bar"), id:reference($x), 1);
 
 
 
 <result>
-<out-of-module-global>{id:node-by-reference(id:node-reference($idd:node))}</out-of-module-global>
-<put-doc>{id:node-by-reference(id:node-reference(doc:document("doc")))}</put-doc>
-<in-scope>{id:node-by-reference(id:node-reference($node))}</in-scope>
+<out-of-module-global>{id:dereference(id:reference($idd:node))}</out-of-module-global>
+<put-doc>{id:dereference(id:reference(doc:document("doc")))}</put-doc>
+<in-scope>{id:dereference(id:reference($node))}</in-scope>
 
-<temporary-variable-out-of-scope>{id:node-by-reference(id:node-reference(<root>temp</root>))}</temporary-variable-out-of-scope>
+<temporary-variable-out-of-scope>{id:dereference(id:reference(<root>temp</root>))}</temporary-variable-out-of-scope>
 <temporary-variable-in-scope>{
 for $i in (1 to 3)
 let $temp:=<root>{$i}</root>
 where string($temp) = string($i)   
-let $ref:=id:node-reference($temp)
+let $ref:=id:reference($temp)
 return
-id:node-by-reference($ref)
+id:dereference($ref)
 }</temporary-variable-in-scope>
-<temporary-variable-in-scope>{variable $temp:=<root>temp</root>; id:node-by-reference(id:node-reference($temp))}</temporary-variable-in-scope>
+<temporary-variable-in-scope>{variable $temp:=<root>temp</root>; id:dereference(id:reference($temp))}</temporary-variable-in-scope>
 <in-map>
-{id:node-by-reference(map:get(xs:QName("local:bar"), 1))}
+{id:dereference(map:get(xs:QName("local:bar"), 1))}
 </in-map>
 </result>
\ No newline at end of file

=== modified file 'test/rbkt/Queries/zorba/reference/reference_4.xq'
--- test/rbkt/Queries/zorba/reference/reference_4.xq	2013-02-07 17:24:36 +0000
+++ test/rbkt/Queries/zorba/reference/reference_4.xq	2013-07-24 08:15:39 +0000
@@ -1,3 +1,3 @@
-import module namespace id = "http://www.zorba-xquery.com/modules/node-reference";;
+import module namespace id = "http://zorba.io/modules/reference";;
 
-id:node-by-reference(xs:anyURI("this:is-not-a-reference"))
\ No newline at end of file
+id:dereference(xs:anyURI("this:is-not-a-reference"))
\ No newline at end of file

=== modified file 'test/rbkt/Queries/zorba/reference/reference_5.xq'
--- test/rbkt/Queries/zorba/reference/reference_5.xq	2013-02-07 17:24:36 +0000
+++ test/rbkt/Queries/zorba/reference/reference_5.xq	2013-07-24 08:15:39 +0000
@@ -1,5 +1,5 @@
-import module namespace idd = "http://www.zorba-xquery.com/reference"; at "reference.xqlib";
-import module namespace id = "http://www.zorba-xquery.com/modules/node-reference";;
+import module namespace idd = "http://zorba.io/reference"; at "reference.xqlib";
+import module namespace id = "http://zorba.io/modules/reference";;
 import module namespace doc = "http://www.zorba-xquery.com/modules/store/dynamic/documents";;
 
 variable $node:=<root>global</root>;
@@ -11,7 +11,7 @@
 
 <temporary-variable-in-scope>
 {
-  let $temp:=<root>temp</root> return id:node-by-reference(id:node-reference($temp))
+  let $temp:=<root>temp</root> return id:dereference(id:reference($temp))
 }
 </temporary-variable-in-scope>
 
@@ -19,8 +19,8 @@
 {
   let $temp:=<root>temp</root> 
   return
-    let $ref:=id:node-reference($temp)
-    return id:node-by-reference($ref)
+    let $ref:=id:reference($temp)
+    return id:dereference($ref)
 }
 </temporary-variable-in-scope>
 
@@ -28,14 +28,14 @@
 {
   for $i in (1 to 3)
   let $temp := <root>temp</root> 
-  let $ref := id:node-reference($temp)
-  return id:node-by-reference($ref)
+  let $ref := id:reference($temp)
+  return id:dereference($ref)
 }
 </temporary-variable-in-scope>
 
 <temporary-variable-in-scope>
 {
-  let $temp:=<root>temp</root> return id:node-by-reference(id:node-reference($temp))
+  let $temp:=<root>temp</root> return id:dereference(id:reference($temp))
 }
 </temporary-variable-in-scope>
 

=== modified file 'test/rbkt/Queries/zorba/reference/reference_coll_1.xq'
--- test/rbkt/Queries/zorba/reference/reference_coll_1.xq	2013-02-07 17:24:36 +0000
+++ test/rbkt/Queries/zorba/reference/reference_coll_1.xq	2013-07-24 08:15:39 +0000
@@ -2,7 +2,7 @@
 import module namespace dml = "http://www.zorba-xquery.com/modules/store/static/collections/dml";;
 import module namespace ns = "http://example.org/datamodule/"; at "collections.xqdata";
 
-import module namespace ref = "http://www.zorba-xquery.com/modules/node-reference";;
+import module namespace ref = "http://zorba.io/modules/reference";;
 
 declare namespace ann = "http://www.zorba-xquery.com/annotations";;
 
@@ -10,7 +10,7 @@
 {
   ddl:create(xs:QName("ns:test"));
   dml:insert-nodes-last(xs:QName("ns:test"), (<a/>,<b><z/></b>,<c/>));
-  exit returning ref:node-by-reference(ref:node-reference(dml:collection(xs:QName("ns:test"))[2]));
+  exit returning ref:dereference(ref:reference(dml:collection(xs:QName("ns:test"))[2]));
 };
 
 local:test()

=== modified file 'test/rbkt/Queries/zorba/reference/reference_coll_2.xq'
--- test/rbkt/Queries/zorba/reference/reference_coll_2.xq	2013-02-07 17:24:36 +0000
+++ test/rbkt/Queries/zorba/reference/reference_coll_2.xq	2013-07-24 08:15:39 +0000
@@ -2,7 +2,7 @@
 import module namespace dml = "http://www.zorba-xquery.com/modules/store/static/collections/dml";;
 import module namespace ns = "http://example.org/datamodule/"; at "collections.xqdata";
 
-import module namespace ref = "http://www.zorba-xquery.com/modules/node-reference";;
+import module namespace ref = "http://zorba.io/modules/reference";;
 
 declare namespace ann = "http://www.zorba-xquery.com/annotations";;
 
@@ -10,7 +10,7 @@
 {
   ddl:create(xs:QName("ns:test"));
   dml:insert-nodes-last(xs:QName("ns:test"), (<a/>,<b><z/></b>,<c/>));
-  exit returning ref:node-by-reference(ref:node-reference(dml:collection(xs:QName("ns:test"))[2]/z));
+  exit returning ref:dereference(ref:reference(dml:collection(xs:QName("ns:test"))[2]/z));
 };
 
 local:test()

=== modified file 'test/rbkt/Queries/zorba/reference/reference_coll_3.xq'
--- test/rbkt/Queries/zorba/reference/reference_coll_3.xq	2013-02-07 17:24:36 +0000
+++ test/rbkt/Queries/zorba/reference/reference_coll_3.xq	2013-07-24 08:15:39 +0000
@@ -2,7 +2,7 @@
 import module namespace dml = "http://www.zorba-xquery.com/modules/store/static/collections/dml";;
 import module namespace ns = "http://example.org/datamodule/"; at "collections.xqdata";
 
-import module namespace ref = "http://www.zorba-xquery.com/modules/node-reference";;
+import module namespace ref = "http://zorba.io/modules/reference";;
 
 declare namespace ann = "http://www.zorba-xquery.com/annotations";;
 
@@ -12,7 +12,7 @@
   dml:insert-nodes-last(xs:QName("ns:test"), <a><b><c d="e"></c></b></a>);
 
   exit returning
-  fn:data(ref:node-by-reference(ref:node-reference(dml:collection(xs:QName("ns:test"))/b/c/@d)));
+  fn:data(ref:dereference(ref:reference(dml:collection(xs:QName("ns:test"))/b/c/@d)));
 };
 
 local:test()

=== modified file 'test/rbkt/Queries/zorba/reference/reference_coll_4.xq'
--- test/rbkt/Queries/zorba/reference/reference_coll_4.xq	2012-06-28 21:54:08 +0000
+++ test/rbkt/Queries/zorba/reference/reference_coll_4.xq	2013-07-24 08:15:39 +0000
@@ -2,7 +2,7 @@
 import module namespace dml = "http://www.zorba-xquery.com/modules/store/static/collections/dml";;
 import module namespace ns = "http://example.org/datamodule/"; at "collections.xqdata";
 
-import module namespace ref = "http://www.zorba-xquery.com/modules/node-reference";;
+import module namespace ref = "http://zorba.io/modules/reference";;
 
 declare namespace ann = "http://www.zorba-xquery.com/annotations";;
 
@@ -12,7 +12,7 @@
   dml:insert-nodes(xs:QName("ns:test2"), <a><b><c d="e"></c></b></a>);
   variable $node := dml:collection(xs:QName("ns:test2"))/b/c/@d;
   variable $has1 := ref:has-node-reference($node);
-  variable $ref  := ref:node-reference($node);
+  variable $ref  := ref:reference($node);
   variable $has2 := ref:has-node-reference($node);
   ($has1, $has2)
 };

=== modified file 'test/rbkt/Queries/zorba/reference/reference_coll_5.xq'
--- test/rbkt/Queries/zorba/reference/reference_coll_5.xq	2012-06-28 21:54:08 +0000
+++ test/rbkt/Queries/zorba/reference/reference_coll_5.xq	2013-07-24 08:15:39 +0000
@@ -2,7 +2,7 @@
 import module namespace dml = "http://www.zorba-xquery.com/modules/store/static/collections/dml";;
 import module namespace ns = "http://example.org/datamodule/"; at "collections.xqdata";
 
-import module namespace ref = "http://www.zorba-xquery.com/modules/node-reference";;
+import module namespace ref = "http://zorba.io/modules/reference";;
 
 declare namespace ann = "http://www.zorba-xquery.com/annotations";;
 
@@ -14,7 +14,7 @@
   variable $has1 := ref:has-node-reference($node);
   ref:assign-node-reference($node, $ref);
   variable $has2 := ref:has-node-reference($node);
-  variable $find := ref:node-by-reference($ref);
+  variable $find := ref:dereference($ref);
   ($has1, $has2, $node is $find)
 };
 

=== modified file 'test/rbkt/Queries/zorba/string/AnalyzeString/http-client-doc.htm'
--- test/rbkt/Queries/zorba/string/AnalyzeString/http-client-doc.htm	2013-07-17 15:48:38 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/http-client-doc.htm	2013-07-24 08:15:39 +0000
@@ -181,7 +181,7 @@
                       </sup>
                     </li>
                     <li>
-                      <a href="www.zorba-xquery.com_modules_node-reference.html" title="http://www.zorba-xquery.com/modules/node-reference";>node-reference</a>
+                      <a href="www.zorba-xquery.com_modules_node-reference.html" title="http://zorba.io/modules/reference";>node-reference</a>
                       <sup>
                         <a href="http://www.w3.org/TR/xquery-30/#dt-external-function"; target="_blank" title="There are external functions (either private or public) declared in this module.">(E)</a>
                       </sup>

=== modified file 'test/rbkt/Queries/zorba/xqddf/test-node-reference.xq'
--- test/rbkt/Queries/zorba/xqddf/test-node-reference.xq	2013-06-25 03:55:20 +0000
+++ test/rbkt/Queries/zorba/xqddf/test-node-reference.xq	2013-07-24 08:15:39 +0000
@@ -1,13 +1,9 @@
-import module namespace ref = "http://www.zorba-xquery.com/modules/node-reference";;
+import module namespace ref = "http://zorba.io/modules/reference";;
 
 declare namespace zerr = "http://zorba.io/modules/zorba-errors";;
 
 declare function local:foo($ref as xs:anyURI) {
-  ref:node-by-reference($ref) 
+  ref:dereference($ref) 
 };
 
-try {
-  local:foo(xs:anyURI("sausalito://www.google.com"))
-} catch zerr:ZAPI0028 {
-  true()
-}
+fn:empty(local:foo(xs:anyURI("sausalito://www.google.com")))


Follow ups