Sharepoint学习笔记—Site Definition系列-- 4、相对快捷地创建List Definition的Schema.xml文件
在上一篇我们大致分析了一个List Definition的结构与内容,里面有个关健的文件就是Schema.xml,我们看到,这个文件比较复杂,在使用VS2010的模板时,VS2010自动为我们创建了这个文件,可有时候,我们可能会需要人为介入创建或修改Schema.xml,这可就显得比较麻烦了。有没有办法让这个工作变得更容易和快捷一些呢?这里描述两个办法:
一、是使用List Template
首先在你的Sharepoint网站上手工创建你想要的List,完成相应的设置(eg:各种View,SiteColumns,Fields等等),成型后,在Sharepoint的操作界面上进入此List的操作界面,把它保存成Template以供使用。
这里,为了比较差异,我们就直接使用上一篇我们根据List Definiton创建的那个List实例来保存为Template。
首先选中那个List 实例,然后点击Library Settings:
进入Library Settings的设置界面后,选择Save document library as template
输入必要的参数,然后保存确定
系统会提示你进入Gallery中查看
可以在Gallery中看到我们刚才创建的List Template.
我们可以点击并下载此List Template,把它保存到我们指定的文件夹中,此文件会保存为.stp格式
把此文件的后缀名改为cab,然后解压,可以看到里面其实就是一个manifest.xml文件,使用VS2010打开此文件查看,可以看到此文件的基本结构如下
可以看到,相应段的内容与我们上篇文件的Schema.xml的内容很相似,把它Copy到我们自定义的Shcema.xml,然后我们就可以以此为基础进行修改了。
注意,里面的内容不能照抄照搬,要结合你自己的需求以及参照相关样本边试边改。
二、使用Site Template
我们也可以通过Site Template来帮助我们创建Schema.xml,步骤如下
首先也是通过SiteAction进入Site Settings界面
然后选择Save Site as Template
输入必要的参数,然后保存
系统会提示成功,并提示你是否进入Solution Gallery
进入Solution Gallery可以看到我们创建的Template,选择并下载保存它
与List Template不一样的是,Site Template会保存为.wsp格式
把Site Template下载到指定的文件夹后,打开我们的VS2010,新建一个项目,选择Import Sharepoin Solution Package模板
选择Farm模式
然后系统会提请你Import哪个Sharepoint Solution,请到你刚才保存Solution的文件夹,找到那个Solution并Import它
找到并选中你关心的那个List实例
系统会提示是否包括它自动探测到的相关联的其它内容,选择Yes
系统建立如下
找到相关内容进行Copy与Paste,然后以此为基础创建自己的Schema.xml。