mirror of
				https://git.proxmox.com/git/mirror_edk2
				synced 2025-10-31 19:13:50 +00:00 
			
		
		
		
	 07a756b95e
			
		
	
	
		07a756b95e
		
	
	
	
	
		
			
			$WORKSPACE/Tools instead. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4147 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			729 lines
		
	
	
		
			33 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			729 lines
		
	
	
		
			33 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <?xml version="1.0" encoding="UTF-8"?>
 | |
| <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://www.TianoCore.org/2007/Edk2.1" targetNamespace="http://www.TianoCore.org/2007/Edk2.1">
 | |
|   <!--
 | |
|     Filename: FrameworkDataElements.xsd
 | |
|     
 | |
|     Copyright (c) 2007, 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="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="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="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="Depex">
 | |
|     <xs:annotation>
 | |
|       <xs:documentation xml:lang="en">This section is used to describe the DXE or PEI Dependency code</xs:documentation>
 | |
|     </xs:annotation>
 | |
|     <xs:complexType>
 | |
|       <xs:sequence>
 | |
|         <xs:element minOccurs="0" maxOccurs="unbounded" name="Define" type="xs:normalizedString"/>
 | |
|         <xs:element minOccurs="0" maxOccurs="unbounded" name="Expression" type="xs:string"/>
 | |
|       </xs:sequence>
 | |
|     </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="BinaryFiles">
 | |
|     <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="0" maxOccurs="1" name="HelpText" type="Paragraph"/>
 | |
|         <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename">
 | |
|           <xs:complexType>
 | |
|             <xs:simpleContent>
 | |
|               <xs:extension base="PathAndFilename"> 
 | |
|                 <xs:attributeGroup ref="BinaryFileAttributes"/>
 | |
|               </xs:extension>
 | |
|             </xs:simpleContent>
 | |
|           </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="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="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">
 | |
|           <xs:complexType>
 | |
|             <xs:simpleContent>
 | |
|               <xs:extension base="PathAndFilename"> 
 | |
|                 <xs:attributeGroup ref="PackageNameAttributes"/>
 | |
|               </xs:extension>
 | |
|             </xs:simpleContent>
 | |
|           </xs:complexType>
 | |
|           </xs:element>
 | |
|       </xs:sequence>
 | |
|     </xs:complexType>
 | |
|   </xs:element>
 | |
|   <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="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="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="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="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>
 |