Sharepoint 中的CAML 语言
来源:互联网 发布:网络推广新规 编辑:程序博客网 时间:2024/05/16 07:54
协作应用程序标记语言 (CAML) 是一种基于 XML 的语言,用于在 Windows SharePoint Services 中定义在网站和列表中使用的字段和视图。CAML 还用于在网站设置过程中定义 Windows SharePoint Services 数据库中的表。也可以对列表进行更新,在使用SharePoint Web Service的时候十分重要。详细的规范请参考http://msdn.microsoft.com/zh-cn/library/ms462365.aspx,本文列出一些常用的和重要的信息。
1. 一些属性
RowLimit:<RowLimit>10</RowLimit> 查询结果的返回行限制
ViewFields:<ViewFields> <FieldRef Name='Title'/> <FieldRef Name='Name'/></ViewFields>查询结果要显示的字段
2. 查询条件
query.Query = "<Where><Eq><FieldRef Name='Status'/>" + "<Value Type='Text'>Completed</Value></Eq></Where>";
2.1.比较操作符如下:
Comparison Operators
General Meaning
Eq
=
Gt
>
Lt
<
Geq
>=
Leq
<=
Neq
<>
Contains
Like
IsNull
Null
IsNotNull
NotNull
BeginsWith
Beginning with word
DateRangesOverlap
compare the dates in a recurring event with a specified DateTime value, to determine whether they overlap
2.2.Or
.<Where> <Or> <Geq><FieldRef Name='Field1'/> <Value Type='Number'>1500</Value> </Geq> <Leq> <FieldRef Name='Field2'/><Value Type='Number'>500</Value> </Leq> </Or> </Where>
2.3.And
<Where> <And> <BeginsWith> <FieldRef Name="Conference"/> <Value Type="Note">Morning</Value> </BeginsWith> <Contains> <FieldRef Name="Conference" /> <Value Type="Note">discussion session</Value> </Contains> </And></Where>
2.4.Orderby
<OrderBy>
<FieldRef Name="Modified" Ascending="FALSE"></FieldRef>
</OrderBy>
2.5.GroupBy
<GroupBy>
<FieldRef Name="Modified"/>
</GroupBy>
3.转义
Original
Replacement
"
\"
\
\\
+
\u002b
>
\u003e
<
\u003c
'
\u0027
例:
<FieldRef Name=\"Checkbox\"></FieldRef> <Value Type=\"bit\">1</Value>
4.Batch
内嵌于 HTTP 协议中,Batch 元素必须至少包含一个 Method 元素。Batch 元素允许客户端应用程序一次性向服务器传送多个命令。
4.1.格式
<Batch
OnError = "Return" | "Continue"
ListVersion = ""
Version = ""
ViewName = "">
<Method>
...
</Method>
...
</Batch>
属性
说明
ListVersion
可选属性,类型为 Integer。指定列表的版本号。
OnError
可选。以下是可能的值:
· Return — 在遇到第一个错误之后,停止执行任何方法。此值为默认值。
· Continue — 在遇到错误后,继续执行后续方法。
Version
可选属性,类型为 String。指定正在服务器上运行的 Windows SharePoint Services 的版本号。版本号包含四个整数,格式为 N.N.N.NNNN,它们表示产品的主版本、次版本、阶段版本和增量版本。
ViewName
可选属性,类型为 Guid。指定视图的 GUID。
4.2.Method:在批处理中用于指定 Batch 元素中的命令。
Method 元素是 Batch 元素所必需的
<Method ID="Text"
Cmd = "Text"
ID = "Text">
</Method>
属性
说明
Cmd
可选属性,类型为 Text。在 Web 服务中使用,指定相关命令发布到服务器以进行列表项更新。可能的值包括:
· Delete — 删除指定项目。
· New — 创建指定项目。
· Update — 修改指定项目。
ID
必需属性,类型为 Text。自由形式标识字符串,它实际并非由服务器使用,而是返回到客户端。
4.3. SetList:指定当前正在使用的列表。
<SetList
Name = "Text"
PreserveContext = "TRUE" | "FALSE"
Scope = "Request">
</SetList>
属性
说明
Name
必需属性,类型为 Text。指定该列表的名称。
PreserveContext
可选属性,类型为 Boolean。如果为 FALSE,则实现 SetList 元素将返回数据库查询,该查询是获取显示单个列表项的表单中数据所必需的。当视图和表单位于同一页面中时,此功能非常有用。默认值为 TRUE。
Scope
当设置为 Request 时,此属性使整个列表可用于该页面。
4.4. SetVar:允许在本地将页呈现到当前 XML 级别或将页全局呈现到页的上下文中设置变量。
<SetVar
ID = "Text"
Name = "Text"
Scope = "Request"
Value = "Text">
</SetVar>
属性
说明
ID
可选属性,类型为 Text。提供变量的 ID。
Name
必需属性,类型为 Text。指定变量的名称。
Scope
如果设置为 Request,则变量是全局变量。
Value
可选属性,类型为 Text。当这是一个空元素时,可用于为变量指定值。
在下面的示例中,第一个 GetVar 元素返回“Value_2”,第二个 GetVar 元素返回“Value_1”,因为包含“Value_2”的 SetVar 元素仅适用于“Sample”元素的子级。“Value_2”在“Sample”结束标记之后超出范围。
XML
<SetVar Name="myVar">Value_1</SetVar>
<Sample>
<SetVar Name="myVar">Value_2</SetVar>
<GetVar Name="myVar"/>
</Sample>
<GetVar Name="myVar"/>
4.5.例子
batchElement.InnerXml = "<Method ID='1' Cmd='Update'>" +
"<Field Name='ID'>6</Field>" +
"<Field Name='Title'>Modified sixth item</Field></Method>" +
"<Method ID='2' Cmd='Update'><Field Name='ID'>7</Field>" +
"<Field Name='Title'>Modified seventh item</Field></Method>" +
"<Method ID='3' Cmd='Delete'><Field Name='ID'>5</Field>" +
"</Method><Method ID='4' Cmd='New'>" +
"<Field Name='Title'>Added item</Field></Method>";
5.WSS中的各种字段类型与.NET中对应的数据类型的对照关系
Name
Format
Attachments
System.Boolean
Boolean
System.Boolean
Calculated
N/A
Choice
System.String
Computed
N/A
Counter
System.Int32
CrossProjectLink
System.Boolean
Currency
System.Double
DateTime
System.DateTime
GridChoice
System.String
Guid
System.Guid
Integer
System.Int32
Lookup
System.String
MaxItems
System.Int32
ModStat
System.Int32
MultiChoice
System.String
Note
System.String
Number
System.Double
Recurrence
System.Boolean
Text
System.String
Threading
System.String
URL
System.String, System.String
User
System.String
转载http://www.cnblogs.com/carysun/archive/2011/01/12/moss-caml.html
- Sharepoint 中的CAML 语言
- SharePoint开发之CAML语言
- 自定义 SharePoint Team Services 中的 CAML 视图
- SHAREPOINT - CAML列表查询
- SHAREPOINT - CAML列表查询
- CAML 案例 sharepoint搜索功能
- SharePoint Caml query Calculated Fields
- 适用于SharePoint 2013 的 CAML Desinger
- 如何使用CAML 批量更新SharePoint List
- CAML
- Writing CAML Queries from Retrieving List Items form SharePoint List
- SharePoint CAML 通过SPUser.ID查询用户资料
- SharePoint CAML 通过SPUser.ID查询用户资料
- sharepoint 查询统计list数据,使用CAML联合datatable方法
- sharepoint caml语句查询列表视图,根据人员ID匹配
- SharePoint 2013 中使用 CAML 的Membership 条件
- U2U CAML Query Builder for SharePoint 2003 and SharePoint 2007 (Windows Version)
- 在SharePoint开发环境中配置CAML语法的智能感知
- 父类、子类构造的理解
- Android log日志信息获取
- 常见hibernate问题
- Struts工作流程
- 什么是MVC
- Sharepoint 中的CAML 语言
- MySQL语法参考
- JAVA中的重量级组件和轻量级组件
- 程序员的十种级别
- 这样骂面试官,竟然顺利得到OFFER
- CAML 案例 sharepoint搜索功能
- url 中特殊字符处理
- 每月收入15000,只花费20的强人生活
- 跳槽计划被泄密以后……