Hi Mariano,

Which version of ML you are running? I copied your cts:search code and
executed on 6.0-3, I can get result.

cts:search(/doc,
  cts:element-query(xs:QName("published"),
    cts:and-query((
      cts:element-value-query(xs:QName("pub"), "london")
      ,cts:not-query(cts:element-value-query(xs:QName("section"), "*" ))))
    )
)

>
<doc>
  <published>
    <pub>madrid</pub>
    <section>sport</section>
  </published>
  <published>
    <pub>london</pub>
  </published>
</doc>


John


On Tue, Nov 12, 2013 at 3:51 AM, Mariano Grau Calín <[email protected]>wrote:

>  Hi all.
>
> Given this two documents:
>
>   <doc>
>     <published>
>       <pub>madrid</pub>
>     </published>
>   </doc>
>
>   <doc>
>     <published>
>       <pub>madrid</pub>
>       <section>sport</section>
>     </published>
>     <published>
>       <pub>london</pub>
>     </published>
>   </doc>
>
> This code returns document #2:
>
> doc()/doc/published[pub='london' and not(section)]
>
> If i run the next cts:search() code:
>
> cts:search(/doc,
>   cts:element-query(xs:QName("published"),
>     cts:and-query((
>       cts:element-value-query(xs:QName("pub"), "london")
>       ,cts:not-query(cts:element-value-query(xs:QName("section"), "*" ))))
>     )
> )
>
> Get 'your query returned an empty sequence'.
> However, if change 'london' by 'madrid' get document #1.
>
> The target is to search documents where published-node contain pub-node
> and not section-node.
>
> Thanks,
>
> Mariano Grau
> Dpto. Sistemas
> Grupo Joly
>
> _______________________________________________
> General mailing list
> [email protected]
> http://developer.marklogic.com/mailman/listinfo/general
>
>
_______________________________________________
General mailing list
[email protected]
http://developer.marklogic.com/mailman/listinfo/general

Reply via email to