SharePoint Portal 2003中Document Library的List Schema的结构研究

文档库是比较有代表性的列表, 研究一下它的Schema, 应该对其他的列表都有一定的指导意义. 文档库的Schema的位置在:

C:\Program Files\Common Files\Microsoft Shared\web server extensions\TEMPLATE\TEMPLATE\1033\SPS\LISTS\DOCLIB\SCHEMA.XML

 

打开这个文件发现比较乱, 我整理了一下, 抓在Notepad++中的截图来说明这个文档的结构. 让我们开始吧.

 

顶层

=========

1. 顶级结构

3-14-2010 10-56-19 PM

 

第二层

=========

1. List->MetaData->Fields

3-14-2010 10-58-28 PM

 

2. List->Metadata->Views

3-14-2010 11-00-27 PM

 

再往里面就都是用CAML拼接页面元素的部分了.

 

其中涉及到的比较重要的CAML元素介绍如下:

1. FieldSwitch

下面的例子定义了Note field的两种不同的渲染模式, 取决于这个field是否有rich text formatting.

<RenderPattern Name="DisplayPattern" DisplayName="DisplayPattern">
  <FieldSwitch>
    <Expr>
      <Property Select="RichText" />
    </Expr>
    <Case Value="TRUE">
      <Column AutoHyperLinkNoEncoding="TRUE" />
    </Case>
    <Default>
      <Column HTMLEncode="TRUE" AutoHyperLink="TRUE"
         AutoNewLine="TRUE" />
    </Default>
  </FieldSwitch>
</RenderPattern>

 

2. GetVar

下面的例子使用GetVar元素来返回当前的filtering信息, 用来确定在上面的列表中的工具栏里下一个显示什么.

<Switch>
  <Expr>
    <GetVar Name="Filter" />
  </Expr>
  <Case Value="1">
    <HTML>Hide Filter Choices</HTML>
  </Case>
  <Default>
    <Switch>
      <Expr>
        <GetVar Name="FilterField1" />
      </Expr>
      <Case Value="">
        <HTML>Filter</HTML>
      </Case>
      <Default>
        <HTML>Change Filter</HTML>
      </Default>
    </Switch>
  </Default>
</Switch>

 

未完.....

 

Schema.xml

http://msdn.microsoft.com/en-us/library/ms459356.aspx

FieldSwitch Element (View)

http://msdn.microsoft.com/en-us/library/ms412771.aspx

GetVar Element (View)

http://msdn.microsoft.com/en-us/library/ms429081.aspx

posted on 2010-03-15 00:16  中道学友  阅读(438)  评论(0编辑  收藏  举报

导航

技术追求准确,态度积极向上