1 <?xml version="1.0" encoding="UTF-8"?>
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">
4 Filename: SurfaceArea.xsd
6 Copyright (c) 2006, Intel Corp.
7 All rights reserved. This program and the accompanying materials
8 are licensed and made available under the terms and conditions of the BSD License
9 which may be found at http://opensource.org/licenses/bsd-license.php
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 <xs:include schemaLocation="FrameworkHeaders.xsd"/>
17 <xs:include schemaLocation="FrameworkDataElements.xsd"/>
18 <xs:include schemaLocation="FrameworkPlatformDataElements.xsd"/>
20 <xs:documentation xml:lang="en">This describes the valid content of a FrameworkDatabase (DB) File.</xs:documentation>
22 <xs:element name="FrameworkDatabase">
25 <xs:element minOccurs="1" maxOccurs="1" ref="FdbHeader"/>
26 <xs:element minOccurs="1" maxOccurs="1" ref="PackageList"/>
27 <xs:element minOccurs="0" maxOccurs="1" ref="PlatformList"/>
28 <xs:element minOccurs="0" maxOccurs="1" ref="FarList"/>
29 <xs:element minOccurs="0" maxOccurs="unbounded" ref="UserExtensions"/>
34 <xs:documentation xml:lang="en">This describes the valid content of a Framework Platform Description (FPD) File.</xs:documentation>
36 <xs:element name="PlatformSurfaceArea">
39 <xs:element minOccurs="1" maxOccurs="1" ref="PlatformHeader"/>
40 <!-- This section will be for new definitions of how we put together the Framework Binary Images -->
41 <xs:element minOccurs="0" maxOccurs="1" ref="PlatformDefinitions"/>
42 <!-- The Flash section is the legacy implementation of Flash -->
43 <xs:element minOccurs="0" maxOccurs="1" ref="Flash"/>
44 <xs:element minOccurs="0" maxOccurs="1" ref="FrameworkModules"/>
45 <xs:element minOccurs="0" maxOccurs="1" ref="DynamicPcdBuildDefinitions"/>
46 <xs:element minOccurs="0" maxOccurs="1" ref="BuildOptions"/>
47 <xs:element minOccurs="0" maxOccurs="unbounded" ref="UserExtensions"/>
52 <xs:documentation xml:lang="en">This describes the valid content for a Module Surface Area Description (MSA) file.</xs:documentation>
54 <xs:element name="ModuleSurfaceArea">
57 <xs:element minOccurs="1" maxOccurs="1" ref="MsaHeader"/>
58 <xs:element minOccurs="1" maxOccurs="1" ref="ModuleDefinitions"/>
59 <xs:element minOccurs="0" maxOccurs="1" ref="LibraryClassDefinitions"/>
60 <xs:element minOccurs="0" maxOccurs="1" ref="SourceFiles"/>
61 <xs:element minOccurs="0" maxOccurs="1" ref="NonProcessedFiles"/>
62 <xs:element minOccurs="0" maxOccurs="1" ref="PackageDependencies"/>
63 <xs:element minOccurs="0" maxOccurs="1" ref="Protocols"/>
64 <xs:element minOccurs="0" maxOccurs="1" ref="Events"/>
65 <xs:element minOccurs="0" maxOccurs="1" ref="Hobs"/>
66 <xs:element minOccurs="0" maxOccurs="1" ref="PPIs"/>
67 <xs:element minOccurs="0" maxOccurs="1" ref="Variables"/>
68 <xs:element minOccurs="0" maxOccurs="1" ref="BootModes"/>
69 <xs:element minOccurs="0" maxOccurs="1" ref="SystemTables"/>
70 <xs:element minOccurs="0" maxOccurs="1" ref="DataHubs"/>
71 <xs:element minOccurs="0" maxOccurs="1" ref="HiiPackages"/>
72 <xs:element minOccurs="0" maxOccurs="1" ref="Guids"/>
73 <xs:element minOccurs="0" maxOccurs="1" ref="Externs"/>
74 <xs:element minOccurs="0" maxOccurs="1" ref="PcdCoded"/>
75 <xs:element minOccurs="0" maxOccurs="1" ref="ModuleBuildOptions"/>
76 <xs:element minOccurs="0" maxOccurs="unbounded" ref="UserExtensions"/>
81 <xs:documentation xml:lang="en">This describes the valid content for a Package Surface Area Description (SPD) file.</xs:documentation>
83 <xs:element name="PackageSurfaceArea">
86 <xs:element minOccurs="1" maxOccurs="1" ref="SpdHeader"/>
87 <xs:element minOccurs="1" maxOccurs="1" ref="PackageDefinitions"/>
88 <xs:element minOccurs="0" maxOccurs="1" ref="LibraryClassDeclarations"/>
89 <xs:element minOccurs="0" maxOccurs="1" ref="IndustryStdIncludes"/>
90 <xs:element minOccurs="0" maxOccurs="1" ref="MsaFiles"/>
91 <xs:element minOccurs="0" maxOccurs="1" ref="PackageHeaders"/>
92 <xs:element minOccurs="0" maxOccurs="1" ref="GuidDeclarations"/>
93 <xs:element minOccurs="0" maxOccurs="1" ref="ProtocolDeclarations"/>
94 <xs:element minOccurs="0" maxOccurs="1" ref="PpiDeclarations"/>
95 <xs:element minOccurs="0" maxOccurs="1" ref="PcdDeclarations"/>
96 <xs:element minOccurs="0" maxOccurs="unbounded" ref="UserExtensions"/>
100 <!-- This element is listed here, only because we are using elements from both the FrameworkDataElements and FrameworkPlatformDataElements files. -->
101 <xs:element name="PlatformDefinitions">
104 <!-- This is the list of ALL architectures that are supported by this Platform -->
105 <xs:element minOccurs="1" maxOccurs="1" name="SupportedArchitectures" type="ArchListType"/>
106 <xs:element minOccurs="1" maxOccurs="1" name="BuildTargets" type="BuildTargetList"/>
107 <xs:element default="UNIFIED" name="IntermediateDirectories" type="IntermediateOutputType"/>
108 <xs:element minOccurs="0" maxOccurs="1" name="OutputDirectory" type="xs:anyURI"/>
109 <xs:element minOccurs="0" maxOccurs="1" name="ForceDebugTarget" type="KeywordType"/>
110 <!-- SkuInfo is only defined if Sku enabled -->
111 <xs:element minOccurs="0" maxOccurs="1" ref="SkuInfo"/>
112 <xs:element minOccurs="0" maxOccurs="1" ref="FlashDeviceDefinitions"/>
113 <xs:element minOccurs="0" maxOccurs="1" ref="FfsFormatDeclarations"/>
114 <xs:element minOccurs="0" maxOccurs="1" name="ClonedFrom">
117 <xs:element minOccurs="1" maxOccurs="unbounded" name="Cloned">
120 <xs:element minOccurs="1" maxOccurs="1" name="PlatformGuid" type="GuidType"/>
121 <xs:element minOccurs="1" maxOccurs="1" name="PlatformVersion" type="VersionDataType"/>
123 <!-- The Id is a number used to track heritage the first entry will be 0 and increment from then on. -->
124 <xs:attribute name="Id" type="xs:nonNegativeInteger" use="required"/>
125 <!-- If the original module was installed from a FAR, track the FAR it came from. -->
126 <xs:attribute name="FarGuid" type="GuidType" use="optional"/>