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 |