在上一篇我們大致分析了一個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。
