<?xml version="1.0" encoding="UTF-8"?> | |
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://www.TianoCore.org/2006/Edk2.0" targetNamespace="http://www.TianoCore.org/2006/Edk2.0"> | |
<!-- | |
Filename: FrameworkDataElements.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. | |
--> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> This schema defines EFI and Framework Data Elements </xs:documentation> | |
</xs:annotation> | |
<xs:include schemaLocation="NamingConvention.xsd"/> | |
<xs:include schemaLocation="FrameworkDataTypes.xsd"/> | |
<xs:include schemaLocation="FrameworkPlatformDataTypes.xsd"/> | |
<xs:include schemaLocation="FrameworkDataAttributes.xsd"/> | |
<xs:element name="Abstract" type="Sentence"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">Abstract is valid for all Description Files</xs:documentation> | |
<xs:documentation xml:lang="en">This section is required. This is a single sentence to describe the module and will be used in sample files as the abstract data in the header comment section.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="AntTask"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">This is a sub-element of UserDefinedAntTasks</xs:documentation> | |
<xs:documentation xml:lang="en">Define a file that contains one or more ant tasks that are to be added into or replacing of sequences of build steps. These files will be called using the ant-call task on a file name. These files must be valid apache-ant formatted task files.</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" maxOccurs="1" name="AntCmdOptions" type="xs:normalizedString"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="Filename" type="PathAndFilename"/> | |
</xs:sequence> | |
<xs:attribute name="Id" type="xs:int" use="required"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="BootModes"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">BootModes is valid for all Description Files</xs:documentation> | |
<xs:documentation xml:lang="en">This is a list of BootModes Supported by the Module</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" name="BootMode"> | |
<xs:complexType> | |
<xs:sequence minOccurs="0"> | |
<xs:element name="HelpText" type="Paragraph"/> | |
</xs:sequence> | |
<xs:attributeGroup ref="BootModeAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="BuildOptions"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">BuildOptions is valid for FPD files.</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" maxOccurs="1" ref="UserDefinedAntTasks"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="Options"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="UserExtensions"/> | |
<!-- The following sections are legacy and will be removed --> | |
<xs:element minOccurs="0" maxOccurs="unbounded" name="Ffs"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" maxOccurs="unbounded" name="Attribute"> | |
<xs:complexType> | |
<xs:attribute name="Name" type="C_NameType"/> | |
<xs:attribute name="Value" type="xs:string"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element minOccurs="0" maxOccurs="1" name="Sections"> | |
<xs:complexType> | |
<xs:sequence minOccurs="1"> | |
<xs:element name="Section" minOccurs="0" maxOccurs="unbounded"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element ref=" Filenames " minOccurs="0"/> | |
<xs:element name="Args" type=" ArgsType " minOccurs="0"/> | |
<xs:element name="OutFile" type=" FileNameConvention " minOccurs="0"/> | |
<xs:element name="OutputFileExtension" type=" xs:string " minOccurs="0"/> | |
<xs:element name="ToolName" type=" ToolType " minOccurs="0"/> | |
</xs:sequence> | |
<xs:attributeGroup ref=" SectionsAttributes "/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Sections" minOccurs="0" maxOccurs="unbounded"> | |
<xs:complexType> | |
<xs:sequence minOccurs="1" maxOccurs="unbounded"> | |
<xs:element name="Section"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element ref=" Filenames " minOccurs="0"/> | |
<xs:element name="Args" type=" ArgsType " minOccurs="0"/> | |
<xs:element name="OutFile" type=" FileNameConvention " minOccurs="0"/> | |
<xs:element name="OutputFileExtension" type=" xs:string " minOccurs="0"/> | |
<xs:element name="ToolName" type=" ToolType " minOccurs="0"/> | |
</xs:sequence> | |
<xs:attributeGroup ref="SectionsAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
<xs:attributeGroup ref=" SectionsAttributes "/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
<xs:attributeGroup ref=" SectionsAttributes "/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
<xs:attribute name="FfsKey" type="KeywordType" use="optional"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Copyright" type="Paragraph"/> | |
<xs:element name="DataHubs"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">This is a list of DataHubRecord elements.</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" name="DataHubRecord"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="DataHubCName" type="C_NameType"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/> | |
</xs:sequence> | |
<xs:attributeGroup ref="DataHubAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="DefaultValue"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">The default setting of a PCD entry.</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="xs:normalizedString"/> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Description" type="Paragraph"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">This section is required for new modules and libraries and must contain more information than the Abstract.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="DynamicPcdBuildDefinitions"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">Child of Framework Platform Description (FPD)</xs:documentation> | |
<xs:documentation xml:lang="en">FPD uses this PCD information for Dynamic PCDs Only</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" name="PcdBuildData"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="Token" type="TokenDataType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="TokenSpaceGuidCName" type="C_NameType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDataTypes"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="MaxDatumSize" type="DatumSizeLimitation"/> | |
<xs:element minOccurs="1" maxOccurs="unbounded" name="SkuInfo"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="SkuId" type="xs:nonNegativeInteger"/> | |
<xs:choice> | |
<xs:group minOccurs="0" maxOccurs="1" ref="HiiEnable"/> | |
<xs:group minOccurs="0" maxOccurs="1" ref="VpdEnable"/> | |
<xs:group minOccurs="0" maxOccurs="1" ref="DefaultGroup"/> | |
</xs:choice> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
<xs:attributeGroup ref="DynamicBuildPcdAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Events"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">This is a list of MSA Events</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" maxOccurs="1" name="CreateEvents"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" name="EventTypes"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="EventType" type="EventTypes"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/> | |
</xs:sequence> | |
<xs:attributeGroup ref="EventAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element minOccurs="0" maxOccurs="1" name="SignalEvents"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">Module has an event that is waiting to be signaled. Event is named by GUID.</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" name="EventTypes"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="EventType" type="EventTypes"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/> | |
</xs:sequence> | |
<xs:attributeGroup ref="EventAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Externs"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">This is a child of MSA files.</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence minOccurs="1"> | |
<xs:element minOccurs="0" maxOccurs="1" name="PcdIsDriver" type="PcdDriverTypes"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="TianoR8FlashMap_h" type="xs:boolean" default="false"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" name="Specification" type="Sentence"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" name="Extern"> | |
<xs:complexType> | |
<xs:choice minOccurs="1" maxOccurs="1"> | |
<xs:sequence minOccurs="0" maxOccurs="1"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">Driver Module</xs:documentation> | |
</xs:annotation> | |
<xs:element minOccurs="0" maxOccurs="1" name="ModuleEntryPoint" type="C_NameType"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="ModuleUnloadImage" type="C_NameType"/> | |
</xs:sequence> | |
<xs:sequence minOccurs="0" maxOccurs="1"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">Library Module</xs:documentation> | |
</xs:annotation> | |
<xs:element minOccurs="0" maxOccurs="1" name="Constructor" type="C_NameType"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="Destructor" type="C_NameType"/> | |
</xs:sequence> | |
<xs:sequence minOccurs="0" maxOccurs="1"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">Allow multiple entries for DriverBinding, ComponentName, DriverConfig and DriverDiag elements. For ComponentName, DriverConfig and/or DriverDiag - you must have a 1:1 mapping to DriverBinding if the element is defined.</xs:documentation> | |
<xs:documentation xml:lang="en">Permit User Defined Extern Tags</xs:documentation> | |
</xs:annotation> | |
<xs:element minOccurs="1" maxOccurs="1" name="DriverBinding" type="C_NameType"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="ComponentName" type="C_NameType"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="DriverConfig" type="C_NameType"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="DriverDiag" type="C_NameType"/> | |
</xs:sequence> | |
<xs:sequence minOccurs="0" maxOccurs="1"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en"> Module Call Backs</xs:documentation> | |
</xs:annotation> | |
<xs:element minOccurs="0" maxOccurs="1" name="SetVirtualAddressMapCallBack" type="C_NameType"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="ExitBootServicesCallBack" type="C_NameType"/> | |
</xs:sequence> | |
</xs:choice> | |
<xs:attributeGroup ref="ExternAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Filename"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">Describe the valid content of a filename This should extend PathAndFilename - Variable names not allowed here!</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="PathAndFilename"> | |
<xs:attributeGroup ref="FilenameAttributes"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Filenames"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">This is a list of Filenames</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence minOccurs="1"> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="Filename"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="GuidDeclarations"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">This is a child of PackageSurfaceArea (SPD) </xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" name="Entry"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="GuidValue" type="GuidType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/> | |
</xs:sequence> | |
<xs:attributeGroup ref="GuidDeclarationAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Guids"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" name="GuidCNames"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">Describe the valid content of a GUID element in and MSA file.</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="GuidCName" type="C_NameType"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/> | |
</xs:sequence> | |
<xs:attributeGroup ref="GuidAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="HiiPackages"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">Describe the list of a HiiPackage elements</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" name="HiiPackage"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="HiiCName" type="C_NameType"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/> | |
</xs:sequence> | |
<xs:attributeGroup ref="HiiPackageAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Hobs"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" name="HobTypes"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="HobType" type="HobTypes"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/> | |
</xs:sequence> | |
<xs:attributeGroup ref="HobAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="IncludeHeader"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="PathAndFilename"> | |
<xs:attributeGroup ref="IncludeHeaderAttributes"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="IndustryStdIncludes"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" ref="IndustryStdHeader"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="IndustryStdHeader"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="IncludeHeader" type="PathAndFilename"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/> | |
</xs:sequence> | |
<xs:attributeGroup ref="IndustryStdHeaderAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Libraries"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">Different (Module) Instances of Libraries used ONLY in FPD Files.</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" name="Instance"> | |
<xs:complexType> | |
<xs:attributeGroup ref="LibraryAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="LibraryClass"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">Used in MSA files. This defines what class of library is being supported = produced (library module) or consumed by a module.</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="Keyword" type="KeywordType"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/> | |
</xs:sequence> | |
<xs:attributeGroup ref="LibraryClassAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- LAH This is SPD LibraryClassDeclarations FINAL version --> | |
<xs:element name="LibraryClassDeclarations"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" name="LibraryClass"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="IncludeHeader" type="PathAndFilename"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/> | |
</xs:sequence> | |
<xs:attributeGroup ref="LibraryClassDeclarationAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="LibraryClassDefinitions"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">This section defines what Classes of Library that this library supports. A Library may belong to multiple different library classes.</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" ref="LibraryClass"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="License"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="Paragraph"> | |
<xs:attribute name="URL" type="xs:anyURI" use="optional"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="ModuleBuildOptions"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" maxOccurs="1" ref="Options"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="UserExtensions"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="ModuleSaBuildOptions"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" maxOccurs="1" name="FvBinding" type="KeywordList"/> | |
<!-- The FfsFileNameGuid allows the Platform Integrator to specify a GUID for the FFS File Name GUID --> | |
<xs:element minOccurs="0" maxOccurs="1" name="FfsFileNameGuid" type="GuidType"/> | |
<!-- If binding is specified, you MUST specify the FfsFormatKey --> | |
<xs:element minOccurs="0" maxOccurs="1" name="FfsFormatKey" type="KeywordType"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="Options"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="ModuleDefinitions"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="SupportedArchitectures" type="ArchListType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="BinaryModule" type="xs:boolean" default="false"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="OutputFileBasename" type="FileNameConvention"/> | |
<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="PackageGuid" type="GuidType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="PackageVersion" type="VersionDataType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="ModuleGuid" type="GuidType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="ModuleVersion" 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:element name="ModuleType" type="ModuleTypeDef"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">Describe the valid EFI Phase that the Module is designed to execute under.</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<!-- Use in Final --> | |
<xs:element name="MsaFiles"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">MsaFiles is a child of Surface Area Package Description (SPD) files</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" name="Filename" type="PathAndFilename"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Options"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" ref="Option"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="NonProcessedFiles"> | |
<xs:complexType> | |
<xs:sequence minOccurs="1" maxOccurs="unbounded"> | |
<xs:element name="Filename" type="PathAndFilename"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Option"> | |
<!-- This element is used to store flags from the Tools --> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="xs:normalizedString"> | |
<xs:attributeGroup ref="OptionAttributes"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="PackageDefinitions"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="ReadOnly" type="xs:boolean" default="false"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="RePackage" type="xs:boolean" default="false"/> | |
<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="PackageGuid" type="GuidType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="PackageVersion" 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 Package 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:element name="PackageDependencies"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">This tag is used in the Module Surface Area Description File (MSA) to track package dependencies for a module.</xs:documentation> | |
<xs:documentation xml:lang="en">Attributes to PackageName include Required: Usage PackageGuid PackageVesion, Optional: FeatureFlag</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" name="Package"> | |
<xs:complexType> | |
<xs:attributeGroup ref="PackageAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="PackageHeaders"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">PackageHeaders is a child of PackageSurfaceArea (SPD) </xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" name="IncludePkgHeader"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="PathAndFilename"> | |
<xs:attributeGroup ref="PackageHeaderAttributes"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="PackageList"> | |
<!-- Valid for DB usage only! --> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">This tag is used in the Framework Package Database File to track all packages (SPD files) installed in a workspace. (Database)</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" name="Filename" type="DbPathAndFilename"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<!-- PcdBuildDefinition is a child of FPD ModuleSA element for FIXED_AT_BUILD, PATCHABLE_IN_MODULE, and FEATURE_FLAG PCDS Only! --> | |
<xs:element name="PcdBuildDefinition"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">Child of FPD ModuleSA element for FIXED_AT_BUILD, PATCHABLE_IN_MODULE, and FEATURE_FLAG PCDS Only!</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" name="PcdData"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="Token" type="TokenDataType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="TokenSpaceGuidCName" type="C_NameType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDataTypes"/> | |
<!-- MaxDatumSize is only required if the DatumType is VOID* --> | |
<xs:element minOccurs="0" maxOccurs="1" name="MaxDatumSize" type="DatumSizeLimitation"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="Value" type="DefaultValueType"/> | |
</xs:sequence> | |
<xs:attributeGroup ref="PcdBuildDefinitionAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:group name="DefaultGroup"> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="Value" type="DefaultValueType"/> | |
</xs:sequence> | |
</xs:group> | |
<xs:group name="HiiEnable"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">If HiiEnable group is specified, then HiiEnable is default true</xs:documentation> | |
</xs:annotation> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="VariableName" type="HexWordArrayType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="VariableGuid" type="C_NameType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="VariableOffset" type="Hex64BitDataType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="HiiDefaultValue" type="DefaultValueType"/> | |
</xs:sequence> | |
</xs:group> | |
<xs:group name="VpdEnable"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">If VpdEnable group is specified, then VpdEnable is default true</xs:documentation> | |
</xs:annotation> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="VpdOffset" type="Hex64BitDataType"/> | |
</xs:sequence> | |
</xs:group> | |
<xs:element name="PcdCoded"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">Child of Module Surface Area Description (MSA)</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" name="PcdEntry"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="TokenSpaceGuidCName" type="C_NameType"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="DefaultValue" type="DefaultValueType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/> | |
</xs:sequence> | |
<!-- MSA file declares a single usage, and must match one of the entries in what the SPD file declares as the set of possible Item Types. --> | |
<xs:attributeGroup ref="PcdCodedAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<!-- LAH This is PcdDeclarations FINAL version --> | |
<xs:element name="PcdDeclarations"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">PcdDeclaratins is a child of Package Surface Area Description (SPD)</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence minOccurs="1"> | |
<xs:element maxOccurs="unbounded" name="PcdEntry"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="Token" type="TokenDataType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="TokenSpaceGuidCName" type="C_NameType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDataTypes"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="ValidUsage" type="PcdListType"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="DefaultValue" type="DefaultValueType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/> | |
</xs:sequence> | |
<xs:attributeGroup ref="PcdDeclarationAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="FarList"> | |
<!-- Valid for DB usage only! --> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">This tag is used in the Framework Package Database File to track all DISTRIBUTION packages (FAR files) installed in a workspace. (Database)</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" name="Filename" type="DbPathAndFilename"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="FfsFormatDeclarations"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" name="FfsFormatDeclaration"> | |
<!-- Required Attributes are the FfsFormatKeyword and SupModuleList --> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" ref="ProcessStep"/> | |
</xs:sequence> | |
<xs:attributeGroup ref="FfsAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="PpiDeclarations"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">PpiDeclarations is a child of PackageSurfaceArea (SPD) </xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" name="Entry"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="GuidValue" type="GuidType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/> | |
</xs:sequence> | |
<xs:attributeGroup ref="PpiDeclarationAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="PPIs"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">Provide for one or more Ppi or PpiNotify sections. </xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence minOccurs="1"> | |
<xs:element minOccurs="0" maxOccurs="unbounded" name="Ppi"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="PpiCName" type="C_NameType"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/> | |
</xs:sequence> | |
<xs:attributeGroup ref="PpiAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element minOccurs="0" maxOccurs="unbounded" name="PpiNotify"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="PpiNotifyCName" type="C_NameType"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/> | |
</xs:sequence> | |
<xs:attributeGroup ref="PpiNotifyAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="ProtocolDeclarations"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">ProtocolDeclarations is a child of PackageSurfaceArea (SPD) </xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" name="Entry"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="GuidValue" type="GuidType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/> | |
</xs:sequence> | |
<xs:attributeGroup ref="ProtocolDeclarationAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Protocols"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">If either Protocol or ProtocolNotify sections are needed, one or more of them should be specified within this section</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" maxOccurs="unbounded" name="Protocol"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="ProtocolCName" type="C_NameType"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/> | |
</xs:sequence> | |
<xs:attributeGroup ref="ProtocolAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element minOccurs="0" maxOccurs="unbounded" name="ProtocolNotify"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="ProtocolNotifyCName" type="C_NameType"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/> | |
</xs:sequence> | |
<xs:attributeGroup ref="ProtocolNotifyAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="ProcessStep"> | |
<xs:complexType> | |
<xs:sequence> | |
<!-- The following is a macro for Apache ANT --> | |
<xs:element minOccurs="0" maxOccurs="1" name="MacroDefFile"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="PathAndFilename"> | |
<xs:attribute name="MacroName" type="KeywordType" use="required"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
<!-- The following is for System Executables --> | |
<xs:element minOccurs="0" maxOccurs="1" name="ToolName" type="xs:NCName"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" name="ToolArgs" type="xs:normalizedString"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" name="InputPattern" type="xs:normalizedString"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="OutputPattern" type="xs:normalizedString"/> | |
</xs:sequence> | |
<xs:attributeGroup ref="ProcessStepAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="SourceFiles"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">Multiple Filenames may be specified, and they may also be scoped to a specific Architecture.</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" ref="Filename"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="SkuInfo"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" name="UiSkuName"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="UiNameType"> | |
<xs:attribute name="SkuID" type="xs:nonNegativeInteger" use="required"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="SystemTables"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">This is list of System Table elements.</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" name="SystemTableCNames"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="SystemTableCName" type="C_NameType"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/> | |
</xs:sequence> | |
<xs:attributeGroup ref="SystemTableAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="UserDefinedAntTasks"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">This is a sub-element of BuildOptions</xs:documentation> | |
<xs:documentation xml:lang="en">Permit Users to define their own custom ANT tasks.</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" ref="AntTask"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="UserExtensions"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/> | |
</xs:sequence> | |
<xs:attribute name="UserID" type="xs:NCName" use="required"/> | |
<xs:attribute name="Identifier" type="xs:string" use="required"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Variables"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">An MSA FILE list of EFI Variables described by string pair.</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="unbounded" name="Variable"> | |
<xs:annotation> | |
<xs:documentation xml:lang="en">This is an EFI Variable Entry</xs:documentation> | |
</xs:annotation> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="1" maxOccurs="1" name="VariableName" type="HexWordArrayType"/> | |
<xs:element minOccurs="1" maxOccurs="1" name="GuidC_Name" type="C_NameType"/> | |
<xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/> | |
</xs:sequence> | |
<xs:attributeGroup ref="VariableAttributes"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Version" type="VersionDataType"/> | |
</xs:schema> |