MarkLogic:如何生成唯一的文档/xml文件名
我不熟悉MarkLogic 以下是我的要求: 我有两个实体:员工、部门。 一名员工属于一个部门 对于XML,模式将为: SomeStaff.xml:MarkLogic:如何生成唯一的文档/xml文件名,marklogic,Marklogic,我不熟悉MarkLogic 以下是我的要求: 我有两个实体:员工、部门。 一名员工属于一个部门 对于XML,模式将为: SomeStaff.xml: <Staff> <Name>Lee</Name> <Title>VP</Title> <DepartmentId>someUniqueURI</DepartmentId> </Staff> 李 副总裁 独一无二的 部门/someUniq
<Staff>
<Name>Lee</Name>
<Title>VP</Title>
<DepartmentId>someUniqueURI</DepartmentId>
</Staff>
李
副总裁
独一无二的
部门/someUniqueURI.xml:
<Department>
<Name>IT</Name>
</Department>
信息技术
所以,我的问题是:
我想使用相同的XML并让MarkLogic生成文件名,例如:我想保存:
<Department>
<Name>IT</Name>
</Department>
信息技术
MarkLogic将为它生成一个唯一的URI,并将该URI返回给客户端
我如何处理这个问题
谢谢。只要写一点代码:
declare function add-dept ($dept as element(Department))
as xs:string
{
let $uri := "/departments/" || xs:string (xdmp:random()) (: or some GUID generator :)
let $_ := xdmp:document-insert ($uri, $dept)
return $uri
};
在要存储新部门文档的位置调用此函数:
...
let $dept-id := add-dept ($new-deptartment)
let $new-staff := create-staff ($name, $title, $dept-id)
return add-staff ($new-staff)
编写createstaff和addstaff函数留给读者作为练习。这将自动提交新的部门和员工文档。只需编写一些代码:
declare function add-dept ($dept as element(Department))
as xs:string
{
let $uri := "/departments/" || xs:string (xdmp:random()) (: or some GUID generator :)
let $_ := xdmp:document-insert ($uri, $dept)
return $uri
};
在要存储新部门文档的位置调用此函数:
...
let $dept-id := add-dept ($new-deptartment)
let $new-staff := create-staff ($name, $title, $dept-id)
return add-staff ($new-staff)
编写createstaff和addstaff函数留给读者作为练习。这将自动提交新的部门和员工文档。只需编写一些代码:
declare function add-dept ($dept as element(Department))
as xs:string
{
let $uri := "/departments/" || xs:string (xdmp:random()) (: or some GUID generator :)
let $_ := xdmp:document-insert ($uri, $dept)
return $uri
};
在要存储新部门文档的位置调用此函数:
...
let $dept-id := add-dept ($new-deptartment)
let $new-staff := create-staff ($name, $title, $dept-id)
return add-staff ($new-staff)
编写createstaff和addstaff函数留给读者作为练习。这将自动提交新的部门和员工文档。只需编写一些代码:
declare function add-dept ($dept as element(Department))
as xs:string
{
let $uri := "/departments/" || xs:string (xdmp:random()) (: or some GUID generator :)
let $_ := xdmp:document-insert ($uri, $dept)
return $uri
};
在要存储新部门文档的位置调用此函数:
...
let $dept-id := add-dept ($new-deptartment)
let $new-staff := create-staff ($name, $title, $dept-id)
return add-staff ($new-staff)
编写createstaff和addstaff函数留给读者作为练习。这将以原子方式提交新的部门和员工文档。功能可用于生成唯一的GUID。此函数是在ML7中引入的函数可用于生成唯一的GUID。此函数是在ML7中引入的函数可用于生成唯一的GUID。此函数是在ML7中引入的函数可用于生成唯一的GUID。这个函数是在ML7中引入的谢谢,Ron:)基于我已知的xdmp:random将生成一个从0到“64位长”的随机数。这意味着如果我想得到一个唯一的URI,我应该使用“GUID生成器”?有内置发电机吗?谢谢。据我所知,没有内置的GUID生成器(除非他们在ML7中添加了一些东西)。关键是,只要URI在数据库中是唯一的,就可以将其设置为任何您喜欢的内容。如果是我,我可能会将URI设置为:“/departments/”| |$dept/Name/fn:string()| |“.xml”。谢谢,Ron:)基于我已知的,xdmp:random将生成一个从0到“64位长”的随机数。这意味着如果我想得到一个唯一的URI,我应该使用“GUID生成器”?有内置发电机吗?谢谢。据我所知,没有内置的GUID生成器(除非他们在ML7中添加了一些东西)。关键是,只要URI在数据库中是唯一的,就可以将其设置为任何您喜欢的内容。如果是我,我可能会将URI设置为:“/departments/”| |$dept/Name/fn:string()| |“.xml”。谢谢,Ron:)基于我已知的,xdmp:random将生成一个从0到“64位长”的随机数。这意味着如果我想得到一个唯一的URI,我应该使用“GUID生成器”?有内置发电机吗?谢谢。据我所知,没有内置的GUID生成器(除非他们在ML7中添加了一些东西)。关键是,只要URI在数据库中是唯一的,就可以将其设置为任何您喜欢的内容。如果是我,我可能会将URI设置为:“/departments/”| |$dept/Name/fn:string()| |“.xml”。谢谢,Ron:)基于我已知的,xdmp:random将生成一个从0到“64位长”的随机数。这意味着如果我想得到一个唯一的URI,我应该使用“GUID生成器”?有内置发电机吗?谢谢。据我所知,没有内置的GUID生成器(除非他们在ML7中添加了一些东西)。关键是,只要URI在数据库中是唯一的,就可以将其设置为任何您喜欢的内容。如果是我,我可能会将URI设置为:“/departments/”| |$dept/Name/fn:string()| |“.xml”。