我正在尝试为 Marklogic DB 中的 XML 文档创建一个简单的 SQL TDE 模板。
样本模板:
<template xmlns="http://marklogic.com/xdmp/tde">
<context>/match</context>
<collections>
<collection>source1</collection>
</collections>
<rows>
<row>
<schema-name>soccer</schema-name>
<view-name>matches</view-name>
<columns>
<column>
<name>id</name>
<scalar-type>long</scalar-type>
<val>id</val>
</column>
<column>
<name>document</name>
<scalar-type>string</scalar-type>
<val>docUri</val>
</column>
<column>
<name>date</name>
<scalar-type>date</scalar-type>
<val>match-date</val>
</column>
<column>
<name>league</name>
<scalar-type>string</scalar-type>
<val>league</val>
</column>
</columns>
</row>
</rows>
</template>
我在内容数据库中插入了一个示例文档,并将上述模板插入到 Schemas 数据库中。
现在我正在尝试使用 XQuery 运行 SQL 查询,如下所示:
xdmp:sql("select * from matches","map")
上面的查询返回下面的响应
足球比赛.id | 足球比赛文件 | 足球比赛日期 | 足球比赛联赛 |
---|---|---|---|
1234567 | /soccer/match/1234567.xml | 2016-01-12 | 总理 |
在json格式中,
[
{
"soccer.matches.id": 1234567,
"soccer.matches.document": "/soccer/match/1234567.xml",
"soccer.matches.date": "2016-01-12",
"soccer.matches.league": "Premier"
}
]
在上面的响应中,键名返回为 schema-name.view-name.column_name.Eg,soccer.matches.id 但我需要键名只有列名。例如,“id”:1234567
任何人都可以分享在 XQuery 中实现这一目标的最简单方法吗?