Regardless of the better performance gained from the previous answers i
would expect your query to work.

Just tested this in the QConsole and it returned as expected

let $doc := document { <catalog>
        <product dept="WMN">
                <number>557</number>
                <name language="en">Fleece Pullover</name>
                <colorChoices>navy black</colorChoices>
        </product>
        <product dept="ACC">
                <number>563</number>
                <name language="en">Floppy Sun Hat</name>
        </product>
        <product dept="ACC">
                <number>443</number>
                <name language="en">Deluxe Travel Bag</name>
        </product>
        <product dept="MEN">
                <number>784</number>
                <name language="en">Cotton Dress Shirt</name>
                <colorChoices>white gray</colorChoices>
                <desc>Our <i>favorite</i> shirt!</desc>
        </product>
</catalog>
}

for $i in $doc/catalog/product/name
where $i/../@dept = 'WMN'
return $i;

--> <name language="en">
Fleece Pullover
</name>

Regards,
Johan

On Mon, Jun 29, 2015 at 7:58 AM Indrajeet Verma <[email protected]>
wrote:

> Hi Zise,
>
> Use below query to avoid any loop or don't want any order by,
>
> collection('http://marklogic.com/xdmp/test')/catalog/product[@dept =
> 'WMN']/name
>
> However I would suggest to use of cts queries for the better response time.
>
> Regards,
> Indy
>
> On Mon, Jun 29, 2015 at 11:18 AM, Asit Nautiyal <[email protected]>
> wrote:
>
>> Hi Zise,
>>
>> Use the predicate in where condition. Please find the below code :
>>
>>
>> for $i in collection('SAMPLE')/catalog/product/name
>> where $i/..[@dept = 'WMN']
>> return $i
>>
>>
>> Regards,
>> Asit Nautiyal
>> ------------------------------
>> Date: Mon, 29 Jun 2015 09:25:48 +0800
>> From: [email protected]
>> To: [email protected]
>> Subject: [MarkLogic Dev General] Can anyone tell me why the result of the
>> second xqery is empy?
>>
>> There is one XML document stored in my database, the content of the XML
>> document is:
>> <catalog>
>>         <product dept="WMN">
>>                 <number>557</number>
>>                 <name language="en">Fleece Pullover</name>
>>                 <colorChoices>navy black</colorChoices>
>>         </product>
>>         <product dept="ACC">
>>                 <number>563</number>
>>                 <name language="en">Floppy Sun Hat</name>
>>         </product>
>>         <product dept="ACC">
>>                 <number>443</number>
>>                 <name language="en">Deluxe Travel Bag</name>
>>         </product>
>>         <product dept="MEN">
>>                 <number>784</number>
>>                 <name language="en">Cotton Dress Shirt</name>
>>                 <colorChoices>white gray</colorChoices>
>>                 <desc>Our <i>favorite</i> shirt!</desc>
>>         </product>
>> </catalog>
>>
>> when i execute the follow xquery :
>> for $i in collection('http://marklogic.com/xdmp/test')/catalog/product
>> where $i/@dept = 'WMN'
>> return $i/name;
>> the result is:
>> <name language="en">
>> Fleece Pullover
>> </name>
>> But, if i use the follow xquery to do the same thing, the result will be
>> empty
>>
>> for $i in collection('
>> http://marklogic.com/xdmp/test')/catalog/product/name
>> where $i/../@dept = 'WMN'
>> return $i;
>>
>> Can anyone tell me why the result of second xqery is empy?
>>
>>
>>
>> _______________________________________________ General mailing list
>> [email protected] Manage your subscription at:
>> http://developer.marklogic.com/mailman/listinfo/general
>>
>> _______________________________________________
>> General mailing list
>> [email protected]
>> Manage your subscription at:
>> http://developer.marklogic.com/mailman/listinfo/general
>>
>>
> _______________________________________________
> General mailing list
> [email protected]
> Manage your subscription at:
> http://developer.marklogic.com/mailman/listinfo/general
>
_______________________________________________
General mailing list
[email protected]
Manage your subscription at: 
http://developer.marklogic.com/mailman/listinfo/general

Reply via email to