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

你可能感兴趣的:(SharePoint)