协作应用程序标记语言 (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 语言相关推荐

  1. 适用于SharePoint 2013 的 CAML Desinger

    适用于SharePoint 2013 的 CAML Desinger 分类: SharePoint2013-01-15 21:52 1877人阅读 评论(0) 收藏 举报 CAMLDesingerSh ...

  2. 开源:Angularjs示例--Sonar中项目使用语言分布图(CoffeeScript版)

    关于SonarLanguage是什么东东,这里就不在描述了,如果你对它感兴趣的话,请移步到上篇随笔开源:Angularjs示例--Sonar中项目使用语言分布图.这里是最近学习CoffeeScript ...

  3. python语言变量命名规则有什-以下选项中,符合Python语言变量命名规则的是_学小易找答案...

    [填空题]与文件系统相比,数据库系统的数据冗余度___________,数据共享性___________. [填空题]在数据库体系结构中,两级数据映象分别是指___________之间的数据映象与__ ...

  4. 一步一步SharePoint 2007之三十七:在SharePoint中实现Workflow(3)——运行Workflow

    下面将记录每一步的操作过程. 1.首先打开我的网站,依次点击Document Center.Announcements,进入Announcements列表页面. 2.在Announcements列表界 ...

  5. VB:使用Visual Studio 2010中的VB语言工具箱DataGridView调用SQL数据库Database的表格文件

    VB:使用Visual Studio 2010中的VB语言工具箱DataGridView调用SQL数据库Database的表格文件 目录 问题探究 图文教程 问题探究 使用Visual Studio ...

  6. 小结两种在Python中导入C语言扩展库的方法

    小结两种在Python中导入C语言扩展库的方法 分类: Pythoner2009-08-18 20:44 2563人阅读 评论(1) 收藏 举报 python扩展c语言importstring 一种是 ...

  7. java sql封装,在Java系统中封装SQL语言的处理方法及系统的制作方法

    在Java系统中封装SQL语言的处理方法及系统的制作方法[ 技术领域: ][0001]本发明涉及计算机数据处理 技术领域: ,特别是涉及一种在Java系统中封装SQL语言的处理方法及系统.[ 背景技术 ...

  8. 用VS向SharePoint中部署添加List 并指定应用的Content Type

    在SharePoint Project中添加相应的Item,完全用界面的形式向EricSunArticlesList中添加好对应的Column,之后用Feature将List添加到SharePoint ...

  9. python r语言 结合 部署_(转)python中调用R语言通过rpy2 进行交互安装配置详解...

    python中调用R语言通过rpy2 进行详解 1.R语言的安装: 大家进行R语言的安装,在安装好R后,需要配置环境变量R才能进行使用. 对此电脑右键->选择高级设置->环境变量-> ...

最新文章

  1. Cloudflare Workers支持WebAssembly和键值存储
  2. libtorch调用模型
  3. 分支和循环_月隐学python第5课
  4. JAVA_WEB--jsp语法
  5. 3d制作中需要注意的问题_珠宝首饰工艺篇-戒指3D造型设计制作注意要点
  6. vue大括号里接受一个函数_vue源码探究(第四弹)
  7. Qt笔记-Qt中Json存二进制文件并读取文件(QJsonObject、QJsonArray、QJsonDocument的使用)
  8. C语言会生成字节码文件吗,什么是字节码文件?
  9. 再学点分治——动态点分治
  10. 20190830每日一句
  11. 启用windows功能NetFx3时出错,终极方法
  12. 嵌入式记录2——Kame四足巡线机器人
  13. Web前端主流框架优缺点有哪些?小编帮你分析
  14. Day_15JavaSE 异常
  15. Redis重启数据丢失问题
  16. 无需兑换码下载来自设备制造商的 HEVC 视频扩展
  17. CubeMX C6T6有关IIC的bug
  18. 钱币兑换问题 HDU 1284
  19. GitHub安装包下载(2020.4.26)
  20. 03pe修改计算机名称,[U盘PE教程]玩转PE内置注册表(基于NT6.0)

热门文章

  1. uni-app时间格式转换
  2. 7. R语言【独立性检验】:卡方独立性检验、Fisher精确检验 、Cochran-Mantel-Haenszel检验
  3. 贝叶斯统计分析中的基本概念和基本方法
  4. formality形式验证里的案件分析
  5. IDEA牛逼!900行又臭又长的类重构,几分钟搞定
  6. java技术面试总结评语,成长路线图
  7. 使用开源激光SLAM方案LIO-SAM运行KITTI数据集,如有用,请评论雷锋
  8. 报错信息:Avoid mutating a prop directly since the value will be overwritten
  9. 写在2014年的感恩节
  10. 人机交互新突破:百度发布主动多模态交互技术