Hi Iain,
You can keep all documents in a collection and then use query like below :
let $id := "abc123"
Return
cts:search(fn:collection("MyCollection")//*[@id[.=$id]],())
This query will give you that particular document which contain id="abc123"
Similar you can use with combination
let $id := "abc123"
let $alt-id :="zyx987"
Return
cts:search(fn:collection("MyCollection")//*[@id[.=$id]][@alt-id[.=$alt-id]],())
This query will give you that particular document which contain id="abc123" and
alt-id=" zyx987"
Hope, it will help you.
Regards,
Asit Nautiyal
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Iain Tatch
Sent: Wednesday, August 28, 2013 6:58 PM
To: General MarkLogic Developer Discussion
Subject: [MarkLogic Dev General] Constrained searches across multiple element
names
Hello all
We have the following (simplified) example documents:
<cat id="abc123" alt-id="zyx987" xmlns="blah"> .. </cat>
<dog id="aaa999" alt-id="bbb888" xmlns="blah"> .. </dog>
<elephant id="xxxxxx" alt-id="yyyyyy" xmlns="blah"> .. </elephant>
In other words, our documents are all in the same namespace, they all have
attributes @id and @alt-id, but the root node might be many different types
(I've specified 'cat', 'dog', 'elephant' here but in reality there are not just
3, there are potentially dozens).
We'd like to give our users the ability to search this data with queries such as
id:aaa999
or
alt-id:zyx987
but I'm having trouble composing a valid set of Search constraint options to
achieve this. As far as I can tell, for both value constraints and word
constraints I'd need to specify an element name as well as the attribute name,
and obviously in this case there could be many different element names.
Any suggestions gratefully received!
TIA
Iain Tatch
Senior software engineer
BBC FM Publishing Services Editorial Metadata
_______________________________________________
General mailing list
[email protected]
http://developer.marklogic.com/mailman/listinfo/general
This e-mail and any files transmitted with it are for the sole use of the
intended recipient(s) and may contain confidential and privileged information.
If you are not the intended recipient(s), please reply to the sender and
destroy all copies of the original message. Any unauthorized review, use,
disclosure, dissemination, forwarding, printing or copying of this email,
and/or any action taken in reliance on the contents of this e-mail is strictly
prohibited and may be unlawful.
_______________________________________________
General mailing list
[email protected]
http://developer.marklogic.com/mailman/listinfo/general