使用 CATEGORIES 元素定义分组工作项类型的一个或多个类别。
架构层次结构
CATEGORIES Element (CATEGORIES Definition Schema)
** CATEGORY Element (CATEGORIES Definition Schema)**
** DEFAULTWORKITEMTYPE Element (CATEGORIES Definition Schema)**
** WORKITEMTYPE Element (CATEGORIES Definition Schema)**
<xs:element name="CATEGORIES">
<xs:element name="CATEGORY" minOccurs="0" maxOccurs="unbounded">
<xs:element name="DEFAULTWORKITEMTYPE" type="WorkItemTypeRef" />
<xs:element name="WORKITEMTYPE" type="WorkItemTypeRef" minOccurs="0" maxOccurs="unbounded"/>
<CATEGORIES>
   <CATEGORY name="category display name" refname="category reference name">
      <DEFAULTWORKITEMTYPE name="work item type reference name" />
      <WORKITEMTYPE name="work item type reference name" />
   </CATEGORY>
</CATEGORIES>
特性和元素
以下部分说明了描述类别 XML 文件的特性和元素。
子元素和特性
| 元素 | 特性 | 说明 | 
|---|---|---|
| CATEGORIES | 
 | 在 XML 类别文件中的必需元素。 用于指定为团队项目定义的一个或多个 CATEGORY 元素的容器元素。 | 
| CATEGORY | 
 | 必需的 CATEGORIES 子元素。 指定已命名的类别组,其包含一个默认 DEFAULTWORKITEMTYPE 元素和零个或更多 WORKITEMTYPE 元素。 | 
| 
 | name | 必选的 CATEGORY 特性。 特性类型为 typelib:FriendlyName。 指定类别的显示名称。 必须在 1 到 254 个字符之间并且在团队项目内是唯一的。 | 
| 
 | refname | 必选的 CATEGORY 特性。 特性类型为 typelib:ReferenceName。 有关更多信息,请参见工作项跟踪对象的命名约定。 | 
| DEFAULTWORKITEMTYPE | 
 | 必需的 CATEGORY 元素。 指定要标记为属于命名的类别并作为类别的默认类型使用的工作项类型,。 | 
| 
 | name | 必选的 DEFAULTWORKITEMTYPE 特性。 特性类型为 WorkItemTypeRef。 指定团队项目的有效工作项类型的引用名称,该类型将用作类别的默认类型。 | 
| WORKITEMTYPE | 
 | 可选的 CATEGORY 元素。 指定标记为属于已命名类别的工作项类型。 | 
| 
 | name | 必选的 WORKITEMTYPE 特性。 特性类型为 WorkItemTypeRef。 指定团队项目的有效工作项类型的引用名称,该类型属于已命名的类别。 | 
备注
CATEGORIES 是类别架构的根元素。
类别是在团队项目存储和使用的 CATEGORY 元素 CATEGORIES 集中定义的。 每个 CATEGORIES 元素必须至少定义一个 CATEGORY 元素。
类别不能为空。 每个 CATEGORY 元素必须至少定义一个 DEFAULTWORKITEMTYPE 或 WORKITEMTYPE 元素。
每个类别都具有一个友好名称和一个引用名称,它们在团队项目中必须是唯一的。 每个类别友好名称必须满足以下要求:
- 名称最多可以有 254 个 Unicode 字符。 
- 名称不能是空的。 
- 名称不能有前导空白或尾随空白。 
- 名称不能包含反斜杠 (\) 字符。 
- 名称不能包含两个连续空格。 
类别友好名称未本地化,无法成为标记,而工作项类型名称已本地化,可以成为标记。
对于引用命名约定,请参见工作项跟踪对象的命名约定。
示例
以下示例指定一个可以导入团队项目的类别 XML 文件。 它定义了四个类别,并为每个类别仅指定了一个默认工作项类型。
<?xml version="1.0" encoding="utf-8"?>
<cat:CATEGORIES xmlns:cat="https://schemas.microsoft.com/VisualStudio/2008/workitemtracking/categories">
   <CATEGORY refname="Microsoft.BugCategory" name="Bug Category">
      <DEFAULTWORKITEMTYPE name="Bug" />
   </CATEGORY>
   <CATEGORY refname="Microsoft.RequirementCategory" name="Requirement Category">
      <DEFAULTWORKITEMTYPE name="User Story" />
   </CATEGORY>
   <CATEGORY refname="Microsoft.SharedStepCategory" name="Shared Step Category">
      <DEFAULTWORKITEMTYPE name="Shared Steps" />
   </CATEGORY>
   <CATEGORY refname="Microsoft.TestCaseCategory" name="Test Case Category">
      <DEFAULTWORKITEMTYPE name="Test Case" />
   </CATEGORY>
</cat:CATEGORIES>
元素信息
| 命名空间 | https://schemas.microsoft.com/VisualStudio/2008/workitemtracking/categories | 
| 架构名称 | 类别 | 
| 验证文件 | Categories.xsd | 
| 元素类型 | CATEGORIES、CATEGORY、DEFAULTWORKITEMTYPE、WORKITEMTYPE | 
| 是否可以为空 | 是 | 
类别架构定义
下面的代码列出类别工作项跟踪对象的定义:
<?xml version="1.0" encoding="utf-8" ?> 
<xs:schema targetNamespace="https://schemas.microsoft.com/VisualStudio/2008/workitemtracking/categories"
  elementFormDefault="unqualified"
  attributeFormDefault="unqualified"
  xmlns="https://schemas.microsoft.com/VisualStudio/2008/workitemtracking/categories"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:typelib="https://schemas.microsoft.com/VisualStudio/2005/workitemtracking/typelib">  
  <xs:import namespace="https://schemas.microsoft.com/VisualStudio/2009/workitemtracking/typelib"/> 
  <xs:element name="CATEGORIES">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="CATEGORY" minOccurs="0" maxOccurs="unbounded">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="DEFAULTWORKITEMTYPE" type="WorkItemTypeRef" />
              <xs:element name="WORKITEMTYPE" type="WorkItemTypeRef" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
            <xs:attribute name="refname" type="typelib:ReferenceName" use="required"/>
            <xs:attribute name="name" type="typelib:FriendlyName" use="required"/>
          </xs:complexType>
          <xs:unique name="WorkItemTypeName">
            <xs:selector xpath="*"/>
            <xs:field xpath="@name"/>
          </xs:unique>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
    <xs:unique name="CategoryRefName">
      <xs:selector xpath="CATEGORY"/>
      <xs:field xpath="@refname"/>
    </xs:unique>
    <xs:unique name="CategoryName">
      <xs:selector xpath="CATEGORY"/>
      <xs:field xpath="@name"/>
    </xs:unique>
  </xs:element>
  <xs:complexType name="WorkItemTypeRef">
    <xs:attribute name="name" type="typelib:NonEmptyPlainConstant" use="required"/>
  </xs:complexType>
</xs:schema>