Removed Requirement for having a FarList element in the FrameworkDatabase.db file...
[mirror_edk2.git] / Tools / XMLSchema / SurfaceArea.xsd
CommitLineData
878ddf1f 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/2006/Edk2.0" xmlns="http://www.TianoCore.org/2006/Edk2.0">\r
92fb4401 3 <!--\r
878ddf1f 4 Filename: SurfaceArea.xsd\r
5 \r
6 Copyright (c) 2006, Intel Corp.\r
7 All rights reserved. This program and the accompanying materials\r
8 are licensed and made available under the terms and conditions of the BSD License\r
9 which may be found at http://opensource.org/licenses/bsd-license.php\r
10 \r
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13 \r
92fb4401 14 APPROVED: 14-Jun-2006\r
878ddf1f 15 -->\r
92fb4401 16 <xs:include schemaLocation="FrameworkHeaders.xsd"/>\r
17 <xs:include schemaLocation="FrameworkDataElements.xsd"/>\r
18 <xs:include schemaLocation="FrameworkPlatformDataElements.xsd"/>\r
19 <xs:annotation>\r
20 <xs:documentation xml:lang="en">This describes the valid content of a FrameworkDatabase (DB) File.</xs:documentation>\r
21 </xs:annotation>\r
22 <xs:element name="FrameworkDatabase">\r
23 <xs:complexType>\r
24 <xs:sequence>\r
25 <xs:element minOccurs="1" maxOccurs="1" ref="FdbHeader"/>\r
26 <xs:element minOccurs="1" maxOccurs="1" ref="PackageList"/>\r
27 <xs:element minOccurs="0" maxOccurs="1" ref="PlatformList"/>\r
8958113b 28 <xs:element minOccurs="0" maxOccurs="1" ref="FarList"/>\r
92fb4401 29 <xs:element minOccurs="0" maxOccurs="unbounded" ref="UserExtensions"/>\r
30 </xs:sequence>\r
31 </xs:complexType>\r
32 </xs:element>\r
33 <xs:annotation>\r
34 <xs:documentation xml:lang="en">This describes the valid content of a Framework Platform Description (FPD) File.</xs:documentation>\r
35 </xs:annotation>\r
36 <xs:element name="PlatformSurfaceArea">\r
37 <xs:complexType>\r
38 <xs:sequence>\r
39 <xs:element minOccurs="1" maxOccurs="1" ref="PlatformHeader"/>\r
40 <!-- This section will be for new definitions of how we put together the Framework Binary Images -->\r
41 <xs:element minOccurs="0" maxOccurs="1" ref="PlatformDefinitions"/>\r
42 <!-- The Flash section is the legacy implementation of Flash -->\r
43 <xs:element minOccurs="0" maxOccurs="1" ref="Flash"/>\r
44 <xs:element minOccurs="0" maxOccurs="1" ref="FrameworkModules"/>\r
45 <xs:element minOccurs="0" maxOccurs="1" ref="DynamicPcdBuildDefinitions"/>\r
46 <xs:element minOccurs="0" maxOccurs="1" ref="BuildOptions"/>\r
47 <xs:element minOccurs="0" maxOccurs="unbounded" ref="UserExtensions"/>\r
48 </xs:sequence>\r
49 </xs:complexType>\r
50 </xs:element>\r
51 <xs:annotation>\r
52 <xs:documentation xml:lang="en">This describes the valid content for a Module Surface Area Description (MSA) file.</xs:documentation>\r
53 </xs:annotation>\r
54 <xs:element name="ModuleSurfaceArea">\r
55 <xs:complexType>\r
56 <xs:sequence>\r
57 <xs:element minOccurs="1" maxOccurs="1" ref="MsaHeader"/>\r
58 <xs:element minOccurs="1" maxOccurs="1" ref="ModuleDefinitions"/>\r
59 <xs:element minOccurs="0" maxOccurs="1" ref="LibraryClassDefinitions"/>\r
60 <xs:element minOccurs="0" maxOccurs="1" ref="SourceFiles"/>\r
61 <xs:element minOccurs="0" maxOccurs="1" ref="PackageDependencies"/>\r
62 <xs:element minOccurs="0" maxOccurs="1" ref="Protocols"/>\r
63 <xs:element minOccurs="0" maxOccurs="1" ref="Events"/>\r
64 <xs:element minOccurs="0" maxOccurs="1" ref="Hobs"/>\r
65 <xs:element minOccurs="0" maxOccurs="1" ref="PPIs"/>\r
66 <xs:element minOccurs="0" maxOccurs="1" ref="Variables"/>\r
67 <xs:element minOccurs="0" maxOccurs="1" ref="BootModes"/>\r
68 <xs:element minOccurs="0" maxOccurs="1" ref="SystemTables"/>\r
69 <xs:element minOccurs="0" maxOccurs="1" ref="DataHubs"/>\r
70 <xs:element minOccurs="0" maxOccurs="1" ref="HiiPackages"/>\r
71 <xs:element minOccurs="0" maxOccurs="1" ref="Guids"/>\r
72 <xs:element minOccurs="0" maxOccurs="1" ref="Externs"/>\r
73 <xs:element minOccurs="0" maxOccurs="1" ref="PcdCoded"/>\r
74 <xs:element minOccurs="0" maxOccurs="1" ref="ModuleBuildOptions"/>\r
75 <xs:element minOccurs="0" maxOccurs="unbounded" ref="UserExtensions"/>\r
76 </xs:sequence>\r
77 </xs:complexType>\r
78 </xs:element>\r
79 <xs:annotation>\r
80 <xs:documentation xml:lang="en">This describes the valid content for a Package Surface Area Description (SPD) file.</xs:documentation>\r
81 </xs:annotation>\r
82 <xs:element name="PackageSurfaceArea">\r
83 <xs:complexType>\r
84 <xs:sequence>\r
85 <xs:element minOccurs="1" maxOccurs="1" ref="SpdHeader"/>\r
86 <xs:element minOccurs="1" maxOccurs="1" ref="PackageDefinitions"/>\r
87 <xs:element minOccurs="0" maxOccurs="1" ref="LibraryClassDeclarations"/>\r
88 <xs:element minOccurs="0" maxOccurs="1" ref="IndustryStdIncludes"/>\r
89 <xs:element minOccurs="0" maxOccurs="1" ref="MsaFiles"/>\r
90 <xs:element minOccurs="0" maxOccurs="1" ref="PackageHeaders"/>\r
91 <xs:element minOccurs="0" maxOccurs="1" ref="GuidDeclarations"/>\r
92 <xs:element minOccurs="0" maxOccurs="1" ref="ProtocolDeclarations"/>\r
93 <xs:element minOccurs="0" maxOccurs="1" ref="PpiDeclarations"/>\r
94 <xs:element minOccurs="0" maxOccurs="1" ref="PcdDeclarations"/>\r
95 <xs:element minOccurs="0" maxOccurs="unbounded" ref="UserExtensions"/>\r
96 </xs:sequence>\r
97 </xs:complexType>\r
98 </xs:element>\r
99 <!-- This element is listed here, only because we are using elements from both the FrameworkDataElements and FrameworkPlatformDataElements files. -->\r
100 <xs:element name="PlatformDefinitions">\r
101 <xs:complexType>\r
102 <xs:sequence>\r
103 <!-- This is the list of ALL architectures that are supported by this Platform -->\r
104 <xs:element minOccurs="1" maxOccurs="1" name="SupportedArchitectures" type="ArchListType"/>\r
105 <xs:element minOccurs="1" maxOccurs="1" name="BuildTargets" type="BuildTargetList"/>\r
106 <xs:element default="UNIFIED" name="IntermediateDirectories" type="IntermediateOutputType"/>\r
107 <xs:element minOccurs="0" maxOccurs="1" name="OutputDirectory" type="xs:anyURI"/>\r
108 <!-- SkuInfo is only defined if Sku enabled -->\r
109 <xs:element minOccurs="0" maxOccurs="1" ref="SkuInfo"/>\r
110 <xs:element minOccurs="0" maxOccurs="1" ref="FlashDeviceDefinitions"/>\r
111 <xs:element minOccurs="0" maxOccurs="1" ref="FfsFormatDeclarations"/>\r
112 <xs:element minOccurs="0" maxOccurs="1" name="ClonedFrom">\r
113 <xs:complexType>\r
0850ca3b 114 <xs:sequence>\r
92fb4401 115 <xs:element minOccurs="1" maxOccurs="unbounded" name="Cloned">\r
116 <xs:complexType>\r
117 <xs:sequence>\r
118 <xs:element minOccurs="1" maxOccurs="1" name="PlatformGuid" type="GuidType"/>\r
119 <xs:element minOccurs="1" maxOccurs="1" name="PlatformVersion" type="VersionDataType"/>\r
120 </xs:sequence>\r
9ede7fad 121 <!-- The Id is a number used to track heritage the first entry will be 0 and increment from then on. -->\r
700c2b96 122 <xs:attribute name="Id" type="xs:nonNegativeInteger" use="required"/>\r
9ede7fad 123 <!-- If the original module was installed from a FAR, track the FAR it came from. -->\r
124 <xs:attribute name="FarGuid" type="GuidType" use="optional"/>\r
92fb4401 125 </xs:complexType>\r
126 </xs:element>\r
0850ca3b 127 </xs:sequence>\r
92fb4401 128 </xs:complexType>\r
129 </xs:element>\r
130 </xs:sequence>\r
131 </xs:complexType>\r
132 </xs:element>\r
878ddf1f 133</xs:schema>\r