如何在 Marklogic 中获取 admin:database-get-range-element-indexes 的本地名称和标量类型
How to get a localname and scalar-type of admin:database-get-range-element-indexes in Marklogic
我使用 admin:database-get-range-element-indexes 来获取数据库中的索引列表。但是我想要 return [localname] 和 [scalar-type] 的列表 我正在学习 Marklogic。提前致谢。
xquery version "1.0-ml";
import module namespace admin = "http://marklogic.com/xdmp/admin"
at "/MarkLogic/admin.xqy";
let $config := admin:get-configuration()
let $element_range_indexes := admin:database-get-range-element-indexes ($config, xdmp:database("MORDB") )
return $element_range_indexes/localname (:<--THIS RETURN NOTHING:)
我只想 return 元素中的本地名称和标量类型。
<range-element-index xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://marklogic.com/xdmp/database">
<scalar- type>int</scalar-type>
<namespace-uri>http://udma.com/mrd/record</namespace-uri>
<localname>FullTextExists</localname>
<collation></collation>
<range-value-positions>false</range-value-positions>
<invalid-values>ignore</invalid-values>
</range-element-index>
您的代码存在问题,您的 XPath 没有名称空间。 "localname" 位于“http://marklogic.com/xdmp/database”命名空间中。所以为它声明一个前缀,并在你的路径中使用它:
declare namespace db="http://marklogic.com/xdmp/database";
import module namespace admin = "http://marklogic.com/xdmp/admin"
at "/MarkLogic/admin.xqy";
let $config := admin:get-configuration()
let $element_range_indexes := admin:database-get-range-element-indexes($config, xdmp:database("MORDB") )
return $element_range_indexes/(db:localname|db:scalar-type)
我使用 admin:database-get-range-element-indexes 来获取数据库中的索引列表。但是我想要 return [localname] 和 [scalar-type] 的列表 我正在学习 Marklogic。提前致谢。
xquery version "1.0-ml";
import module namespace admin = "http://marklogic.com/xdmp/admin"
at "/MarkLogic/admin.xqy";
let $config := admin:get-configuration()
let $element_range_indexes := admin:database-get-range-element-indexes ($config, xdmp:database("MORDB") )
return $element_range_indexes/localname (:<--THIS RETURN NOTHING:)
我只想 return 元素中的本地名称和标量类型。
<range-element-index xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://marklogic.com/xdmp/database">
<scalar- type>int</scalar-type>
<namespace-uri>http://udma.com/mrd/record</namespace-uri>
<localname>FullTextExists</localname>
<collation></collation>
<range-value-positions>false</range-value-positions>
<invalid-values>ignore</invalid-values>
</range-element-index>
您的代码存在问题,您的 XPath 没有名称空间。 "localname" 位于“http://marklogic.com/xdmp/database”命名空间中。所以为它声明一个前缀,并在你的路径中使用它:
declare namespace db="http://marklogic.com/xdmp/database";
import module namespace admin = "http://marklogic.com/xdmp/admin"
at "/MarkLogic/admin.xqy";
let $config := admin:get-configuration()
let $element_range_indexes := admin:database-get-range-element-indexes($config, xdmp:database("MORDB") )
return $element_range_indexes/(db:localname|db:scalar-type)