Sharepoint 中的CAML 语言
协作应用程序标记语言 (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 2013 的 CAML Desinger
适用于SharePoint 2013 的 CAML Desinger 分类: SharePoint2013-01-15 21:52 1877人阅读 评论(0) 收藏 举报 CAMLDesingerSh ...
- 开源:Angularjs示例--Sonar中项目使用语言分布图(CoffeeScript版)
关于SonarLanguage是什么东东,这里就不在描述了,如果你对它感兴趣的话,请移步到上篇随笔开源:Angularjs示例--Sonar中项目使用语言分布图.这里是最近学习CoffeeScript ...
- python语言变量命名规则有什-以下选项中,符合Python语言变量命名规则的是_学小易找答案...
[填空题]与文件系统相比,数据库系统的数据冗余度___________,数据共享性___________. [填空题]在数据库体系结构中,两级数据映象分别是指___________之间的数据映象与__ ...
- 一步一步SharePoint 2007之三十七:在SharePoint中实现Workflow(3)——运行Workflow
下面将记录每一步的操作过程. 1.首先打开我的网站,依次点击Document Center.Announcements,进入Announcements列表页面. 2.在Announcements列表界 ...
- VB:使用Visual Studio 2010中的VB语言工具箱DataGridView调用SQL数据库Database的表格文件
VB:使用Visual Studio 2010中的VB语言工具箱DataGridView调用SQL数据库Database的表格文件 目录 问题探究 图文教程 问题探究 使用Visual Studio ...
- 小结两种在Python中导入C语言扩展库的方法
小结两种在Python中导入C语言扩展库的方法 分类: Pythoner2009-08-18 20:44 2563人阅读 评论(1) 收藏 举报 python扩展c语言importstring 一种是 ...
- java sql封装,在Java系统中封装SQL语言的处理方法及系统的制作方法
在Java系统中封装SQL语言的处理方法及系统的制作方法[ 技术领域: ][0001]本发明涉及计算机数据处理 技术领域: ,特别是涉及一种在Java系统中封装SQL语言的处理方法及系统.[ 背景技术 ...
- 用VS向SharePoint中部署添加List 并指定应用的Content Type
在SharePoint Project中添加相应的Item,完全用界面的形式向EricSunArticlesList中添加好对应的Column,之后用Feature将List添加到SharePoint ...
- python r语言 结合 部署_(转)python中调用R语言通过rpy2 进行交互安装配置详解...
python中调用R语言通过rpy2 进行详解 1.R语言的安装: 大家进行R语言的安装,在安装好R后,需要配置环境变量R才能进行使用. 对此电脑右键->选择高级设置->环境变量-> ...
最新文章
- Cloudflare Workers支持WebAssembly和键值存储
- libtorch调用模型
- 分支和循环_月隐学python第5课
- JAVA_WEB--jsp语法
- 3d制作中需要注意的问题_珠宝首饰工艺篇-戒指3D造型设计制作注意要点
- vue大括号里接受一个函数_vue源码探究(第四弹)
- Qt笔记-Qt中Json存二进制文件并读取文件(QJsonObject、QJsonArray、QJsonDocument的使用)
- C语言会生成字节码文件吗,什么是字节码文件?
- 再学点分治——动态点分治
- 20190830每日一句
- 启用windows功能NetFx3时出错,终极方法
- 嵌入式记录2——Kame四足巡线机器人
- Web前端主流框架优缺点有哪些?小编帮你分析
- Day_15JavaSE 异常
- Redis重启数据丢失问题
- 无需兑换码下载来自设备制造商的 HEVC 视频扩展
- CubeMX C6T6有关IIC的bug
- 钱币兑换问题 HDU 1284
- GitHub安装包下载(2020.4.26)
- 03pe修改计算机名称,[U盘PE教程]玩转PE内置注册表(基于NT6.0)
热门文章
- uni-app时间格式转换
- 7. R语言【独立性检验】:卡方独立性检验、Fisher精确检验 、Cochran-Mantel-Haenszel检验
- 贝叶斯统计分析中的基本概念和基本方法
- formality形式验证里的案件分析
- IDEA牛逼!900行又臭又长的类重构,几分钟搞定
- java技术面试总结评语,成长路线图
- 使用开源激光SLAM方案LIO-SAM运行KITTI数据集,如有用,请评论雷锋
- 报错信息:Avoid mutating a prop directly since the value will be overwritten
- 写在2014年的感恩节
- 人机交互新突破:百度发布主动多模态交互技术