1.概述
在WSS2.0中,一个List是由应用于List的每个列表项的一套所需字段定义的.拥有单一一套字段意味着每个列表项和它的位置紧密关联.在某个位置的所有列表项只能和那些为List或文档库所定义的列相关联.在WSS3.0中,List以content types的形式包含了多重的架构.Content Type提供了封装数据schema以及使之独立于在sharepoint 站点上的位置.Conent Type 帮助用户组织存储在SharePoint站点上的文档和其它资料.对于开发者,一个content type提供了一种定义和使用meatadata以使每个列表项目的类型彼此区分的方法.一个content type是一组meatadata和设置的集合,它们被应用到某一类的列表内容上.例如,一个称为Specifications的content type 可以包含这些列,比如Project ,Priority, Developer 和testLeader.一个称为contract的Content tye使用诸如Approver,Signed和Amount字段.即使有这些差别,specifications和contracts也可以在同一个List或文档库中列示出来.
因为content type 独立于特定的List或文档库,一个content type可以在多个sharepoint 站点上的lists中使用.这样可以使存储在Site collection上的内容类型更集中的加以定义和管理.一个Content type可以通过定义类似workflow和自定义属性得到扩展.
2.File Formats:
Content types独立于文件格式.在文档库中,可以为一个content type 指定一个文档模板.当用户创建这种类型的文档时,WSS会使用这个模板.用户仍可以上载一个基于不同模板的文档到文档库.
例如,假定创建一个content type,它被应用于一个工程所需要的文档,.这个Project Content type可以应用于任何文件格式,包括含有工程规划信息的Word文档,含有工程预算的Excel文档,用于计划的Microsoft project 文档,以及存储工程队成员名称和角色的Sharepoint列表项.所有的这些文件和列表项都可以分配给Project content type.
3.Site and List Content Types
在site level上创建的content type称为site content type.任何子站点可以继承一个content type.如果一个content tye是在site collection的根站点上创建的,那么其下的任何一个站点都可以继承这个content type.
当一个content tye加入list后,WSS在list中存储这个content tye的一个本地拷贝.这个本地实例被称为一个list content type,它仅仅被应用于所拷贝到的那个列表.正因为如此一个list content type实例的改变可以不影响到site content type本身.
4.Creating Content Types Based on Other Content Types
可以基于其它的content type 创建content types.利用这种关系,可以创建一个包含有其它不同的content type 属性的通用content type,然后再从这些通用的content type 继承产生更加具体的的content type.在site level下,可以创建基于其它site content type的 site content .在list level,可以创建基于其它site content type的list content.
可以通过增,删,改列的方式编辑从另一个site content type继承的site content type的属性
在WSS中base content type层次结构是与所创建的类型相对应的.当创建一个列表时,WSS就基于适当的base site content type的list content type.
5. Extending Content Types
每个content type都有一个XML文件集合,第三方可以用来保存客户化的设置信息.开发者可以通过使用XML文件扩展content tye的定义和功能.在一个site content type 中包含的XML文件被拷贝到任何一个子类型中去.如果修改了一个XML文件然后执行下推操作,则在任何一个子content type中的整个XML文件将全部被覆盖.