<?xml version="1.0" encoding="UTF-8"?> | |
<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"> | |
<!-- | |
Filename: SurfaceArea.xsd | |
Copyright (c) 2006, Intel Corp. | |
All rights reserved. This program and the accompanying materials | |
are licensed and made available under the terms and conditions of the BSD License | |
which may be found at http://opensource.org/licenses/bsd-license.php | |
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
APPROVED: 14-Jun-2006 | |
--> | |
<xs:include schemaLocation="FrameworkHeaders.xsd"/> | |
<xs:include schemaLocation="FrameworkDataElements.xsd"/> | |
<xs:include schemaLocation="FrameworkPlatformDataElements.xsd"/> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">This describes the valid content of a FrameworkDatabase (DB) File.</xs:documentation> | |
</xs:annotation> | |
<xs:element name="FrameworkDatabase"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" ref="FdbHeader"/> | |
<xs:element minOccurs="1" maxOccurs="1" ref="PackageList"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="PlatformList"/> | |
<xs:element minOccurs="1" maxOccurs="1" ref="FarList"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="UserExtensions"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">This describes the valid content of a Framework Platform Description (FPD) File.</xs:documentation> | |
</xs:annotation> | |
<xs:element name="PlatformSurfaceArea"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" ref="PlatformHeader"/> | |
<!-- This section will be for new definitions of how we put together the Framework Binary Images --> | |
<xs:element minOccurs="0" maxOccurs="1" ref="PlatformDefinitions"/> | |
<!-- The Flash section is the legacy implementation of Flash --> | |
<xs:element minOccurs="0" maxOccurs="1" ref="Flash"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="FrameworkModules"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="DynamicPcdBuildDefinitions"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="BuildOptions"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="UserExtensions"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">This describes the valid content for a Module Surface Area Description (MSA) file.</xs:documentation> | |
</xs:annotation> | |
<xs:element name="ModuleSurfaceArea"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" ref="MsaHeader"/> | |
<xs:element minOccurs="1" maxOccurs="1" ref="ModuleDefinitions"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="LibraryClassDefinitions"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="SourceFiles"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="PackageDependencies"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="Protocols"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="Events"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="Hobs"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="PPIs"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="Variables"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="BootModes"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="SystemTables"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="DataHubs"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="HiiPackages"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="Guids"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="Externs"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="PcdCoded"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="ModuleBuildOptions"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="UserExtensions"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">This describes the valid content for a Package Surface Area Description (SPD) file.</xs:documentation> | |
</xs:annotation> | |
<xs:element name="PackageSurfaceArea"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" ref="SpdHeader"/> | |
<xs:element minOccurs="1" maxOccurs="1" ref="PackageDefinitions"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="LibraryClassDeclarations"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="IndustryStdIncludes"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="MsaFiles"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="PackageHeaders"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="GuidDeclarations"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="ProtocolDeclarations"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="PpiDeclarations"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="PcdDeclarations"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="UserExtensions"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<!-- This element is listed here, only because we are using elements from both the FrameworkDataElements and FrameworkPlatformDataElements files. --> | |
<xs:element name="PlatformDefinitions"> | |
<xs:complexType> | |
<xs:sequence> | |
<!-- This is the list of ALL architectures that are supported by this Platform --> | |
<xs:element minOccurs="1" maxOccurs="1" name="SupportedArchitectures" type="ArchListType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="BuildTargets" type="BuildTargetList"/> | |
<xs:element default="UNIFIED" name="IntermediateDirectories" type="IntermediateOutputType"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="OutputDirectory" type="xs:anyURI"/> | |
<!-- SkuInfo is only defined if Sku enabled --> | |
<xs:element minOccurs="0" maxOccurs="1" ref="SkuInfo"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="FlashDeviceDefinitions"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="FfsFormatDeclarations"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="ClonedFrom"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" name="Cloned"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="PlatformGuid" type="GuidType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="PlatformVersion" type="VersionDataType"/> | |
</xs:sequence> | |
<!-- The Id is a number used to track heritage the first entry will be 0 and increment from then on. --> | |
<xs:attribute name="Id" type="xs:nonNegativeInteger" use="required"/> | |
<!-- If the original module was installed from a FAR, track the FAR it came from. --> | |
<xs:attribute name="FarGuid" type="GuidType" use="optional"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
</xs:schema> |