I have a plan to develop my own version of the CAML builder app - as a pet project and in order to improve this field. :)
It would be nice to support all the capabilities of the CAML query scheme but I can't find or assemble a complete description of the CAML scheme capabilities. The official one (http://msdn.microsoft.com/en-us/library/office/ms467521(v=office.15).aspx) is far from completeness. For example:
How to use this
<xml>tag (http://msdn.microsoft.com/en-us/library/office/ms480514%28v=office.15%29.aspx)? There's no any info on it.
How to use
DateRangesOverlap(http://msdn.microsoft.com/en-us/library/office/ms436080%28v=office.15%29.aspx) - is it really only for events list? If so why I need to specify exactly 3 fieldrefs?
How to use
<Membership>tag (http://msdn.microsoft.com/en-us/library/office/aa544234%28v=office.15%29.aspx) I've found on this blog (http://christopherclementen.wordpress.com/2012/08/27/caml-query-membership-attribute/) - and MSDN again is not very informative on it. It's lucky for me to found this blog post.
IsNotNullallows an XML tag inside it and not just strictly the FieldRef one? I suspect it's because of too general scheme and there's a hidden constraints somewhere in query parsing code.
GetVarfrom the CamlQuery.xsd?
What's the full range of options for the
typeattribute of the
And so on :) I even have tried to find the answer in the sharepoint.dll code but with no luck - the query processing is in the native code I can't analyze.
There's another possibility - is the CAML query language not so useful s there's no need in full its capabilities? What do you think?