Hi Danny,
The original $cq was finding results, but removing the document-fragment-query still returns an empty sequence. If I change cts:element-values to use an element in the document, but not in a fragment, it correctly returns values. I had to use fragments in order to load some large documents, but I haven't figured out how this is effecting my query strategy. Thanks, gary From: [email protected] [mailto:[email protected]] On Behalf Of Danny Sokolsky Sent: Tuesday, June 21, 2011 12:37 PM To: General MarkLogic Developer Discussion Subject: Re: [MarkLogic Dev General] element values in fragments Hi Gary, I think element-values will give you answers based on fragments, so I don't think you need that document-fragment-query (which the way you have written it I think causes that query to match nothing). Something like: xquery version "1.0-ml"; declare default element namespace 'http://developer.envisn.com/xmlns/envisn/netvisn/'; let $modelKey := 'i627DE1CC4CF94F73ACAB3D27953C5D3C' let $cq := cts:and-query(( cts:directory-query("/db/netvisn/content/","infinity"), cts:element-value-query(xs:QName("contentKey"), $modelKey, "exact) )) cts:element-values(xs:QName("column"),"", ("document"), $cq) Does that work? What version of MarkLogic are you running? -Danny From: [email protected] [mailto:[email protected]] On Behalf Of Gary Larsen Sent: Tuesday, June 21, 2011 9:11 AM To: 'General MarkLogic Developer Discussion' Subject: [MarkLogic Dev General] element values in fragments Hi, I'm trying to create a query to return distinct element values. I've done this before but this time the element resides in a document fragment. In the query below the 'column' element is in a fragment so I included the document-fragment-query in the constraining query. Something is not correct as an empty sequence is being returned. xquery version "1.0-ml"; declare default element namespace 'http://developer.envisn.com/xmlns/envisn/netvisn/'; let $modelKey := 'i627DE1CC4CF94F73ACAB3D27953C5D3C' let $cq := cts:and-query(( cts:directory-query("/db/netvisn/content/","infinity"), cts:element-value-query(xs:QName("contentKey"), $modelKey, "exact"), cts:document-fragment-query(cts:element-value-match(xs:QName("column"), "?")) )) let $columns := cts:element-values(xs:QName("column"),"", (), $cq) for $column in $columns return $column This query does return values though: return cts:search(doc(), $cq)//column <column xmlns="http://developer.envisn.com/xmlns/envisn/netvisn/">CITY</column> <column xmlns="http://developer.envisn.com/xmlns/envisn/netvisn/">COMPANYNAME</colum n> <column xmlns="http://developer.envisn.com/xmlns/envisn/netvisn/">COUNTRY</column> <column xmlns="http://developer.envisn.com/xmlns/envisn/netvisn/">REGIONID</column> <column xmlns="http://developer.envisn.com/xmlns/envisn/netvisn/">COUNTRY</column> <column xmlns="http://developer.envisn.com/xmlns/envisn/netvisn/">COUNTRY</column> <column xmlns="http://developer.envisn.com/xmlns/envisn/netvisn/">COUNTRY</column> <column xmlns="http://developer.envisn.com/xmlns/envisn/netvisn/">CITY</column> Thanks for any assistance, gary
_______________________________________________ General mailing list [email protected] http://developer.marklogic.com/mailman/listinfo/general
