有没有一种方法可以让MarkLogic不必为每个fn:具有该前缀的函数添加前缀?我在网上看到很多代码告诉我我不需要它.
你知道,事情会变得相当冗长吗? fn:not(fn:contains(...)), 代替not(contains(...))
思考?
谢谢!
和你一样,我不想fn:在我所有的fn:函数前输入.
在普通的XQuery主模块中,您不需要fn:前缀,因为这是默认的函数名称空间,并用于所有未加前缀的函数.你做不过需要fn:在库模块,因为他们改变缺省函数命名空间到库模块命名空间.这意味着库函数可以相互调用而无需任何前缀.
但你可以改回来!这是切换回的标题代码.
xquery version "1.0-ml";
module namespace util = "http://markmail.org/util";
declare default function namespace "http://www.w3.org/2005/xpath-functions";
Run Code Online (Sandbox Code Playgroud)
或者,如果您使用的是旧版0.9毫升:
xquery version "0.9-ml"
module "http://markmail.org/util"
declare namespace util = "http://markmail.org/util"
default function namespace = "http://www.w3.org/2003/05/xpath-functions"
Run Code Online (Sandbox Code Playgroud)
它将模块放在给定的命名空间中,将util分配给该命名空间,然后将默认值分配给正常的命名空间fn:.
在此切换之后,没有前缀的函数调用和定义将默认为fn:前缀; 这意味着util库中的所有函数都应该明确使用util:前缀.(就个人而言,我认为无论如何都更干净.)
| 归档时间: |
|
| 查看次数: |
249 次 |
| 最近记录: |