Sync BaseTools Trunk (version r2387) to EDKII main trunk.
authorlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>
Sat, 29 Oct 2011 06:59:30 +0000 (06:59 +0000)
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>
Sat, 29 Oct 2011 06:59:30 +0000 (06:59 +0000)
Signed-off-by: lgao4
Reviewed-by: gikidy
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12602 6f19259b-4bc3-4df7-8a09-765794883524

80 files changed:
BaseTools/Bin/Win32/BPDG.exe
BaseTools/Bin/Win32/BootSectImage.exe
BaseTools/Bin/Win32/EfiLdrImage.exe
BaseTools/Bin/Win32/EfiRom.exe
BaseTools/Bin/Win32/Fpd2Dsc.exe
BaseTools/Bin/Win32/GenBootSector.exe
BaseTools/Bin/Win32/GenCrc32.exe
BaseTools/Bin/Win32/GenDepex.exe
BaseTools/Bin/Win32/GenFds.exe
BaseTools/Bin/Win32/GenFfs.exe
BaseTools/Bin/Win32/GenFv.exe
BaseTools/Bin/Win32/GenFw.exe
BaseTools/Bin/Win32/GenPage.exe
BaseTools/Bin/Win32/GenPatchPcdTable.exe
BaseTools/Bin/Win32/GenSec.exe
BaseTools/Bin/Win32/GenVtf.exe
BaseTools/Bin/Win32/LzmaCompress.exe
BaseTools/Bin/Win32/MigrationMsa2Inf.exe
BaseTools/Bin/Win32/PatchPcdValue.exe
BaseTools/Bin/Win32/Spd2Dec.exe
BaseTools/Bin/Win32/Split.exe
BaseTools/Bin/Win32/TargetTool.exe
BaseTools/Bin/Win32/TianoCompress.exe
BaseTools/Bin/Win32/Trim.exe
BaseTools/Bin/Win32/UPT.exe
BaseTools/Bin/Win32/VfrCompile.exe
BaseTools/Bin/Win32/VolInfo.exe
BaseTools/Bin/Win32/build.exe
BaseTools/Conf/XMLSchema/DistributionPackage.xsd
BaseTools/Conf/build_rule.template
BaseTools/Conf/tools_def.template
BaseTools/ReadMe.txt
BaseTools/Source/C/Common/BasePeCoff.c
BaseTools/Source/C/EfiLdrImage/EfiLdrImage.c
BaseTools/Source/C/GenFv/GenFvInternalLib.c
BaseTools/Source/C/GenFw/Elf32Convert.c
BaseTools/Source/C/GenFw/Elf64Convert.c
BaseTools/Source/C/GenSec/GenSec.c
BaseTools/Source/C/GenVtf/GenVtf.c
BaseTools/Source/C/GnuGenBootSector/GnuGenBootSector.c
BaseTools/Source/C/Include/Common/BuildVersion.h
BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c
BaseTools/Source/C/Makefiles/ms.app
BaseTools/Source/C/Split/Split.c
BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp
BaseTools/Source/C/VfrCompile/VfrFormPkg.h
BaseTools/Source/C/VfrCompile/VfrSyntax.g
BaseTools/Source/C/VolInfo/VolInfo.c
BaseTools/Source/Python/AutoGen/AutoGen.py
BaseTools/Source/Python/AutoGen/BuildEngine.py
BaseTools/Source/Python/AutoGen/GenC.py
BaseTools/Source/Python/AutoGen/GenMake.py
BaseTools/Source/Python/Common/BuildVersion.py
BaseTools/Source/Python/Common/DataType.py
BaseTools/Source/Python/Common/Expression.py [new file with mode: 0644]
BaseTools/Source/Python/Common/GlobalData.py
BaseTools/Source/Python/Common/Misc.py
BaseTools/Source/Python/Common/String.py
BaseTools/Source/Python/CommonDataClass/DataClass.py
BaseTools/Source/Python/CommonDataClass/Exceptions.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/AprioriSection.py
BaseTools/Source/Python/GenFds/DepexSection.py
BaseTools/Source/Python/GenFds/Fd.py
BaseTools/Source/Python/GenFds/FdfParser.py
BaseTools/Source/Python/GenFds/FfsFileStatement.py
BaseTools/Source/Python/GenFds/FfsInfStatement.py
BaseTools/Source/Python/GenFds/Fv.py
BaseTools/Source/Python/GenFds/GenFds.py
BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py
BaseTools/Source/Python/GenFds/Section.py
BaseTools/Source/Python/PatchPcdValue/PatchPcdValue.py
BaseTools/Source/Python/UPT/Library/ParserValidate.py
BaseTools/Source/Python/Workspace/MetaDataTable.py
BaseTools/Source/Python/Workspace/MetaFileParser.py
BaseTools/Source/Python/Workspace/MetaFileTable.py
BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
BaseTools/Source/Python/build/BuildReport.py
BaseTools/Source/Python/build/build.py
BaseTools/UserManuals/Intel_UEFI_Packaging_Tool_Man_Page.rtf
BaseTools/UserManuals/Trim_Utility_Man_Page.rtf

index 016bee5d840c122adec6de0bc305dae8381edde1..1628a4f4536593be33f015fc1a5db048718f54f4 100644 (file)
Binary files a/BaseTools/Bin/Win32/BPDG.exe and b/BaseTools/Bin/Win32/BPDG.exe differ
index 313bc717562aaa5cfba136becc04bfb2e2a3e7c0..096048f812960588aab9d5fe6ad325c150b2e3bd 100755 (executable)
Binary files a/BaseTools/Bin/Win32/BootSectImage.exe and b/BaseTools/Bin/Win32/BootSectImage.exe differ
index e06cbedc51ca47a95828ab41b6d4278a83763979..574713ff1ca37c003f21c5e6a8707f6d5715cfc7 100755 (executable)
Binary files a/BaseTools/Bin/Win32/EfiLdrImage.exe and b/BaseTools/Bin/Win32/EfiLdrImage.exe differ
index 01ad3703d0114ccdfc4f2b042c4c90c5b8d3c8c3..1b5831ff2b4a89e5080d2cd12639e4e5d619dac8 100755 (executable)
Binary files a/BaseTools/Bin/Win32/EfiRom.exe and b/BaseTools/Bin/Win32/EfiRom.exe differ
index fd41b60624b4d57b6783f36bdedec45feefe60f9..d2d509c7609aa6d695bdc48b88ba488d67b41fa8 100755 (executable)
Binary files a/BaseTools/Bin/Win32/Fpd2Dsc.exe and b/BaseTools/Bin/Win32/Fpd2Dsc.exe differ
index 25f50e5e7ef74fcdad84359a4d80ea48cd667a4c..2ed07e3964c3c7adc01fbcbfffcdf4f23f5c86cf 100755 (executable)
Binary files a/BaseTools/Bin/Win32/GenBootSector.exe and b/BaseTools/Bin/Win32/GenBootSector.exe differ
index d20d15a950896f6bf507ee34cf92bdd60df9c357..f76616f1d8a7804471c13edbaa28744bb7b9f6fa 100755 (executable)
Binary files a/BaseTools/Bin/Win32/GenCrc32.exe and b/BaseTools/Bin/Win32/GenCrc32.exe differ
index cf6ff7fed94ff3d1d04318a6f3eb989d4bef45bc..4ffd690528221a099e4411c204655578a09bfbda 100755 (executable)
Binary files a/BaseTools/Bin/Win32/GenDepex.exe and b/BaseTools/Bin/Win32/GenDepex.exe differ
index 9209a7dd863814e33d899f6d58a6bf28624eb6ce..d32f23963e2a8bd657e1f88102a4a6b57013791e 100755 (executable)
Binary files a/BaseTools/Bin/Win32/GenFds.exe and b/BaseTools/Bin/Win32/GenFds.exe differ
index 434f8890f043c2f26ceecbb07fec05a83802fe41..fe7f993d44c01906c7f82fa8b38f8cdcfb1977dc 100755 (executable)
Binary files a/BaseTools/Bin/Win32/GenFfs.exe and b/BaseTools/Bin/Win32/GenFfs.exe differ
index 6d1096efc9883077c00313692a6149e59e6c587e..abf5cbd2238a4119130d6587ecb2b2a15bb41899 100755 (executable)
Binary files a/BaseTools/Bin/Win32/GenFv.exe and b/BaseTools/Bin/Win32/GenFv.exe differ
index f4331d3eeaeb8f61cac14cf50ff4e691da676f21..4c0fb41170746b5d7f675a62ccca7cd293ee91d8 100755 (executable)
Binary files a/BaseTools/Bin/Win32/GenFw.exe and b/BaseTools/Bin/Win32/GenFw.exe differ
index 2cdca2ad6c220701a854d11dad80cc4ca62d76d5..639b88ad21c1a59279a9e17b5b61ed3a213117a3 100755 (executable)
Binary files a/BaseTools/Bin/Win32/GenPage.exe and b/BaseTools/Bin/Win32/GenPage.exe differ
index 4a506e4858ed2e5ec1c85e94768bb6a58b0ec3a3..01824c531e36ff53252cea2fe10323424422462d 100755 (executable)
Binary files a/BaseTools/Bin/Win32/GenPatchPcdTable.exe and b/BaseTools/Bin/Win32/GenPatchPcdTable.exe differ
index 64730c5fa5c66c88a90962bbfb300f43e49a607c..035dcc6ae58827f7c5592d27fe8be64ddce0326b 100755 (executable)
Binary files a/BaseTools/Bin/Win32/GenSec.exe and b/BaseTools/Bin/Win32/GenSec.exe differ
index e15f567a31abedfd35e5f9c78f58dd79b7c0586a..ea7ccf135068c55a500125e9ed31c5bd83e0036f 100755 (executable)
Binary files a/BaseTools/Bin/Win32/GenVtf.exe and b/BaseTools/Bin/Win32/GenVtf.exe differ
index 2652a7b5bdc6bd747097292e233cbf9b14bb2a09..506ecb19afba5534c5894d4fb9ac1c5c2c9e3e91 100755 (executable)
Binary files a/BaseTools/Bin/Win32/LzmaCompress.exe and b/BaseTools/Bin/Win32/LzmaCompress.exe differ
index 2c7b28d59c5c01d03fdcad22edc826f69a047ee2..65ecae11ebd5ae37fdc4e7e8ba294a250d7a7e3c 100755 (executable)
Binary files a/BaseTools/Bin/Win32/MigrationMsa2Inf.exe and b/BaseTools/Bin/Win32/MigrationMsa2Inf.exe differ
index 4500f21a84fb022d0f41f89714048795dac7babb..ed1a92e77464d8915e79b5b3785eebd89aee386a 100755 (executable)
Binary files a/BaseTools/Bin/Win32/PatchPcdValue.exe and b/BaseTools/Bin/Win32/PatchPcdValue.exe differ
index 5a5bb7b59c11148323ee58278d7882df8199fbbd..31b0aae270d192952915454bb8ea2040b218cc35 100755 (executable)
Binary files a/BaseTools/Bin/Win32/Spd2Dec.exe and b/BaseTools/Bin/Win32/Spd2Dec.exe differ
index 250cedba6e5ebe0bada516f9061c846a8ca20e86..9ef3e122818d3717ab0d92350b4fb75f8f8dfc51 100755 (executable)
Binary files a/BaseTools/Bin/Win32/Split.exe and b/BaseTools/Bin/Win32/Split.exe differ
index 14b2680005be9a2d58767fe35f0890b3446556b4..36b1c3e8d26f6359392ffe88d292fe308e17c6fd 100755 (executable)
Binary files a/BaseTools/Bin/Win32/TargetTool.exe and b/BaseTools/Bin/Win32/TargetTool.exe differ
index 7bf2896f70be72b8620536537d5f0b4b45bf1698..020ed1e50a3085b1d0f3a2eb4a1ffdd4fb9cf807 100755 (executable)
Binary files a/BaseTools/Bin/Win32/TianoCompress.exe and b/BaseTools/Bin/Win32/TianoCompress.exe differ
index a094bb11027dd00b035dc197ea85d9ea805b2945..8684aa46b80a68bb943e4f191b200bb45c98bb6d 100755 (executable)
Binary files a/BaseTools/Bin/Win32/Trim.exe and b/BaseTools/Bin/Win32/Trim.exe differ
index a1cf4d889f1122931ad60dac7e51c745dd132821..ad67a6a8ccd7e77772b7cff1caa3bfa741a69ed8 100644 (file)
Binary files a/BaseTools/Bin/Win32/UPT.exe and b/BaseTools/Bin/Win32/UPT.exe differ
index 03d35d7b2dc6e176ad1ae090e51b2ec55df7ba5d..5647e50a4d348dd8e95db6e8333be088cf9b1a96 100755 (executable)
Binary files a/BaseTools/Bin/Win32/VfrCompile.exe and b/BaseTools/Bin/Win32/VfrCompile.exe differ
index 754857cc1e98a723a879f272a7e94e5885100597..ef33d1e1d90b1240084a1becc0f8e40e8054eea0 100755 (executable)
Binary files a/BaseTools/Bin/Win32/VolInfo.exe and b/BaseTools/Bin/Win32/VolInfo.exe differ
index 8536c7249bdbca0d2dec914051f1603231ebe285..16404a22521a6baad48c6e785b7482a662e28978 100755 (executable)
Binary files a/BaseTools/Bin/Win32/build.exe and b/BaseTools/Bin/Win32/build.exe differ
index 1d3c6904411fb6e02d97feffd4621c87782318bb..8f136ae04e3c8d72b0a8b0ec68197624b0804d41 100644 (file)
@@ -12,2876 +12,2876 @@ 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:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-       elementFormDefault="qualified" targetNamespace="http://www.uefi.org/2011/1.1"
-       xmlns="http://www.uefi.org/2011/1.1">
-       <xs:element name="DistributionPackage">
-               <xs:annotation>
-                       <xs:documentation xml:lang="en-us"> This schema defines the UEFI/PI
-                               Distribution Package description (PKG) file. It describes the content
-                               of:</xs:documentation>
-                       <xs:documentation xml:lang="en-us"> 1) Package descriptions with
-                               definitions and headers.</xs:documentation>
-                       <xs:documentation xml:lang="en-us"> 2) Modules in either source or binary
-                               format. (Note that Binary format is for FFS leaf section file types
-                               only, complete FFS files cannot be distributed using this distribution
-                               format.) </xs:documentation>
-                       <xs:documentation xml:lang="en-us"> 3) The distribution of custom tools
-                               used to modify the binary images to create UEFI/PI compliant images. </xs:documentation>
-                       <xs:documentation xml:lang="en-us"> 4) Finally, it can be used to
-                               distribute other miscellaneous content that is not specific to UEFI/PI
-                               images. </xs:documentation>
-                       <xs:documentation xml:lang="en-us"> The Package Surface Area describes the
-                               content of packages, while the Module Surface Area provides information
-                               relevant to source and/or binary distributions. </xs:documentation>
-               </xs:annotation>
-               <xs:complexType>
-                       <xs:sequence>
-                               <xs:element ref="DistributionHeader" minOccurs="1" maxOccurs="1">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> This header contains (legal)
-                                                       information usually required for distributing both binary and/or
-                                                       source code. </xs:documentation>
-                                       </xs:annotation>
-                               </xs:element>
-                               <xs:element ref="PackageSurfaceArea" minOccurs="0" maxOccurs="unbounded">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> The list of packages in this
-                                                       distribution. </xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> Packages are groups of files
-                                                       and/or modules that are similar in nature.</xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> Packages are uniquely identified
-                                                       by a package GUID and a package version. </xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> A package can declare public
-                                                       mappings of C names to GUID values. </xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> A package can provide header
-                                                       files for library classes and/or other industry standard
-                                                       definitions. </xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> A package can also declare
-                                                       public mappings of platform configuration database (PCD)
-                                                       &quot;knobs&quot; to control features and operation of
-                                                       modules within a platform. </xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> Finally, a package lists the
-                                                       library instances and/or modules that are provided in a
-                                                       distribution package. </xs:documentation>
-                                       </xs:annotation>
-                               </xs:element>
-                               <xs:element ref="ModuleSurfaceArea" minOccurs="0" maxOccurs="unbounded">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> The listing of UEFI/PI compliant
-                                                       modules in this distribution that are NOT part of a Package. Every
-                                                       module that is provided as part of a package needs to be described
-                                                       in a PackageSurfaceArea.Modules section. </xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> The ModuleSurfaceArea section
-                                                       describes how each module in a distribution is coded, or, in the
-                                                       case of a binary module distribution, how it was built. </xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> UEFI/PI compliant libraries and
-                                                       modules are uniquely identified by the Module's GUID and version
-                                                       number. </xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> This section will typically be
-                                                       used for modules that don't require any additional files that
-                                                       would be included in a package. For example, the Enhanced FAT
-                                                       driver binary does not need to have a package description, as no
-                                                       additional files are provided. </xs:documentation>
-                                       </xs:annotation>
-                               </xs:element>
-                               <xs:element ref="Tools" minOccurs="0" maxOccurs="unbounded">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> This section is for distributing
-                                                       vendor specific executable tools, tool source code and/or
-                                                       configuration files. These tools are primarily for manipulating
-                                                       code and/or binary images. </xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> Tools in this section
-                                                       can:</xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> 1) Parse build meta-data files
-                                                       to create source code files and build scripts. </xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> 2) Modify image files to conform
-                                                       to UEFI/PI specifications. </xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> 3) Generate binary files from
-                                                       certain types of text/unicode files. </xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> 4) Generate PCI Option Roms or
-                                                       Firmware Device images. </xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> 5) Implement external
-                                                       encoding/decoding/signature/GUIDed tools. </xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> 6) Distribution Package
-                                                       create/install/remove tools. </xs:documentation>
-                                       </xs:annotation>
-                               </xs:element>
-                               <xs:element ref="MiscellaneousFiles" minOccurs="0" maxOccurs="unbounded">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> The list of miscellaneous files
-                                                       in this distribution. Any files that are not listed in either the
-                                                       Package, Module or Tools sections can be listed here. This section
-                                                       can be used to distribute specifications for packages and modules
-                                                       that are not &quot;industry standards&quot; such as a
-                                                       specification for a chipset or a video device. </xs:documentation>
-                                       </xs:annotation>
-                               </xs:element>
-                               <xs:element ref="UserExtensions" minOccurs="0" maxOccurs="unbounded">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> The UserExtensions section is
-                                                       used to disseminate processing instructions that may be custom to
-                                                       the content provided by the distribution. This section contains
-                                                       information that is common to all aspects of this disribution.
-                                               </xs:documentation>
-                                       </xs:annotation>
-                               </xs:element>
-                       </xs:sequence>
-
-               </xs:complexType>
-       </xs:element>
-       <!-- End of the DistributionPackage Description  -->
-
-       <xs:element name="DistributionHeader">
-               <xs:annotation>
-                       <xs:documentation xml:lang="en-us"> This section defines the content of
-                               the UEIF/PI compliant Distribution Package Header. This is the only
-                               required element of a UEFI/PI compliant distribution package.
-                       </xs:documentation>
-               </xs:annotation>
-               <xs:complexType>
-                       <xs:sequence>
-                               <xs:element minOccurs="1" maxOccurs="1" name="Name">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> This is the User Interface Name
-                                                       for this Distribution Package. </xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> Each Distribution Package is
-                                                       uniquely identified by it's GUID and Version number.
-                                               </xs:documentation>
-                                       </xs:annotation>
-                                       <xs:complexType>
-                                               <xs:simpleContent>
-                                                       <xs:extension base="xs:normalizedString">
-                                                               <xs:attribute name="BaseName" type="xs:NCName" use="optional">
-                                                                       <xs:annotation>
-                                                                               <xs:documentation xml:lang="en-us"> The reference name of
-                                                                                       the Distribution Package file. This single word name can
-                                                                                       be used by tools as a keyword or for directory and/or file
-                                                                                       creation. </xs:documentation>
-                                                                               <xs:documentation xml:lang="en-us"> White space and special
-                                                                                       characters (dash and underscore characters may be used)
-                                                                                       are not permitted in this name. </xs:documentation>
-                                                                       </xs:annotation>
-                                                               </xs:attribute>
-                                                       </xs:extension>
-                                               </xs:simpleContent>
-                                       </xs:complexType>
-                               </xs:element>
-                               <xs:element minOccurs="1" maxOccurs="1" name="GUID">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> This 128-bit GUID and the
-                                                       Version attribute uniquely identify this Distribution Package. </xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> Backward compatible releases of
-                                                       a distribution package need only change the version number, while
-                                                       non-backward compatible changes require the GUID to change
-                                                       (resetting the version number to 1.0 is optional.)
-                                               </xs:documentation>
-                                       </xs:annotation>
-                                       <xs:complexType>
-                                               <xs:simpleContent>
-                                                       <xs:extension base="RegistryFormatGuid">
-                                                               <xs:attribute name="Version" type="xs:decimal" use="required">
-                                                                       <xs:annotation>
-                                                                               <xs:documentation xml:lang="en-us"> This value, along with
-                                                                                       the GUID, is used to uniquely identify this object. The
-                                                                                       higher the number, the more recent the content.
-                                                                               </xs:documentation>
-                                                                       </xs:annotation>
-                                                               </xs:attribute>
-                                                       </xs:extension>
-                                               </xs:simpleContent>
-                                       </xs:complexType>
-                               </xs:element>
-                               <xs:element minOccurs="1" maxOccurs="1" name="Vendor"
-                                       type="xs:normalizedString">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> A string identifying who created
-                                                       this distribution package. </xs:documentation>
-                                       </xs:annotation>
-                               </xs:element>
-                               <xs:element minOccurs="1" maxOccurs="1" name="Date" type="xs:dateTime">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> The date and time this
-                                                       distribution was created. The format is: YYYY-MM-DDThh:mm:ss, for
-                                                       example: 2001-01-31T13:30:00 (note the T character separator
-                                                       between the calendar date and the time. </xs:documentation>
-                                       </xs:annotation>
-                               </xs:element>
-                               <xs:element minOccurs="1" maxOccurs="1" name="Copyright"
-                                       type="xs:string">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> The copyright for this file that
-                                                       is generated by the creator of the distribution. If a derivative
-                                                       work is generated from an existing distribution, then the existing
-                                                       copyright must be maintained, and additional copyrights may be
-                                                       appended to the end of this element. It may also be the primary
-                                                       copyright for all code provided in the Distribution Package.
-                                               </xs:documentation>
-                                       </xs:annotation>
-                               </xs:element>
-                               <xs:element minOccurs="1" maxOccurs="1" name="License" type="xs:string">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> A license that describes any
-                                                       restrictions on the use of this distribution. If a derivative work
-                                                       is allowed by the original license and a derivative work is
-                                                       generated from an existing distribution, then the existing license
-                                                       must be maintained, and additional licenses may be appended to the
-                                                       end of this element. It may also be the primary license for all
-                                                       code provided in the distribution file. Alternatively, this may
-                                                       point to a filename that contains the License. The file (included
-                                                       in the content zip file) will be stored in the same location as
-                                                       the distribution package's .pkg file. </xs:documentation>
-                                       </xs:annotation>
-                               </xs:element>
-                               <xs:element minOccurs="1" maxOccurs="1" name="Abstract"
-                                       type="xs:normalizedString">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> A one line description of the
-                                                       Distribution Package. </xs:documentation>
-                                       </xs:annotation>
-                               </xs:element>
-                               <xs:element minOccurs="0" maxOccurs="1" name="Description"
-                                       type="xs:string">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> A complete description of the
-                                                       Distribution Package. This description may include the release
-                                                       name of the file, the version of the file, and a complete
-                                                       description of the file contents and/or features including a
-                                                       description of the updates since the previous file release.
-                                               </xs:documentation>
-                                       </xs:annotation>
-                               </xs:element>
-                               <xs:element minOccurs="0" maxOccurs="1" name="Signature" type="Md5Sum">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> The packaging utilities will use this
-                                                       MD5 sum value of the included ZIP file containing files and/or code. If
-                                                       this element is not present, then installation tools should assume that
-                                                       the content is correct, or that other methods may be needed to verify
-                                                       content. </xs:documentation>
-                                       </xs:annotation>
-                               </xs:element>
-                               <xs:element minOccurs="1" maxOccurs="1" name="XmlSpecification" type="xs:decimal"
-                                       default="1.1">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> This version of this XML Schema is 1.1 </xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> Changes to 1.1 from 1.0 </xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> #1 Updated to present date and new
-                                                       version which is important to reflect the present state of the
-                                                       matter</xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> #2 Added definition/enumeration of
-                                                       UNDEFIND type 2 is important since there is a large body of legacy code
-                                                       for which the GUID’s and other code/data objects were not decorated with
-                                                       their usage. This document will allow for importing today’s source
-                                                       artifacts and producing decorations using the â€˜Undefined’ versus having
-                                                       an error</xs:documentation>
-                                               <xs:documentation xml:lang="en-us">#3 Allow for inclusion of ARM and future
-                                                       architecture types</xs:documentation>
-                                       </xs:annotation>
-                               </xs:element>
-                       </xs:sequence>
-                       <xs:attribute name="ReadOnly" type="xs:boolean" default="false"
-                               use="optional">
-                               <xs:annotation>
-                                       <xs:documentation xml:lang="en-us"> If set to true, all content within
-                                               this Distribution Package should NOT be modified. The default
-                                               permits modification of all content. </xs:documentation>
-                               </xs:annotation>
-                       </xs:attribute>
-                       <xs:attribute name="RePackage" type="xs:boolean" default="false"
-                               use="optional">
-                               <xs:annotation>
-                                       <xs:documentation xml:lang="en-us"> If set to true, then the content
-                                               can be repackaged into another distribution package. The default
-                                               prohibits repackaging the Distribution content. </xs:documentation>
-                               </xs:annotation>
-                       </xs:attribute>
-               </xs:complexType>
-       </xs:element>
-       <!-- End of the DistributionHeader element. -->
-
-       <xs:element name="PackageSurfaceArea">
-               <xs:annotation>
-                       <xs:documentation xml:lang="en-us"> A package is a collection of related
-                               objects - Includes, Libraries and Modules. </xs:documentation>
-                       <xs:documentation xml:lang="en-us"> Each package is uniquely identified by
-                               it's GUID and Version number. Backward compatible releases of a package
-                               need only change the version number, while non-backward compatible
-                               changes require the GUID to change (resetting the version number to 1.0
-                               is optional.) </xs:documentation>
-               </xs:annotation>
-               <xs:complexType>
-                       <xs:sequence>
-
-                               <xs:element minOccurs="1" maxOccurs="1" name="Header">
-                                       <xs:complexType>
-                                               <xs:sequence>
-                                                       <xs:element minOccurs="1" maxOccurs="1" name="Name">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> This is the User Interface
-                                                                               Name for this package. </xs:documentation>
-                                                               </xs:annotation>
-                                                               <xs:complexType>
-                                                                       <xs:simpleContent>
-                                                                               <xs:extension base="xs:normalizedString">
-                                                                                       <xs:attribute name="BaseName" type="xs:NCName"
-                                                                                               use="required">
-                                                                                               <xs:annotation>
-                                                                                                       <xs:documentation xml:lang="en-us"> This is a single
-                                                                                                               word BaseName of the package. This BaseName can be
-                                                                                                               used by tools as a keyword and for directory/file
-                                                                                                               creation. </xs:documentation>
-                                                                                               </xs:annotation>
-                                                                                       </xs:attribute>
-                                                                               </xs:extension>
-                                                                       </xs:simpleContent>
-                                                               </xs:complexType>
-                                                       </xs:element>
-                                                       <xs:element minOccurs="1" maxOccurs="1" name="GUID">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> This GUID and the Version
-                                                                               attribute uniquely identify a given package.
-                                                                       </xs:documentation>
-                                                               </xs:annotation>
-                                                               <xs:complexType>
-                                                                       <xs:simpleContent>
-                                                                               <xs:extension base="RegistryFormatGuid">
-                                                                                       <xs:attribute name="Version" type="xs:decimal"
-                                                                                               use="required">
-                                                                                               <xs:annotation>
-                                                                                                       <xs:documentation xml:lang="en-us"> This value, along
-                                                                                                               with the GUID, is used to uniquely identify this
-                                                                                                               object. </xs:documentation>
-                                                                                                       <xs:documentation xml:lang="en-us"> Backward
-                                                                                                               compatible changes must make sure this number is
-                                                                                                               incremented from the most recent version.
-                                                                                                               Non-backward compatible changes require a new GUID,
-                                                                                                               and the version can be reset. </xs:documentation>
-                                                                                               </xs:annotation>
-                                                                                       </xs:attribute>
-                                                                               </xs:extension>
-                                                                       </xs:simpleContent>
-                                                               </xs:complexType>
-                                                       </xs:element>
-                                                       <xs:element minOccurs="0" maxOccurs="1" name="Copyright"
-                                                               type="xs:string">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> If the package requires a
-                                                                               different copyright than the distribution package, this
-                                                                               element can list one or more copyright lines.
-                                                                       </xs:documentation>
-                                                               </xs:annotation>
-                                                       </xs:element>
-                                                       <xs:element minOccurs="0" maxOccurs="1" name="License"
-                                                               type="xs:string">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> If the package requires
-                                                                               licenses that are different from the distribution package
-                                                                               license, this element can contain one or more license text
-                                                                               paragraphs (or license filenames.) </xs:documentation>
-                                                               </xs:annotation>
-                                                       </xs:element>
-                                                       <xs:element minOccurs="0" maxOccurs="1" name="Abstract"
-                                                               type="xs:normalizedString">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> A one line description of
-                                                                               this package. </xs:documentation>
-                                                               </xs:annotation>
-                                                       </xs:element>
-                                                       <xs:element minOccurs="0" maxOccurs="1" name="Description"
-                                                               type="xs:string">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> A complete description of
-                                                                               a package. This description may include the release name of
-                                                                               the package, the version of the package, and a complete
-                                                                               description of the package contents and/or features
-                                                                               including a description of the updates since the previous
-                                                                               package’s release. </xs:documentation>
-                                                               </xs:annotation>
-                                                       </xs:element>
-                                                       <xs:element minOccurs="1" maxOccurs="1" name="PackagePath"
-                                                               type="xs:anyURI">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> This element is the
-                                                                               location (in the ZIP file) for the root directory of a
-                                                                               package. </xs:documentation>
-                                                               </xs:annotation>
-                                                       </xs:element>
-                                               </xs:sequence>
-                                       </xs:complexType>
-                               </xs:element>
-                               <!-- End of PackageSurfaceArea Header element.  -->
-
-                               <xs:element minOccurs="0" maxOccurs="1" name="ClonedFrom">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> The term cloned is used here to
-                                                       indicate that this package as been copied and modified to a
-                                                       completely different package. An example might be for a new
-                                                       generation of chipsets that have few or no elements in common with
-                                                       the original. </xs:documentation>
-                                       </xs:annotation>
-                                       <xs:complexType>
-                                               <xs:sequence>
-                                                       <xs:element minOccurs="1" maxOccurs="1" name="GUID">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> This GUID and the Version
-                                                                               attribute uniquely identify the Package that this Package
-                                                                               was copied from. </xs:documentation>
-                                                               </xs:annotation>
-                                                               <xs:complexType>
-                                                                       <xs:simpleContent>
-                                                                               <xs:extension base="RegistryFormatGuid">
-                                                                                       <xs:attribute name="Version" type="xs:decimal"
-                                                                                               use="required">
-                                                                                               <xs:annotation>
-                                                                                                       <xs:documentation xml:lang="en-us"> This value, along
-                                                                                                               with the GUID, is used to uniquely identify the
-                                                                                                               package that this package was cloned from.
-                                                                                                       </xs:documentation>
-                                                                                               </xs:annotation>
-                                                                                       </xs:attribute>
-                                                                               </xs:extension>
-                                                                       </xs:simpleContent>
-                                                               </xs:complexType>
-                                                       </xs:element>
-                                               </xs:sequence>
-                                       </xs:complexType>
-                               </xs:element>
-                               <!-- End of PackageSurfaceArea ClonedFrom element.  -->
-
-                               <xs:element minOccurs="0" maxOccurs="1" name="LibraryClassDeclarations">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> Library Classes are public
-                                                       interfaces that can be used by modules. One or more library
-                                                       instances can implement a library class, however only one library
-                                                       instance can be linked to an individual module. This provides the
-                                                       platform integrator with the flexibility of choosing one library
-                                                       instance's implementation over a different library instance.
-                                               </xs:documentation>
-                                       </xs:annotation>
-                                       <xs:complexType>
-                                               <xs:sequence>
-                                                       <xs:element minOccurs="1" maxOccurs="unbounded"
-                                                               name="LibraryClass">
-                                                               <xs:complexType>
-                                                                       <xs:sequence>
-                                                                               <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile"
-                                                                                       type="xs:anyURI">
-                                                                                       <xs:annotation>
-                                                                                               <xs:documentation xml:lang="en-us"> The header file
-                                                                                                       provides definitions and function prototypes for a
-                                                                                                       library class. Modules can be coded against these
-                                                                                                       functions, using the definitions in this header,
-                                                                                                       without concerning themselves about the libraries'
-                                                                                                       implementation details. This is a PackagePath relative
-                                                                                                       path and filename for the include file.
-                                                                                               </xs:documentation>
-                                                                                       </xs:annotation>
-                                                                               </xs:element>
-                                                                               <xs:element minOccurs="0" maxOccurs="1"
-                                                                                       name="RecommendedInstance">
-                                                                                       <xs:complexType>
-                                                                                               <xs:sequence>
-                                                                                                       <xs:element minOccurs="1" maxOccurs="1" name="GUID">
-                                                                                                               <xs:annotation>
-                                                                                                                       <xs:documentation xml:lang="en-us"> This GUID and
-                                                                                                                               the Version attribute uniquely identify the
-                                                                                                                               Recommended Library Instance.
-                                                                                                                       </xs:documentation>
-                                                                                                               </xs:annotation>
-                                                                                                               <xs:complexType>
-                                                                                                                       <xs:simpleContent>
-                                                                                                                               <xs:extension base="RegistryFormatGuid">
-                                                                                                                                       <xs:attribute name="Version" type="xs:decimal"
-                                                                                                                                               use="optional">
-                                                                                                                                               <xs:annotation>
-                                                                                                                                                       <xs:documentation xml:lang="en-us"> This
-                                                                                                                                                               value, along with the GUID, is used to
-                                                                                                                                                               uniquely identify this object. If this
-                                                                                                                                                               value is not specified, then any version
-                                                                                                                                                               of the library instance is recommended.
-                                                                                                                                                       </xs:documentation>
-                                                                                                                                               </xs:annotation>
-                                                                                                                                       </xs:attribute>
-                                                                                                                               </xs:extension>
-                                                                                                                       </xs:simpleContent>
-                                                                                                               </xs:complexType>
-                                                                                                       </xs:element>
-                                                                                               </xs:sequence>
-                                                                                       </xs:complexType>
-                                                                               </xs:element>
-                                                                               <xs:element ref="HelpText" minOccurs="0"
-                                                                                       maxOccurs="unbounded" />
-                                                                       </xs:sequence>
-                                                                       <xs:attribute name="Keyword" type="xs:NCName" use="required">
-                                                                               <xs:annotation>
-                                                                                       <xs:documentation xml:lang="en-us"> The single word name
-                                                                                               of the Library Class that module developers will use to
-                                                                                               identify a library class dependency. </xs:documentation>
-                                                                               </xs:annotation>
-                                                                       </xs:attribute>
-                                                                       <xs:attributeGroup ref="SupportedArchMod" />
-                                                               </xs:complexType>
-                                                       </xs:element>
-                                               </xs:sequence>
-                                       </xs:complexType>
-                               </xs:element>
-                               <!-- End of PackageSurfaceArea LibraryClassDeclarations element.  -->
-
-                               <xs:element minOccurs="0" maxOccurs="1" name="IndustryStandardIncludes">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> This section is used to list
-                                                       header files for industry standards not under the auspices of
-                                                       UEFI.org. For example, headers that contain definitions and data
-                                                       structures for the USB specifications. </xs:documentation>
-                                       </xs:annotation>
-                                       <xs:complexType>
-                                               <xs:sequence>
-                                                       <xs:element minOccurs="1" maxOccurs="unbounded"
-                                                               name="IndustryStandardHeader">
-                                                               <xs:complexType>
-                                                                       <xs:sequence>
-                                                                               <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile"
-                                                                                       type="xs:anyURI">
-                                                                                       <xs:annotation>
-                                                                                               <xs:documentation xml:lang="en-us"> The package relative
-                                                                                                       path and filename (in the content zip file) of the
-                                                                                                       industry standard include file. </xs:documentation>
-                                                                                       </xs:annotation>
-                                                                               </xs:element>
-                                                                               <xs:element ref="HelpText" minOccurs="0"
-                                                                                       maxOccurs="unbounded" />
-                                                                       </xs:sequence>
-                                                               </xs:complexType>
-                                                       </xs:element>
-                                               </xs:sequence>
-                                       </xs:complexType>
-                               </xs:element>
-                               <!-- End of PackageSurfaceArea IndustryStdIncludes element.  -->
-
-                               <xs:element minOccurs="0" maxOccurs="1" name="PackageIncludes">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> All top level header files that
-                                                       are included by a package that are not listed above. They cannot
-                                                       be:</xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> 1) Local to a module (module
-                                                       specific.) </xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> 2) An industry standard header. </xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> 3) A library class header.
-                                               </xs:documentation>
-                                       </xs:annotation>
-                                       <xs:complexType>
-                                               <xs:sequence>
-                                                       <xs:element minOccurs="1" maxOccurs="unbounded"
-                                                               name="PackageHeader">
-                                                               <xs:complexType>
-                                                                       <xs:sequence>
-                                                                               <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile">
-                                                                                       <xs:annotation>
-                                                                                               <xs:documentation xml:lang="en-us"> This is the Package
-                                                                                                       relative path and filename location within the content
-                                                                                                       ZIP file. </xs:documentation>
-                                                                                       </xs:annotation>
-                                                                                       <xs:complexType>
-                                                                                               <xs:simpleContent>
-                                                                                                       <xs:extension base="xs:anyURI">
-                                                                                                               <xs:attributeGroup ref="SupportedArchMod" />
-                                                                                                       </xs:extension>
-                                                                                               </xs:simpleContent>
-                                                                                       </xs:complexType>
-                                                                               </xs:element>
-                                                                               <xs:element ref="HelpText" minOccurs="0"
-                                                                                       maxOccurs="unbounded" />
-                                                                       </xs:sequence>
-                                                               </xs:complexType>
-                                                       </xs:element>
-                                               </xs:sequence>
-                                       </xs:complexType>
-                               </xs:element>
-                               <!-- End of PackageSurfaceArea PackageIncluces element.  -->
-
-                               <xs:element minOccurs="0" maxOccurs="1" name="Modules">
-                                       <xs:complexType>
-                                               <xs:sequence>
-                                                       <xs:element ref="ModuleSurfaceArea" minOccurs="1"
-                                                               maxOccurs="unbounded">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> This section lists the
-                                                                               Module Surface Area for all modules provided with this
-                                                                               package. </xs:documentation>
-                                                               </xs:annotation>
-                                                       </xs:element>
-                                               </xs:sequence>
-                                       </xs:complexType>
-                               </xs:element>
-                               <!-- End of PackageSurfaceArea Modules element.  -->
-
-                               <xs:element minOccurs="0" maxOccurs="1" name="GuidDeclarations">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> This section defines the mapping
-                                                       of GUID C names to GUID values as a Registry Format GUID. </xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> Modules that use these GUIDs
-                                                       must specify their dependency on this package. </xs:documentation>
-                                       </xs:annotation>
-                                       <xs:complexType>
-                                               <xs:sequence>
-                                                       <xs:element minOccurs="1" maxOccurs="unbounded" name="Entry">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> Individual GUID
-                                                                               Declarations </xs:documentation>
-                                                               </xs:annotation>
-                                                               <xs:complexType>
-                                                                       <xs:sequence>
-                                                                               <xs:element minOccurs="1" maxOccurs="1" name="CName"
-                                                                                       type="xs:NCName" />
-                                                                               <xs:element minOccurs="1" maxOccurs="1" name="GuidValue"
-                                                                                       type="RegistryFormatGuid" />
-                                                                               <xs:element ref="HelpText" minOccurs="0"
-                                                                                       maxOccurs="unbounded" />
-                                                                       </xs:sequence>
-                                                                       <xs:attribute name="UiName" type="xs:normalizedString" use="optional" />
-                                                                       <xs:attribute name="GuidTypes" type="GuidListType"
-                                                                               use="optional" />
-                                                                       <xs:attributeGroup ref="SupportedArchMod" />
-                                                               </xs:complexType>
-                                                       </xs:element>
-                                               </xs:sequence>
-                                       </xs:complexType>
-                               </xs:element>
-                               <!-- End of PackageSurfaceArea GuidDeclarations element.  -->
-
-                               <xs:element minOccurs="0" maxOccurs="1" name="ProtocolDeclarations">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> This section defines the mapping
-                                                       of Protocol C names to GUID values as a Registry Format GUID. </xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> Modules that use these Protocols
-                                                       must specify their dependency on this package. </xs:documentation>
-                                       </xs:annotation>
-                                       <xs:complexType>
-                                               <xs:sequence>
-                                                       <xs:element minOccurs="1" maxOccurs="unbounded" name="Entry">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> Individual Protocol
-                                                                               Declarations </xs:documentation>
-                                                               </xs:annotation>
-                                                               <xs:complexType>
-                                                                       <xs:sequence>
-                                                                               <xs:element minOccurs="1" maxOccurs="1" name="CName"
-                                                                                       type="xs:NCName" />
-                                                                               <xs:element minOccurs="1" maxOccurs="1" name="GuidValue"
-                                                                                       type="RegistryFormatGuid" />
-                                                                               <xs:element ref="HelpText" minOccurs="0"
-                                                                                       maxOccurs="unbounded" />
-                                                                       </xs:sequence>
-                                                                       <xs:attribute name="UiName" type="xs:normalizedString" use="optional" />
-                                                                       <xs:attributeGroup ref="SupportedArchMod" />
-                                                               </xs:complexType>
-                                                       </xs:element>
-                                               </xs:sequence>
-                                       </xs:complexType>
-                               </xs:element>
-                               <!-- End of PackageSurfaceArea ProtocolDeclarations element.  -->
-
-                               <xs:element minOccurs="0" maxOccurs="1" name="PpiDeclarations">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> This section defines the mapping
-                                                       of Ppi C names to GUID values as a Registry Format GUID. </xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> Modules that use these Ppis must
-                                                       specify their dependency on this package. </xs:documentation>
-                                       </xs:annotation>
-                                       <xs:complexType>
-                                               <xs:sequence>
-                                                       <xs:element minOccurs="1" maxOccurs="unbounded" name="Entry">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> Individual PPI
-                                                                               Declarations </xs:documentation>
-                                                               </xs:annotation>
-                                                               <xs:complexType>
-                                                                       <xs:sequence>
-                                                                               <xs:element minOccurs="1" maxOccurs="1" name="CName"
-                                                                                       type="xs:NCName" />
-                                                                               <xs:element minOccurs="1" maxOccurs="1" name="GuidValue"
-                                                                                       type="RegistryFormatGuid" />
-                                                                               <xs:element ref="HelpText" minOccurs="0"
-                                                                                       maxOccurs="unbounded" />
-                                                                       </xs:sequence>
-                                                                       <xs:attribute name="UiName" type="xs:normalizedString" use="optional" />
-                                                                       <xs:attributeGroup ref="SupportedArchMod" />
-                                                               </xs:complexType>
-                                                       </xs:element>
-                                               </xs:sequence>
-                                       </xs:complexType>
-                               </xs:element>
-                               <!-- End of PackageSurfaceArea PpiDeclarations element.  -->
-
-                               <xs:element minOccurs="0" maxOccurs="1" name="PcdDeclarations">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> This section is used to declare
-                                                       platform configuration knobs that are defined by this package. </xs:documentation>
-                                               <xs:documentation xml:lang="en-us"> Modules that use these PCD
-                                                       values must specify their dependency on this package.
-                                               </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="TokenSpaceGuidCname" type="xs:NCName">
-                                                                                       <xs:annotation>
-                                                                                               <xs:documentation xml:lang="en-us"> Specifies the C name
-                                                                                                       of the Token Space GUID of which this PCD Entry is a
-                                                                                                       member. This C name should also be listed in the GUIDs
-                                                                                                       section, (specified above,) where the C name is
-                                                                                                       assigned to a GUID value. </xs:documentation>
-                                                                                       </xs:annotation>
-                                                                               </xs:element>
-                                                                               <xs:element minOccurs="1" maxOccurs="1" name="Token">
-                                                                                       <xs:annotation>
-                                                                                               <xs:documentation xml:lang="en-us"> Specifies the 32-bit
-                                                                                                       token value for this PCD Entry. The Token number must
-                                                                                                       be unique to the Token Space that declares the PCD. </xs:documentation>
-                                                                                               <xs:documentation xml:lang="en-us"> The minLength of 3
-                                                                                                       is required to handle the "0x" prefix to the hex
-                                                                                                       number. </xs:documentation>
-                                                                                       </xs:annotation>
-                                                                                       <xs:simpleType>
-                                                                                               <xs:restriction base="HexNumber">
-                                                                                                       <xs:minLength value="3" />
-                                                                                                       <xs:maxLength value="10" />
-                                                                                               </xs:restriction>
-                                                                                       </xs:simpleType>
-                                                                               </xs:element>
-                                                                               <xs:element minOccurs="1" maxOccurs="1" name="CName"
-                                                                                       type="xs:NCName" />
-                                                                               <xs:element minOccurs="1" maxOccurs="1" name="DatumType"
-                                                                                       type="PcdDatumTypes">
-                                                                                       <xs:annotation>
-                                                                                               <xs:documentation xml:lang="en-us"> A string that
-                                                                                                       contains the data type of this PCD Entry. PCD data
-                                                                                                       types are restricted to the following set:UINT8,
-                                                                                                       UINT16, UINT32, UINT64, VOID*, BOOLEAN.
-                                                                                               </xs:documentation>
-                                                                                       </xs:annotation>
-                                                                               </xs:element>
-                                                                               <xs:element minOccurs="1" maxOccurs="1" name="ValidUsage"
-                                                                                       type="PcdItemListType">
-                                                                                       <xs:annotation>
-                                                                                               <xs:documentation xml:lang="en-us"> A string that
-                                                                                                       contains one or more PCD Item types separated by
-                                                                                                       spaces. The PCD Item types are restricted to
-                                                                                                       FeaturePcd, FixedPcd, PatchPcd, Pcd and/or PcdEx.
-                                                                                               </xs:documentation>
-                                                                                       </xs:annotation>
-                                                                               </xs:element>
-                                                                               <xs:element minOccurs="1" maxOccurs="1" name="DefaultValue"
-                                                                                       type="xs:normalizedString" />
-                                                                               <xs:element minOccurs="0" maxOccurs="1" name="MaxDatumSize">
-                                                                                       <xs:annotation>
-                                                                                               <xs:documentation xml:lang="en-us"> This is a
-                                                                                                       recommended maximum data size for VOID* data types,
-                                                                                                       the actual value should be defined by the Platform
-                                                                                                       Integrator. It is not required for the other data
-                                                                                                       types. </xs:documentation>
-                                                                                               <xs:documentation xml:lang="en-us"> The minLength of 3
-                                                                                                       is required to handle the "0x" prefix to the hex
-                                                                                                       number. </xs:documentation>
-
-                                                                                       </xs:annotation>
-                                                                                       <xs:simpleType>
-                                                                                               <xs:restriction base="HexNumber">
-                                                                                                       <xs:minLength value="3" />
-                                                                                               </xs:restriction>
-                                                                                       </xs:simpleType>
-                                                                               </xs:element>
-                                                                               <xs:element ref="HelpText" minOccurs="0"
-                                                                                       maxOccurs="unbounded" />
-
-                                                                               <xs:element minOccurs="0" maxOccurs="unbounded"
-                                                                                       name="PcdError">
-                                                                                       <xs:annotation>
-                                                                                               <xs:documentation xml:lang="en-us"> Valid Error messages
-                                                                                                       that may be implemented in a module for the PCD Entry.
-                                                                                                       Only One Error Number per PcdError, (multiple
-                                                                                                       ErrorMessage entries are permitted) and multiple
-                                                                                                       PcdError elements are permitted. </xs:documentation>
-                                                                                       </xs:annotation>
-                                                                                       <xs:complexType>
-                                                                                               <xs:sequence>
-                                                                                                       <xs:choice minOccurs="1" maxOccurs="1">
-                                                                                                               <xs:annotation>
-                                                                                                                       <xs:documentation xml:lang="en-us"> One of the
-                                                                                                                               following types of comparisons, which must be
-                                                                                                                               able to evaluate to either true or false.
-                                                                                                                       </xs:documentation>
-                                                                                                               </xs:annotation>
-                                                                                                               <xs:element minOccurs="0" maxOccurs="1"
-                                                                                                                       name="ValidValueList">
-                                                                                                                       <xs:annotation>
-                                                                                                                               <xs:documentation xml:lang="en-us"> The PCD
-                                                                                                                                       Value must be space separated list of values.
-                                                                                                                                       Values are restricted to the data type of this
-                                                                                                                                       PCD. </xs:documentation>
-                                                                                                                       </xs:annotation>
-                                                                                                                       <xs:complexType>
-                                                                                                                               <xs:simpleContent>
-                                                                                                                                       <xs:extension base="xs:normalizedString">
-                                                                                                                                               <xs:attribute name="Lang" type="xs:language"
-                                                                                                                                                       use="optional" />
-                                                                                                                                       </xs:extension>
-                                                                                                                               </xs:simpleContent>
-                                                                                                                       </xs:complexType>
-                                                                                                               </xs:element>
-                                                                                                               <xs:element minOccurs="0" maxOccurs="1"
-                                                                                                                       name="ValidValueRange" type="xs:normalizedString">
-                                                                                                                       <xs:annotation>
-                                                                                                                               <xs:documentation xml:lang="en-us"> The PCD must
-                                                                                                                                       be within a specifed range of numeric values.
-                                                                                                                                       Restricted to C style Relational, Equality and
-                                                                                                                                       Logicial Operators and parenthesis are valid.
-                                                                                                                                       Only the CName for this PCD is permitted in
-                                                                                                                                       the ValidValueRange expression. All other
-                                                                                                                                       values must be numeric.</xs:documentation>
-                                                                                                                               <xs:documentation xml:lang="en-us"> LValue (op
-                                                                                                                                       RValue)+ </xs:documentation>
-                                                                                                                       </xs:annotation>
-                                                                                                               </xs:element>
-                                                                                                               <xs:element minOccurs="0" maxOccurs="1"
-                                                                                                                       name="Expression" type="xs:normalizedString">
-                                                                                                                       <xs:annotation>
-                                                                                                                               <xs:documentation xml:lang="en-us"> A in-fix
-                                                                                                                                       logical expression using C style logical
-                                                                                                                                       operators. </xs:documentation>
-                                                                                                                       </xs:annotation>
-                                                                                                               </xs:element>
-                                                                                                       </xs:choice>
-                                                                                                       <xs:element minOccurs="1" maxOccurs="1"
-                                                                                                               name="ErrorNumber">
-                                                                                                               <xs:annotation>
-                                                                                                                       <xs:documentation xml:lang="en-us"> A hexadecimal
-                                                                                                                               value for the error message as defined by
-                                                                                                                               specifications. </xs:documentation>
-                                                                                                                       <xs:documentation xml:lang="en-us"> The minLength
-                                                                                                                               of 3 is required to handle the "0x" prefix to
-                                                                                                                               the hex number. </xs:documentation>
-
-                                                                                                               </xs:annotation>
-                                                                                                               <xs:simpleType>
-                                                                                                                       <xs:restriction base="HexNumber">
-                                                                                                                               <xs:minLength value="3" />
-                                                                                                                       </xs:restriction>
-                                                                                                               </xs:simpleType>
-                                                                                                       </xs:element>
-                                                                                                       <xs:element minOccurs="1" maxOccurs="unbounded"
-                                                                                                               name="ErrorMessage">
-                                                                                                               <xs:annotation>
-                                                                                                                       <xs:documentation xml:lang="en-us"> This string
-                                                                                                                               should be defined by specifications. There are
-                                                                                                                               pre-defined error number ranges in the UEFI/PI
-                                                                                                                               specificaiton. </xs:documentation>
-                                                                                                               </xs:annotation>
-                                                                                                               <xs:complexType>
-                                                                                                                       <xs:simpleContent>
-                                                                                                                               <xs:extension base="xs:string">
-                                                                                                                                       <xs:attribute name="Lang" type="xs:language"
-                                                                                                                                               default="en-us" use="optional" />
-                                                                                                                               </xs:extension>
-                                                                                                                       </xs:simpleContent>
-                                                                                                               </xs:complexType>
-                                                                                                       </xs:element>
-                                                                                               </xs:sequence>
-                                                                                       </xs:complexType>
-                                                                               </xs:element>
-                                                                       </xs:sequence>
-                                                                       <xs:attributeGroup ref="SupportedArchMod" />
-                                                               </xs:complexType>
-                                                       </xs:element>
-                                               </xs:sequence>
-                                       </xs:complexType>
-                               </xs:element>
-                               <!-- End of PackageSurfaceArea PcdDeclarations element.  -->
-
-                               <xs:element minOccurs="0" maxOccurs="1" name="PcdRelationshipChecks">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> This section is used to describe
-                                                       any PCD interdependencies or relationships. </xs:documentation>
-                                       </xs:annotation>
-                                       <xs:complexType>
-                                               <xs:sequence>
-                                                       <xs:element minOccurs="1" maxOccurs="unbounded" name="PcdCheck"
-                                                               type="xs:normalizedString">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> This entry must used
-                                                                               TokenSpaceGuidCName.PcdCname for every named PCD. Restricted
-                                                                               to Relational, Equality and Logical Operators (NOT, AND, OR,
-                                                                               GT, GE, EQ, LE, LT and XOR) and parenthesis are valid. Only
-                                                                               the TokenSpaceGuidCName.PcdCname us permitted to name PCDs
-                                                                               in the expression. All other values must be numeric. </xs:documentation>
-                                                                       <xs:documentation xml:lang="en-us"> LValue (op RValue)+
-                                                                       </xs:documentation>
-                                                               </xs:annotation>
-                                                       </xs:element>
-                                               </xs:sequence>
-                                       </xs:complexType>
-                               </xs:element>
-
-                               <xs:element minOccurs="0" maxOccurs="unbounded"
-                                       name="MiscellaneousFiles">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> This section contains files that
-                                                       are not part of the code distributed with this package.
-                                               </xs:documentation>
-                                       </xs:annotation>
-                                       <xs:complexType>
-                                               <xs:sequence>
-                                                       <xs:element minOccurs="0" maxOccurs="1" name="Copyright"
-                                                               type="xs:string">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> Only required if different
-                                                                               from the Package Copyright. </xs:documentation>
-                                                               </xs:annotation>
-                                                       </xs:element>
-                                                       <xs:element minOccurs="0" maxOccurs="1" name="License"
-                                                               type="xs:string">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> Only required if different
-                                                                               from the Package License. </xs:documentation>
-                                                               </xs:annotation>
-                                                       </xs:element>
-                                                       <xs:element minOccurs="0" maxOccurs="1" name="Abstract"
-                                                               type="xs:string">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> A one line description of
-                                                                               this section's content. </xs:documentation>
-                                                               </xs:annotation>
-                                                       </xs:element>
-                                                       <xs:element minOccurs="0" maxOccurs="unbounded" name="Description"
-                                                               type="xs:string">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> A complete description of
-                                                                               the files in this section. </xs:documentation>
-                                                               </xs:annotation>
-                                                       </xs:element>
-                                                       <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> This is the PackagePath
-                                                                               relative path and filename location within the ZIP file.
-                                                                       </xs:documentation>
-                                                               </xs:annotation>
-                                                               <xs:complexType>
-                                                                       <xs:simpleContent>
-                                                                               <xs:extension base="xs:anyURI">
-                                                                                       <xs:attribute name="Executable" type="xs:boolean"
-                                                                                               default="false" use="optional">
-                                                                                               <xs:annotation>
-                                                                                                       <xs:documentation xml:lang="en-us"> If true, used by
-                                                                                                               installation tools to ensure that a file that must
-                                                                                                               be executable has the correct properties to permit
-                                                                                                               execution. </xs:documentation>
-                                                                                               </xs:annotation>
-                                                                                       </xs:attribute>
-                                                                               </xs:extension>
-                                                                       </xs:simpleContent>
-                                                               </xs:complexType>
-                                                       </xs:element>
-
-                                               </xs:sequence>
-                                       </xs:complexType>
-                               </xs:element>
-                               <!-- End of PackageSurfaceArea Misc element.  -->
-
-                               <xs:element minOccurs="0" maxOccurs="unbounded" name="UserExtensions">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> This section is used for any
-                                                       processing instructions that may be custom to the content provided
-                                                       by this package that are common to this package.
-                                               </xs:documentation>
-                                       </xs:annotation>
-                                       <xs:complexType mixed="true">
-                                               <xs:sequence>
-                                                       <xs:any processContents="lax" minOccurs="0" maxOccurs="1" />
-                                               </xs:sequence>
-                                               <xs:attribute name="UserId" type="xs:NCName" use="required">
-                                                       <xs:annotation>
-                                                               <xs:documentation xml:lang="en-us"> This is a single word
-                                                                       identifier for grouping similar content that does not fit into
-                                                                       previously defined sections or other sections of the
-                                                                       Distribution. </xs:documentation>
-                                                       </xs:annotation>
-                                               </xs:attribute>
-                                               <xs:attribute name="Identifier" type="xs:string" use="optional">
-                                                       <xs:annotation>
-                                                               <xs:documentation xml:lang="en-us"> This can be used to
-                                                                       differentiate multiple sections with a grouping. </xs:documentation>
-                                                               <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS
-                                                                       Identifier might indicate specific steps and tools required
-                                                                       before processing module content, while a different
-                                                                       UserExtensions section with a POST_PROCESS Identifier might
-                                                                       describe steps that need to be executed after operations on
-                                                                       the modules in this package. </xs:documentation>
-                                                       </xs:annotation>
-                                               </xs:attribute>
-                                               <xs:anyAttribute processContents="lax" />
-                                       </xs:complexType>
-                               </xs:element>
-                               <!-- End of PackageSurfaceArea UserExtensions element. -->
-
-                       </xs:sequence>
-               </xs:complexType>
-       </xs:element>
-       <!-- End of the PackageSurfaceArea element. -->
-
-       <xs:element name="ModuleSurfaceArea">
-               <xs:annotation>
-                       <xs:documentation xml:lang="en-us"> Each module is uniquely identified by
-                               it's GUID and Version number. Backward compatible releases of a module
-                               need only change the version number, while non-backward compatible
-                               changes require the GUID to change (resetting the version number to 1.0
-                               is optional.) </xs:documentation>
-               </xs:annotation>
-               <xs:complexType>
-                       <xs:sequence>
-
-                               <xs:element minOccurs="1" maxOccurs="1" name="Header">
-                                       <xs:complexType>
-                                               <xs:sequence>
-                                                       <xs:element minOccurs="1" maxOccurs="1" name="Name">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> This is the User Interface
-                                                                               Name for this Module. </xs:documentation>
-                                                               </xs:annotation>
-                                                               <xs:complexType>
-                                                                       <xs:simpleContent>
-                                                                               <xs:extension base="xs:normalizedString">
-                                                                                       <xs:attribute name="BaseName" type="xs:NCName"
-                                                                                               use="required">
-                                                                                               <xs:annotation>
-                                                                                                       <xs:documentation xml:lang="en-us"> This is a single
-                                                                                                               word BaseName that will be used to create a module
-                                                                                                               meta-data file. </xs:documentation>
-                                                                                                       <xs:documentation xml:lang="en-us"> This name should
-                                                                                                               also be used to create output file names and
-                                                                                                               directories. </xs:documentation>
-                                                                                               </xs:annotation>
-                                                                                       </xs:attribute>
-                                                                               </xs:extension>
-                                                                       </xs:simpleContent>
-                                                               </xs:complexType>
-                                                       </xs:element>
-                                                       <xs:element minOccurs="1" maxOccurs="1" name="GUID">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> This GUID and the Version
-                                                                               attribute uniquely identify a given Module.
-                                                                       </xs:documentation>
-                                                               </xs:annotation>
-                                                               <xs:complexType>
-                                                                       <xs:simpleContent>
-                                                                               <xs:extension base="RegistryFormatGuid">
-                                                                                       <xs:attribute name="Version" type="xs:decimal"
-                                                                                               use="required">
-                                                                                               <xs:annotation>
-                                                                                                       <xs:documentation xml:lang="en-us"> This value, along
-                                                                                                               with the GUID, is used to uniquely identify this
-                                                                                                               object. </xs:documentation>
-                                                                                                       <xs:documentation xml:lang="en-us"> Backward
-                                                                                                               compatible changes must make sure this number is
-                                                                                                               incremented from the most recent version.
-                                                                                                               Non-backward compatible changes require a new GUID,
-                                                                                                               and the version can be reset. </xs:documentation>
-                                                                                               </xs:annotation>
-                                                                                       </xs:attribute>
-                                                                               </xs:extension>
-                                                                       </xs:simpleContent>
-                                                               </xs:complexType>
-                                                       </xs:element>
-                                                       <xs:element minOccurs="0" maxOccurs="1" name="Copyright"
-                                                               type="xs:string">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> This is only required if
-                                                                               the Copyright is different from either the Package or
-                                                                               Distribution copyright. Multiple copyright lines are 
-                                                                               permitted within this section. </xs:documentation>
-                                                               </xs:annotation>
-                                                       </xs:element>
-                                                       <xs:element minOccurs="0" maxOccurs="1" name="License"
-                                                               type="xs:string">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> This is only required if
-                                                                               the license is different from either the Package or
-                                                                               Distribution license. Multiple licenses are permitted
-                                                                               within this section. </xs:documentation>
-                                                               </xs:annotation>
-                                                       </xs:element>
-                                                       <xs:element minOccurs="0" maxOccurs="1" name="Abstract"
-                                                               type="xs:normalizedString">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> A brief text description
-                                                                               of the module. </xs:documentation>
-                                                               </xs:annotation>
-                                                       </xs:element>
-                                                       <xs:element minOccurs="0" maxOccurs="1" name="Description"
-                                                               type="xs:string">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> A complete description of
-                                                                               the module contents and/or features including a description
-                                                                               of the updates since the previous module release.
-                                                                       </xs:documentation>
-                                                               </xs:annotation>
-                                                       </xs:element>
-                                               </xs:sequence>
-                                       </xs:complexType>
-                               </xs:element>
-                               <!-- End of Module Surface Area Header Section -->
-
-                               <xs:element minOccurs="0" maxOccurs="1" name="ModuleProperties">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> List general information about a
-                                                       module, including the Supported Architectures, this module's type,
-                                                       specifications the module is coded against, and other
-                                                       informational content. </xs:documentation>
-                                       </xs:annotation>
-                                       <xs:complexType>
-                                               <xs:sequence>
-                                                       <xs:element minOccurs="1" maxOccurs="1" name="ModuleType"
-                                                               type="ModuleTypes">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> One of the Enumerated
-                                                                               module types that limit the use of a module.
-                                                                       </xs:documentation>
-                                                               </xs:annotation>
-                                                       </xs:element>
-                                                       <xs:element minOccurs="1" maxOccurs="1" name="Path"
-                                                               type="xs:anyURI">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> For stand-alone modules
-                                                                               that are NOT part of any package, this is the path to the
-                                                                               root of the module as listed in the ZIP file. For modules
-                                                                               included in a package, this is the location, relative to the
-                                                                               root of the package (PackagePath) this module belongs to.
-                                                                       </xs:documentation>
-                                                               </xs:annotation>
-                                                       </xs:element>
-                                                       <xs:element minOccurs="0" maxOccurs="1" name="PcdIsDriver">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> This element is only
-                                                                               required for the PEIM that produces the PCD PPI or the DXE
-                                                                               Driver that produces the PCD Protocol. </xs:documentation>
-                                                               </xs:annotation>
-                                                               <xs:simpleType>
-                                                                       <xs:restriction base="xs:NCName">
-                                                                               <xs:enumeration value="PEI_PCD_DRIVER" />
-                                                                               <xs:enumeration value="DXE_PCD_DRIVER" />
-                                                                       </xs:restriction>
-                                                               </xs:simpleType>
-                                                       </xs:element>
-
-                                                       <xs:element minOccurs="0" maxOccurs="1"
-                                                               name="UefiSpecificationVersion" type="xs:decimal" />
-
-                                                       <xs:element minOccurs="0" maxOccurs="1"
-                                                               name="PiSpecificationVersion" type="xs:decimal" />
-
-                                                       <xs:element minOccurs="0" maxOccurs="unbounded"
-                                                               name="Specification">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> This is a list of other
-                                                                               specifications that this module is written against. These
-                                                                               entries can be used in #define statements (depending on the
-                                                                               build system implementation, they may be autogenerated.)
-                                                                       </xs:documentation>
-                                                               </xs:annotation>
-                                                               <xs:complexType>
-                                                                       <xs:simpleContent>
-                                                                               <xs:extension base="xs:NCName">
-                                                                                       <xs:attribute name="Version" type="xs:decimal"
-                                                                                               use="required" />
-                                                                               </xs:extension>
-                                                                       </xs:simpleContent>
-                                                               </xs:complexType>
-                                                       </xs:element>
-
-                                                       <xs:element minOccurs="0" maxOccurs="unbounded" name="BootMode">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> Different firmware
-                                                                               execution paths may be taken based on a given state of the
-                                                                               hardware, firmware, or through feature settings. A BootMode
-                                                                               may be declared (PRODUCES) or discovered (CONSUMES) based on
-                                                                               these states and feature settings. The supported boot modes
-                                                                               map to the PI specification Boot Modes. The boot modes
-                                                                               listed with Recovery are to indicate that the BootMode is
-                                                                               valid during a recovery boot. </xs:documentation>
-                                                               </xs:annotation>
-                                                               <xs:complexType>
-                                                                       <xs:sequence minOccurs="0">
-                                                                               <xs:element minOccurs="1" maxOccurs="1"
-                                                                                       name="SupportedBootModes">
-                                                                                       <xs:simpleType>
-                                                                                               <xs:list>
-                                                                                                       <xs:simpleType>
-                                                                                                               <xs:restriction base="xs:NCName">
-                                                                                                                       <xs:enumeration value="FULL" />
-                                                                                                                       <xs:enumeration value="MINIMAL" />
-                                                                                                                       <xs:enumeration value="NO_CHANGE" />
-                                                                                                                       <xs:enumeration value="DIAGNOSTICS" />
-                                                                                                                       <xs:enumeration value="DEFAULT" />
-                                                                                                                       <xs:enumeration value="S2_RESUME" />
-                                                                                                                       <xs:enumeration value="S3_RESUME" />
-                                                                                                                       <xs:enumeration value="S4_RESUME" />
-                                                                                                                       <xs:enumeration value="S5_RESUME" />
-                                                                                                                       <xs:enumeration value="FLASH_UPDATE" />
-                                                                                                                       <xs:enumeration value="RECOVERY_FULL" />
-                                                                                                                       <xs:enumeration value="RECOVERY_MINIMAL" />
-                                                                                                                       <xs:enumeration value="RECOVERY_NO_CHANGE" />
-                                                                                                                       <xs:enumeration value="RECOVERY_DIAGNOSTICS" />
-                                                                                                                       <xs:enumeration value="RECOVERY_DEFAULT" />
-                                                                                                                       <xs:enumeration value="RECOVERY_S2_RESUME" />
-                                                                                                                       <xs:enumeration value="RECOVERY_S3_RESUME" />
-                                                                                                                       <xs:enumeration value="RECOVERY_S4_RESUME" />
-                                                                                                                       <xs:enumeration value="RECOVERY_S5_RESUME" />
-                                                                                                                       <xs:enumeration value="RECOVERY_FLASH_UPDATE" />
-                                                            <xs:enumeration value="UNDEFINED" />
-                                                                                                               </xs:restriction>
-                                                                                                       </xs:simpleType>
-                                                                                               </xs:list>
-                                                                                       </xs:simpleType>
-                                                                               </xs:element>
-
-                                                                               <xs:element ref="HelpText" minOccurs="0"
-                                                                                       maxOccurs="unbounded" />
-                                                                       </xs:sequence>
-                                                                       <xs:attribute name="Usage" use="required">
-                                                                               <xs:simpleType>
-                                                                                       <xs:restriction base="xs:NCName">
-                                                                                               <xs:enumeration value="CONSUMES">
-                                                                                                       <xs:annotation>
-                                                                                                               <xs:documentation xml:lang="en-us"> The module
-                                                                                                                       always supports the given boot modes.
-                                                                                                               </xs:documentation>
-                                                                                                       </xs:annotation>
-                                                                                               </xs:enumeration>
-                                                                                               <xs:enumeration value="SOMETIMES_CONSUMES">
-                                                                                                       <xs:annotation>
-                                                                                                               <xs:documentation xml:lang="en-us"> The module may
-                                                                                                                       support a given mode on some execution paths.
-                                                                                                               </xs:documentation>
-                                                                                                       </xs:annotation>
-                                                                                               </xs:enumeration>
-                                                                                               <xs:enumeration value="PRODUCES">
-                                                                                                       <xs:annotation>
-                                                                                                               <xs:documentation xml:lang="en-us"> The module will
-                                                                                                                       change the boot mode. </xs:documentation>
-                                                                                                       </xs:annotation>
-                                                                                               </xs:enumeration>
-                                                                                               <xs:enumeration value="SOMETIME_PRODUCES">
-                                                                                                       <xs:annotation>
-                                                                                                               <xs:documentation xml:lang="en-us"> The module will
-                                                                                                                       change the boot mode on some exection paths.
-                                                                                                               </xs:documentation>
-                                                                                                       </xs:annotation>
-                                                                                               </xs:enumeration>
-                                                                                               <xs:enumeration value="UNDEFINED">
-                                                                                                       <xs:annotation>
-                                                                                                               <xs:documentation xml:lang="en-us"> The package
-                                                                                                                       creator does not know how the boot mode is used.
-                                                                                                               </xs:documentation>
-                                                                                                       <xs:/annotation>
-                                                                                               </xs:enumeration>
-                                                                                       </xs:restriction>
-                                                                               </xs:simpleType>
-                                                                       </xs:attribute>
-                                                                       <xs:attribute name="SupArchList" type="ArchListType"
-                                                                               use="optional" />
-                                                                       <xs:attribute name="FeatureFlag" type="xs:normalizedString"
-                                                                               use="optional" />
-                                                               </xs:complexType>
-                                                       </xs:element>
-
-                                                       <xs:element minOccurs="0" maxOccurs="unbounded" name="Event"
-                                                               nillable="true">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> The functions that make up
-                                                                               the Event, Timer, and Task Priority Services are used during
-                                                                               preboot to create, close, signal, and wait for events; to
-                                                                               set timers; and to raise and restore task priority levels as
-                                                                               defined in the UEFI specification. GUIDed events should be
-                                                                               listed in the Guids section. </xs:documentation>
-                                                               </xs:annotation>
-                                                               <xs:complexType>
-                                                                       <xs:sequence>
-                                                                               <xs:element ref="HelpText" minOccurs="0"
-                                                                                       maxOccurs="unbounded" />
-                                                                       </xs:sequence>
-                                                                       <xs:attribute name="Usage" use="required">
-                                                                               <xs:simpleType>
-                                                                                       <xs:restriction base="xs:NCName">
-                                                                                               <xs:enumeration value="CONSUMES">
-                                                                                                       <xs:annotation>
-                                                                                                               <xs:documentation xml:lang="en-us"> The module will
-                                                                                                                       register a notification function and calls the
-                                                                                                                       function when it is signaled. </xs:documentation>
-                                                                                                       </xs:annotation>
-                                                                                               </xs:enumeration>
-                                                                                               <xs:enumeration value="SOMETIMES_CONSUMES">
-                                                                                                       <xs:annotation>
-                                                                                                               <xs:documentation xml:lang="en-us"> The module will
-                                                                                                                       register a notification function and calls the
-                                                                                                                       function when it is signaled on some execution
-                                                                                                                       paths. </xs:documentation>
-                                                                                                       </xs:annotation>
-                                                                                               </xs:enumeration>
-                                                                                               <xs:enumeration value="PRODUCES">
-                                                                                                       <xs:annotation>
-                                                                                                               <xs:documentation xml:lang="en-us"> The module will
-                                                                                                                       signal all events in an event group.
-                                                                                                               </xs:documentation>
-                                                                                                       </xs:annotation>
-                                                                                               </xs:enumeration>
-                                                                                               <xs:enumeration value="SOMETIMES_PRODUCES">
-                                                                                                       <xs:annotation>
-                                                                                                               <xs:documentation xml:lang="en-us"> The module will
-                                                                                                                       signal all events in an event group under some
-                                                                                                                       execution paths. </xs:documentation>
-                                                                                                       </xs:annotation>
-                                                                                               </xs:enumeration>
-                                                                                               <xs:enumeration value="UNDEFINED">
-                                                                                                       <xs:annotation>
-                                                                                                               <xs:documentation xml:lang="en-us"> The package
-                                                                                                                       creator does not know how an event is used.
-                                                                                                               </xs:documentation>
-                                                                                                       <xs:/annotation>
-                                                                                               </xs:enumeration>
-                                                                                       </xs:restriction>
-                                                                               </xs:simpleType>
-                                                                       </xs:attribute>
-                                                                       <xs:attribute name="EventType" use="required">
-                                                                               <xs:simpleType>
-                                                                                       <xs:restriction base="xs:NCName">
-                                                                                               <xs:enumeration value="EVENT_TYPE_PERIODIC_TIMER" />
-                                                                                               <xs:enumeration value="EVENT_TYPE_RELATIVE_TIMER" />
-                                                                                               <xs:enumeration value="UNDEFINED"/>
-                                                                                       </xs:restriction>
-                                                                               </xs:simpleType>
-
-
-                                                                       </xs:attribute>
-                                                                       <xs:attribute name="SupArchList" type="ArchListType"
-                                                                               use="optional" />
-                                                                       <xs:attribute name="FeatureFlag" type="xs:normalizedString"
-                                                                               use="optional" />
-                                                               </xs:complexType>
-                                                       </xs:element>
-
-                                                       <xs:element minOccurs="0" maxOccurs="unbounded" name="HOB"
-                                                               nillable="false">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> This is a list of
-                                                                               non-GUIDed Hand Off Blocks (HOBs) produced or consumed by
-                                                                               this module. </xs:documentation>
-                                                               </xs:annotation>
-                                                               <xs:complexType>
-                                                                       <xs:sequence>
-                                                                               <xs:element ref="HelpText" minOccurs="0"
-                                                                                       maxOccurs="unbounded" />
-                                                                       </xs:sequence>
-                                                                       <xs:attribute name="HobType" use="required">
-                                                                               <xs:simpleType>
-                                                                                       <xs:restriction base="xs:NCName">
-                                                                                               <xs:enumeration value="PHIT" />
-                                                                                               <xs:enumeration value="MEMORY_ALLOCATION" />
-                                                                                               <xs:enumeration value="RESOURCE_DESCRIPTOR" />
-                                                                                               <xs:enumeration value="FIRMWARE_VOLUME" />
-                                                                                               <xs:enumeration value="LOAD_PEIM" />
-                                                                                               <xs:enumeratino value="UNDEFINED" />
-                                                                                       </xs:restriction>
-                                                                               </xs:simpleType>
-                                                                       </xs:attribute>
-                                                                       <xs:attribute name="Usage" use="required">
-                                                                               <xs:simpleType>
-                                                                                       <xs:restriction base="xs:NCName">
-                                                                                               <xs:enumeration value="CONSUMES">
-                                                                                                       <xs:annotation>
-                                                                                                               <xs:documentation xml:lang="en-us"> A HOB must be
-                                                                                                                       present in the system. </xs:documentation>
-                                                                                                       </xs:annotation>
-                                                                                               </xs:enumeration>
-                                                                                               <xs:enumeration value="SOMETIMES_CONSUMES">
-                                                                                                       <xs:annotation>
-                                                                                                               <xs:documentation xml:lang="en-us"> If present, the
-                                                                                                                       HOB will be used. </xs:documentation>
-                                                                                                       </xs:annotation>
-                                                                                               </xs:enumeration>
-                                                                                               <xs:enumeration value="PRODUCES">
-                                                                                                       <xs:annotation>
-                                                                                                               <xs:documentation xml:lang="en-us"> The HOB is
-                                                                                                                       always produced by the module. </xs:documentation>
-                                                                                                       </xs:annotation>
-                                                                                               </xs:enumeration>
-                                                                                               <xs:enumeration value="SOMETIMES_PRODUCES">
-                                                                                                       <xs:annotation>
-                                                                                                               <xs:documentation xml:lang="en-us"> The HOB may be
-                                                                                                                       produced by the module under some execution paths.
-                                                                                                               </xs:documentation>
-                                                                                                       </xs:annotation>
-                                                                                               </xs:enumeration>
-                                                                                               <xs:enumeration value="UNDEFINED">
-                                                                                                       <xs:annotation>
-                                                                                                               <xs:documentation xml:lang="en-us"> The package
-                                                                                                                       creator knows that a HOB is used, but does not 
-                                                            know how it is used.
-                                                                                                               </xs:documentation>
-                                                                                                       <xs:/annotation>
-                                                                                               </xs:enumeration>
-                                                                                       </xs:restriction>
-                                                                               </xs:simpleType>
-                                                                       </xs:attribute>
-                                                                       <xs:attribute name="SupArchList" type="ArchListType"
-                                                                               use="optional" />
-                                                                       <xs:attribute name="FeatureFlag" type="xs:normalizedString"
-                                                                               use="optional" />
-                                                               </xs:complexType>
-                                                       </xs:element>
-
-                                               </xs:sequence>
-                                               <xs:attributeGroup ref="SupportedArchMod" />
-                                       </xs:complexType>
-                               </xs:element>
-                               <!-- End of ModuleProperties Section -->
-
-                               <xs:element minOccurs="0" maxOccurs="1" name="ClonedFrom">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> This section may be included for
-                                                       Modules that are copied from a different module.
-                                               </xs:documentation>
-                                       </xs:annotation>
-                                       <xs:complexType>
-                                               <xs:sequence>
-                                                       <xs:element minOccurs="1" maxOccurs="1" name="GUID">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> This GUID and the Version
-                                                                               attribute uniquely identify the Module that this Module was
-                                                                               copied from. </xs:documentation>
-                                                               </xs:annotation>
-                                                               <xs:complexType>
-                                                                       <xs:simpleContent>
-                                                                               <xs:extension base="RegistryFormatGuid">
-                                                                                       <xs:attribute name="Version" type="xs:decimal"
-                                                                                               use="required">
-                                                                                               <xs:annotation>
-                                                                                                       <xs:documentation xml:lang="en-us"> This value, along
-                                                                                                               with the GUID, is used to uniquely identify this
-                                                                                                               object. </xs:documentation>
-                                                                                               </xs:annotation>
-                                                                                       </xs:attribute>
-                                                                               </xs:extension>
-                                                                       </xs:simpleContent>
-                                                               </xs:complexType>
-                                                       </xs:element>
-                                               </xs:sequence>
-                                       </xs:complexType>
-                               </xs:element>
-                               <!--  End of ClonedFrom Section. -->
-
-                               <xs:element minOccurs="0" maxOccurs="1" name="LibraryClassDefinitions">
-                                       <xs:annotation>
-                                               <xs:documentation xml:lang="en-us"> A list of the different Library
-                                                       Classes consumed by a driver, core and/or application module, or
-                                                       produced by a Library module. </xs:documentation>
-                                       </xs:annotation>
-                                       <xs:complexType>
-                                               <xs:sequence>
-                                                       <xs:element minOccurs="1" maxOccurs="unbounded"
-                                                               name="LibraryClass">
-                                                               <xs:complexType>
-                                                                       <xs:sequence>
-                                                                               <xs:element minOccurs="1" maxOccurs="1" name="Keyword"
-                                                                                       type="xs:NCName">
-                                                                                       <xs:annotation>
-                                                                                               <xs:documentation xml:lang="en-us "> Used by tools to
-                                                                                                       identify different instances of libraries that provide
-                                                                                                       the library class. This keyword identifies the library
-                                                                                                       class this module needs to be linked against.
-                                                                                               </xs:documentation>
-                                                                                       </xs:annotation>
-                                                                               </xs:element>
-                                                                               <xs:element minOccurs="0" maxOccurs="1"
-                                                                                       name="RecommendedInstance">
-                                                                                       <xs:complexType>
-                                                                                               <xs:all>
-                                                                                                       <xs:element minOccurs="1" maxOccurs="1" name="GUID">
-                                                                                                               <xs:annotation>
-                                                                                                                       <xs:documentation xml:lang="en-us"> This GUID and
-                                                                                                                               the Version attribute uniquely identify the
-                                                                                                                               recommended Library Instance for this module .
-                                                                                                                       </xs:documentation>
-                                                                                                               </xs:annotation>
-                                                                                                               <xs:complexType>
-                                                                                                                       <xs:simpleContent>
-                                                                                                                               <xs:extension base="RegistryFormatGuid">
-                                                                                                                                       <xs:attribute name="Version" type="xs:decimal"
-                                                                                                                                               use="optional">
-                                                                                                                                               <xs:annotation>
-                                                                                                                                                       <xs:documentation xml:lang="en-us"> This
-                                                                                                                                                               value, along with the GUID, is used to
-                                                                                                                                                               uniquely identify this object.
-                                                                                                                                                       </xs:documentation>
-                                                                                                                                               </xs:annotation>
-                                                                                                                                       </xs:attribute>
-                                                                                                                               </xs:extension>
-                                                                                                                       </xs:simpleContent>
-                                                                                                               </xs:complexType>
-                                                                                                       </xs:element>
-                                                                                               </xs:all>
-                                                                                       </xs:complexType>
-                                                                               </xs:element>
-                                                                               <xs:element ref="HelpText" minOccurs="0"
-                                                                                       maxOccurs="unbounded" />
-                                                                       </xs:sequence>
-                                                                       <xs:attribute name="Usage" use="required">
-                                                                               <xs:simpleType>
-                                                                                       <xs:annotation>
-                                                                                               <xs:documentation xml:lang="en-us"> Library instances
-                                                                                                       can provide code for a library class, or may require
-                                                                                                       other library instances themselves. Since different
-                                                                                                       execution paths in a library (or module) may need
-                                                                                                       different library classes based on some setting,
-                                                                                                       library classes may not alway be required.
-                                                                                               </xs:documentation>
-                                                                                       </xs:annotation>
-                                                                                       <xs:restriction base="xs:NCName">
-                                                                                               <xs:enumeration value="PRODUCES" />
-                                                                                               <xs:enumeration value="CONSUMES" />
-                                                                                               <xs:enumeration value="SOMETIMES_CONSUMES" />
-                                                <xs:enumeration value="UNDEFINED" />
-                                                                                       </xs:restriction>
-                                                                               </xs:simpleType>
-                                                                       </xs:attribute>
-
-                                                                       <xs:attributeGroup ref="SupportedArchMod" />
-                                                                       <xs:attribute name="FeatureFlag" type="xs:normalizedString"
-                                                                               use="optional">
-                                                                               <xs:annotation>
-                                                                                       <xs:documentation xml:lang="en-us"> A FeatureFlag
-                                                                                               attribute must evaluate to either true or false - it may
-                                                                                               be a fixed value of true or false, a C name or an in-fix
-                                                                                               expression. </xs:documentation>
-                                                                               </xs:annotation>
-                                                                       </xs:attribute>
-                                                               </xs:complexType>
-                                                       </xs:element>
-                                               </xs:sequence>
-                                       </xs:complexType>
-                               </xs:element>
-                               <!-- End of LibraryClassDefinitions Section -->
-
-                               <xs:element minOccurs="0" maxOccurs="1" name="SourceFiles">
-                                       <xs:complexType>
-                                               <xs:sequence>
-                                                       <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename">
-                                                               <xs:annotation>
-                                                                       <xs:documentation xml:lang="en-us"> This is the module
-                                                                               relative (ModuleProperties.Path) path and filename location
-                                                                               within the ZIP file. </xs:documentation>
-                                                               </xs:annotation>
-                                                               <xs:complexType>
-                                                                       <xs:simpleContent>
-                                                                               <xs:extension base="xs:anyURI">
-                                                                                       <xs:attribute name="Family" type="FamilyTypes"
-                                                                                               use="optional">
-                                                                                               <xs:annotation>
-                                                                                                       <xs:documentation xml:lang="en-us"> The Family
-                                                                                                               attribute is used to restrict usage to a given
-                                                                                                               family of compilers, such as GCC or MSFT. Since not
-                                                                                                               all code processing tools use the same syntax,
-                                                                                                               especially for assembly, this field can be used to
-                                                                                                               identify different syntax. </xs:documentation>
-                                                                                               </xs:annotation>
-                                                                                       </xs:attribute>
-                                                                                       <xs:attribute name="SupArchList" type="ArchListType"
-                                                                                               use="optional" />
-                                                                                       <xs:attribute name="FeatureFlag"
-                                                                                               type="xs:normalizedString" use="optional" />
-                                                                               </xs:extension>
-                                                                       </xs:simpleContent>
-                                                               </xs:complexType>
-                                                       </xs:element>
-                                               </xs:sequence>
-                                       </xs:complexType>
-                               </xs:element>
-                               <!-- End of SourceFiles Section -->
-
-                               <xs:element minOccurs="0" maxOccurs="1" name="BinaryFiles">
-                                       <xs:complexType>
-                                               <xs:sequence>
-                                                       <xs:element minOccurs="1" maxOccurs="unbounded" name="BinaryFile">
-                                                               <xs:complexType>
-                                                                       <xs:sequence>
-                                                                               <xs:element minOccurs="1" maxOccurs="unbounded"
-                                                                                       name="Filename">
-                                                                                       <xs:annotation>
-                                                                                               <xs:documentation xml:lang="en-us"> This is the module
-                                                                                                       relative (ModuleProperties.Path) path and filename
-                                                                                                       location within the ZIP file. </xs:documentation>
-                                                                                       </xs:annotation>
-                                                                                       <xs:complexType>
-                                                                                               <xs:simpleContent>
-                                                                                                       <xs:extension base="xs:anyURI">
-                                                                                                               <xs:attribute name="FileType" use="optional">
-                                                                                                                       <xs:simpleType>
-                                                                                                                               <xs:restriction base="xs:NCName">
-                                                                                                                                       <xs:annotation>
-                                                                                                                                               <xs:documentation xml:lang="en-us"> Binary
-                                                                                                                                                       file distribution is limited to UEFI/PI
-                                                                                                                                                       FFS leaf section file types.
-                                                                                                                                               </xs:documentation>
-                                                                                                                                       </xs:annotation>
-                                                                                                                                       <xs:enumeration value="GUID" />
-                                                                                                                                       <xs:enumeration value="FREEFORM" />
-                                                                                                                                       <xs:enumeration value="UEFI_IMAGE" />
-                                                                                                                                       <xs:enumeration value="PE32">
-                                                                                                                                               <xs:annotation>
-                                                                                                                                                       <xs:documentation xml:lang="en-us"> A
-                                                                                                                                                               UEFI/PI FFS Leaf section file type, not
-                                                                                                                                                               a raw PE32 file. </xs:documentation>
-                                                                                                                                               </xs:annotation>
-                                                                                                                                       </xs:enumeration>
-                                                                                                                                       <xs:enumeration value="PIC" />
-                                                                                                                                       <xs:enumeration value="PEI_DEPEX" />
-                                                                                                                                       <xs:enumeration value="DXE_DEPEX" />
-                                                                                                                                       <xs:enumeration value="TE" />
-                                                                                                                                       <xs:enumeration value="VER" />
-                                                                                                                                       <xs:enumeration value="UI" />
-                                                                                                                                       <xs:enumeration value="BIN" />
-                                                                                                                                       <xs:enumeration value="FV" />
-                                                                                                                               </xs:restriction>
-                                                                                                                       </xs:simpleType>
-                                                                                                               </xs:attribute>
-                                                                                                               <xs:attribute name="SupArchList" type="ArchListType"
-                                                                                                                       use="optional" />
-                                                                                                               <xs:attribute name="FeatureFlag"
-                                                                                                                       type="xs:normalizedString" use="optional" />
-                                                                                                       </xs:extension>
-                                                                                               </xs:simpleContent>
-                                                                                       </xs:complexType>
-                                                                               </xs:element>
-                                                                               <xs:element minOccurs="0" maxOccurs="unbounded"
-                                                                                       name="AsBuilt">
-                                                                                       <xs:annotation>
-                                                                                               <xs:documentation xml:lang="en-us"> This section
-                                                                                                       contains information about how the module was coded,
-                                                                                                       such as Compiler Tools, Flags, PCDs (only PatchPcd
-                                                                                                       and/or PcdEx) and Library Class Instances used to
-                                                                                                       build the binary. </xs:documentation>
-                                                                                       </xs:annotation>
-                                                                                       <xs:complexType>
-                                                                                               <xs:sequence>
-
-                                                                                                       <xs:element minOccurs="0" maxOccurs="unbounded"
-                                                                                                               name="PatchPcdValue">
-                                                                                                               <xs:annotation>
-                                                                                                                       <xs:documentation xml:lang="en-us"> The element is
-                                                                                                                               the Patchable PCD Value that was used during the
-                                                                                                                               build. </xs:documentation>
-                                                                                                               </xs:annotation>
-                                                                                                               <xs:complexType>
-                                                                                                                       <xs:sequence>
-                                                                                                                               <xs:element minOccurs="1" maxOccurs="1"
-                                                                                                                                       name="TokenSpaceGuidValue"
-                                                                                                                                       type="RegistryFormatGuid" />
-                                                                                                                               <xs:element minOccurs="1" maxOccurs="1"
-                                                                                                                                       name="PcdCName" type="xs:NCName" />
-                                                                                                                               <xs:element minOccurs="1" maxOccurs="1"
-                                                                                                                                       name="Token">
-                                                                                                                                       <xs:annotation>
-                                                                                                                                               <xs:documentation xml:lang="en-us"> The
-                                                                                                                                                       minLength of 3 is required to handle the
-                                                                                                                                                       "0x" prefix to the hex number.
-                                                                                                                                               </xs:documentation>
-                                                                                                                                       </xs:annotation>
-                                                                                                                                       <xs:simpleType>
-                                                                                                                                               <xs:restriction base="HexNumber">
-                                                                                                                                                       <xs:minLength value="3" />
-                                                                                                                                                       <xs:maxLength value="10" />
-                                                                                                                                               </xs:restriction>
-                                                                                                                                       </xs:simpleType>
-                                                                                                                               </xs:element>
-                                                                                                                               <xs:element minOccurs="1" maxOccurs="1"
-                                                                                                                                       name="DatumType" type="PcdDatumTypes" />
-                                                                                                                               <xs:element minOccurs="0" maxOccurs="1"
-                                                                                                                                       name="MaxDatumSize">
-                                                                                                                                       <xs:annotation>
-                                                                                                                                               <xs:documentation xml:lang="en-us"> This
-                                                                                                                                                       field is required if the Pcd Datum Type is
-                                                                                                                                                       VOID* </xs:documentation>
-                                                                                                                                               <xs:documentation xml:lang="en-us"> The
-                                                                                                                                                       minLength of 3 is required to handle the
-                                                                                                                                                       "0x" prefix to the hex number.
-                                                                                                                                               </xs:documentation>
-                                                                                                                                       </xs:annotation>
-                                                                                                                                       <xs:simpleType>
-                                                                                                                                               <xs:restriction base="HexNumber">
-                                                                                                                                                       <xs:minLength value="3" />
-                                                                                                                                               </xs:restriction>
-                                                                                                                                       </xs:simpleType>
-                                                                                                                               </xs:element>
-                                                                                                                               <xs:element minOccurs="1" maxOccurs="1"
-                                                                                                                                       name="Value" type="xs:normalizedString" />
-                                                                                                                               <xs:element minOccurs="1" maxOccurs="1"
-                                                                                                                                       name="Offset">
-                                                                                                                                       <xs:annotation>
-                                                                                                                                               <xs:documentation xml:lang="en-us"> The
-                                                                                                                                                       minLength of 3 is required to handle the
-                                                                                                                                                       "0x" prefix to the hex number.
-                                                                                                                                               </xs:documentation>
-                                                                                                                                       </xs:annotation>
-                                                                                                                                       <xs:simpleType>
-                                                                                                                                               <xs:restriction base="HexNumber">
-                                                                                                                                                       <xs:minLength value="3" />
-                                                                                                                                               </xs:restriction>
-                                                                                                                                       </xs:simpleType>
-                                                                                                                               </xs:element>
-                                                                                                                               <xs:element ref="HelpText" minOccurs="0"
-                                                                                                                                       maxOccurs="unbounded" />
-                                                                                                                               <xs:element minOccurs="0" maxOccurs="unbounded"
-                                                                                                                                       name="PcdError">
-                                                                                                                                       <xs:annotation>
-                                                                                                                                               <xs:documentation xml:lang="en-us"> Error
-                                                                                                                                                       information implemented by the module.
-                                                                                                                                               </xs:documentation>
-                                                                                                                                       </xs:annotation>
-                                                                                                                                       <xs:complexType>
-                                                                                                                                               <xs:sequence>
-                                                                                                                                                       <xs:element minOccurs="1" maxOccurs="1"
-                                                                                                                                                               name="ErrorNumber">
-                                                                                                                                                               <xs:annotation>
-                                                                                                                                                               <xs:documentation xml:lang="en-us"> The
-                                                                                                                                                               minLength of 3 is required to handle the
-                                                                                                                                                               "0x" prefix to the hex number.