Updated with comments
[people/mcb30/basetools.git] / Conf / XMLSchema / FrameworkHeaders.xsd
1 <?xml version="1.0" encoding="UTF-8"?>\r
2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.TianoCore.org/2007/Edk2.1" xmlns="http://www.TianoCore.org/2007/Edk2.1">\r
3   <!--\r
4     Filename: FrameworkHeaders.xsd\r
5     \r
6     Copyright (c) 2007, Intel Corp.\r
7 \r
8     All rights reserved. This program and the accompanying materials\r
9     are licensed and made available under the terms and conditions of the BSD License\r
10     which may be found at http://opensource.org/licenses/bsd-license.php\r
11     \r
12     THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
13     WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
14     \r
15     APPROVED: 05-Jun-2007\r
16   -->\r
17   <xs:include schemaLocation="FrameworkDataElements.xsd"/>\r
18   <xs:element name="FdbHeader">\r
19     <xs:annotation>\r
20       <xs:documentation xml:lang="en">This is the header for the Framework Package Database (DB) file.</xs:documentation>\r
21       <xs:documentation xml:lang="en">The Guid MUST change if backward compatibility breaks caused by a new release of XML Schema.</xs:documentation>\r
22       <xs:documentation xml:lang="en">The Version will change if a minor change to XML Schema has been made, but backward compatiblity is maintained.</xs:documentation>\r
23     </xs:annotation>\r
24     <xs:complexType>\r
25       <xs:sequence>\r
26         <xs:element minOccurs="1" maxOccurs="1" name="DatabaseName" type="UiNameType" fixed="FrameworkDatabase"/>\r
27         <xs:element minOccurs="1" maxOccurs="1" name="GuidValue" type="GuidType" default="DD6913E0-3E4E-4B83-8838-57EE7FB71DD1"/>\r
28         <xs:element minOccurs="1" maxOccurs="1" ref="Version"/>\r
29         <xs:element minOccurs="1" maxOccurs="1" ref="Abstract"/>\r
30         <xs:element minOccurs="1" maxOccurs="1" ref="Description"/>\r
31         <xs:element minOccurs="1" maxOccurs="1" ref="Copyright"/>\r
32         <xs:element minOccurs="1" maxOccurs="1" ref="License"/>\r
33         <xs:element minOccurs="1" maxOccurs="1" name="Specification" type="Sentence" default="FRAMEWORK_PACKAGING_SPECIFICATION   0x00090000"/>\r
34       </xs:sequence>\r
35     </xs:complexType>\r
36   </xs:element>\r
37   <xs:element name="FarHeader">\r
38     <xs:annotation>\r
39       <xs:documentation xml:lang="en">This is the header for the Framework Archive Manifest file.</xs:documentation>\r
40     </xs:annotation>\r
41     <xs:complexType>\r
42       <xs:sequence>\r
43         <xs:element minOccurs="1" maxOccurs="1" name="FarName" type="UiNameType"/>\r
44         <xs:element minOccurs="1" maxOccurs="1" name="GuidValue" type="GuidType"/>\r
45         <xs:element minOccurs="1" maxOccurs="1" ref="Version"/>\r
46         <xs:element minOccurs="1" maxOccurs="1" ref="Abstract"/>\r
47         <xs:element minOccurs="1" maxOccurs="1" ref="Description"/>\r
48         <xs:element minOccurs="1" maxOccurs="1" ref="Copyright"/>\r
49         <xs:element minOccurs="1" maxOccurs="1" ref="License"/>\r
50         <xs:element minOccurs="1" maxOccurs="1" name="Specification" type="Sentence" default="FRAMEWORK_PACKAGING_SPECIFICATION   0x00090000"/>\r
51       </xs:sequence>\r
52     </xs:complexType>\r
53   </xs:element>\r
54   <xs:element name="MsaHeader">\r
55     <xs:annotation>\r
56       <xs:documentation xml:lang="en">This header is for the Module Surface Area Description (MSA) files</xs:documentation>\r
57       <xs:documentation xml:lang="en">The Guid MUST change if the Module changes break backward compatibility.</xs:documentation>\r
58       <xs:documentation xml:lang="en">The Version MUST change if the Module changes, however, backward compatiblity is maintained.</xs:documentation>\r
59     </xs:annotation>\r
60     <xs:complexType>\r
61       <xs:sequence>\r
62         <xs:element minOccurs="1" maxOccurs="1" name="ModuleName" type="UiNameType"/>\r
63         <xs:element minOccurs="1" maxOccurs="1" ref="ModuleType"/>\r
64         <xs:element minOccurs="1" maxOccurs="1" name="GuidValue" type="GuidType"/>\r
65         <xs:element minOccurs="1" maxOccurs="1" ref="Version"/>\r
66         <xs:element minOccurs="1" maxOccurs="1" ref="Abstract"/>\r
67         <xs:element minOccurs="1" maxOccurs="1" ref="Description"/>\r
68         <xs:element minOccurs="1" maxOccurs="1" ref="Copyright"/>\r
69         <xs:element minOccurs="1" maxOccurs="1" ref="License"/>\r
70         <xs:element minOccurs="1" maxOccurs="1" name="Specification" type="Sentence" default="FRAMEWORK_PACKAGING_SPECIFICATION   0x00090000"/>\r
71       </xs:sequence>\r
72     </xs:complexType>\r
73   </xs:element>\r
74   <xs:element name="SpdHeader">\r
75     <xs:annotation>\r
76       <xs:documentation xml:lang="en">This head is for the Surface Area Package Description file (SPD)</xs:documentation>\r
77       <xs:documentation xml:lang="en">The Guid MUST change when the contents of the file undergo MAJOR FUNCTIONALITY changes.</xs:documentation>\r
78       <xs:documentation xml:lang="en">The Version MUST change when the contents of the file undergo MINOR FUNCTIONALITY changes.</xs:documentation>\r
79     </xs:annotation>\r
80     <xs:complexType>\r
81       <xs:sequence>\r
82         <xs:element minOccurs="1" maxOccurs="1" name="PackageName" type="UiNameType"/>\r
83         <xs:element minOccurs="1" maxOccurs="1" name="GuidValue" type="GuidType"/>\r
84         <xs:element minOccurs="1" maxOccurs="1" ref="Version"/>\r
85         <xs:element minOccurs="1" maxOccurs="1" ref="Abstract"/>\r
86         <xs:element minOccurs="1" maxOccurs="1" ref="Description"/>\r
87         <xs:element minOccurs="1" maxOccurs="1" ref="Copyright"/>\r
88         <xs:element minOccurs="1" maxOccurs="1" ref="License"/>\r
89         <xs:element minOccurs="1" maxOccurs="1" name="Specification" type="Sentence" default="FRAMEWORK_PACKAGING_SPECIFICATION   0x00090000"/>\r
90       </xs:sequence>\r
91     </xs:complexType>\r
92   </xs:element>\r
93 </xs:schema>\r