I am new to Marklogic and My Requirement is, I have XML document in Marklogic Database containing multiple elements.
** Example :**
<tXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Header>
<Source>Source1</Source>
<Action_Type>Action_Type1</Action_Type>
<Sequence_Number>Sequence_Number1</Sequence_Number>
</Header>
</tXML>
When i pass "Sequence_Number"it should return /tXML/Header/Sequence_Number and it is possible to have "Sequence_Number" element multiple times.
Please tell me whether it is possible using Marklogic XQuery/Java API or i need to uses any third party API to obtain this result.
It probably won't perform well on large documents, but you could use string matching on element names to find the elements, and then use xdmp:path to get the corresponding XPath for that document. Something like:
xquery version "1.0-ml";
let $xml := document {
<tXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Header>
<Source>Source1</Source>
<Action_Type>Action_Type1</Action_Type>
<Sequence_Number>Sequence_Number1</Sequence_Number>
</Header>
</tXML>
}
let $elem-name := "Sequence_Number"
let $elems := $xml//*[local-name() eq $elem-name]
return $elems ! xdmp:path(.)
HTH!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With