]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Conf/XMLSchema/DistributionPackage.xsd
Sync BaseTool trunk (version r2599) into EDKII BaseTools.
[mirror_edk2.git] / BaseTools / Conf / XMLSchema / DistributionPackage.xsd
index 8f136ae04e3c8d72b0a8b0ec68197624b0804d41..5ae85f2bc31175a0cbde2e92878da906da26636b 100644 (file)
@@ -2,7 +2,7 @@
 <!--
 Filename: DistributionPackage.xsd
 
 <!--
 Filename: DistributionPackage.xsd
 
-Copyright (c) 2008 - 2011, Intel Corporation. All rights reserved.
+Copyright (c) 2008 - 2012, Intel Corporation. All rights reserved.
 
 This program and the accompanying materials are licensed and made available 
 under the terms and conditions of the BSD License which may be found at 
 
 This program and the accompanying materials are licensed and made available 
 under the terms and conditions of the BSD License which may be found at 
@@ -13,108 +13,96 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
 -->
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
 
 -->
 <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">
+    targetNamespace="http://www.uefi.org/2012/1.0" xmlns="http://www.uefi.org/2012/1.0">
     <xs:element name="DistributionPackage">
         <xs:annotation>
     <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: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: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: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: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: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: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: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: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: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: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: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: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: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:annotation>
                 </xs:element>
             </xs:sequence>
@@ -125,31 +113,30 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
     <xs:element name="DistributionHeader">
         <xs:annotation>
 
     <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: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: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: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:NMTOKEN" use="optional">
                                     <xs:annotation>
                     </xs:annotation>
                     <xs:complexType>
                         <xs:simpleContent>
                             <xs:extension base="xs:normalizedString">
                                 <xs:attribute name="BaseName" type="xs:NMTOKEN" 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: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:annotation>
                                 </xs:attribute>
                             </xs:extension>
@@ -158,22 +145,20 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                 </xs:element>
                 <xs:element minOccurs="1" maxOccurs="1" name="GUID">
                     <xs:annotation>
                 </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: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: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: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:annotation>
                                 </xs:attribute>
                             </xs:extension>
@@ -182,97 +167,116 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                 </xs:element>
                 <xs:element minOccurs="1" maxOccurs="1" name="Vendor" type="xs:normalizedString">
                     <xs:annotation>
                 </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: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: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: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:annotation>
                 </xs:element>
-                <xs:element minOccurs="1" maxOccurs="1" name="Copyright" type="xs:string">
+                <xs:element minOccurs="1" maxOccurs="unbounded" name="Copyright">
                     <xs:annotation>
                     <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: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: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:element>
-                <xs:element minOccurs="1" maxOccurs="1" name="License" type="xs:string">
+                <xs:element minOccurs="1" maxOccurs="unbounded" name="License">
                     <xs:annotation>
                     <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 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: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:element>
-                <xs:element minOccurs="1" maxOccurs="1" name="Abstract" type="xs:normalizedString">
+                <xs:element minOccurs="1" maxOccurs="unbounded" name="Abstract">
                     <xs:annotation>
                     <xs:annotation>
-                        <xs:documentation xml:lang="en-us"> A one line description of the
-                            Distribution Package. </xs:documentation>
+                        <xs:documentation xml:lang="en-us"> A one line description of the Distribution Package.
+                        </xs:documentation>
                     </xs:annotation>
                     </xs:annotation>
+                    <xs:complexType>
+                        <xs:simpleContent>
+                            <xs:extension base="xs:normalizedString">
+                                <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"/>
+                            </xs:extension>
+                        </xs:simpleContent>
+                    </xs:complexType>
                 </xs:element>
                 </xs:element>
-                <xs:element minOccurs="0" maxOccurs="1" name="Description" type="xs:string">
+                <xs:element minOccurs="0" maxOccurs="unbounded" name="Description">
                     <xs:annotation>
                     <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: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: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:element minOccurs="0" maxOccurs="1" name="Signature" type="Md5Sum">
                     <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: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:annotation>
                 </xs:element>
-                <xs:element minOccurs="1" maxOccurs="1" name="XmlSpecification" type="xs:decimal"
-                    default="1.1">
+                <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: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: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: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: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: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: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:annotation>
             </xs:attribute>
         </xs:complexType>
@@ -281,12 +285,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
     <xs:element name="PackageSurfaceArea">
         <xs:annotation>
 
     <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: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:annotation>
         <xs:complexType>
             <xs:sequence>
@@ -296,19 +300,17 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                         <xs:sequence>
                             <xs:element minOccurs="1" maxOccurs="1" name="Name">
                                 <xs:annotation>
                         <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: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:annotation>
                                 <xs:complexType>
                                     <xs:simpleContent>
                                         <xs:extension base="xs:normalizedString">
-                                            <xs:attribute name="BaseName" type="xs:NMTOKEN"
-                                                use="required">
+                                            <xs:attribute name="BaseName" type="xs:NMTOKEN" use="required">
                                                 <xs:annotation>
                                                 <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: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:annotation>
                                             </xs:attribute>
                                         </xs:extension>
@@ -317,72 +319,93 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                             </xs:element>
                             <xs:element minOccurs="1" maxOccurs="1" name="GUID">
                                 <xs:annotation>
                             </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: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:annotation>
                                 <xs:complexType>
                                     <xs:simpleContent>
                                         <xs:extension base="RegistryFormatGuid">
-                                            <xs:attribute name="Version" type="xs:decimal"
-                                                use="required">
+                                            <xs:attribute name="Version" type="xs:decimal" use="required">
                                                 <xs:annotation>
                                                 <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: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:annotation>
                                             </xs:attribute>
                                         </xs:extension>
                                     </xs:simpleContent>
                                 </xs:complexType>
                             </xs:element>
-                            <xs:element minOccurs="0" maxOccurs="1" name="Copyright"
-                                type="xs:string">
+                            <xs:element minOccurs="0" maxOccurs="unbounded" name="Copyright">
                                 <xs:annotation>
                                 <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: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: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:element>
-                            <xs:element minOccurs="0" maxOccurs="1" name="License" type="xs:string">
+                            <xs:element minOccurs="0" maxOccurs="unbounded" name="License">
                                 <xs:annotation>
                                 <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: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: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:element>
-                            <xs:element minOccurs="0" maxOccurs="1" name="Abstract"
-                                type="xs:normalizedString">
+                            <xs:element minOccurs="0" maxOccurs="unbounded" name="Abstract">
                                 <xs:annotation>
                                 <xs:annotation>
-                                    <xs:documentation xml:lang="en-us"> A one line description of
-                                        this package. </xs:documentation>
+                                    <xs:documentation xml:lang="en-us"> A one line description of this package.
+                                    </xs:documentation>
                                 </xs:annotation>
                                 </xs:annotation>
+                                <xs:complexType>
+                                    <xs:simpleContent>
+                                        <xs:extension base="xs:normalizedString">
+                                            <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"
+                                            />
+                                        </xs:extension>
+                                    </xs:simpleContent>
+                                </xs:complexType>
                             </xs:element>
                             </xs:element>
-                            <xs:element minOccurs="0" maxOccurs="1" name="Description"
-                                type="xs:string">
+                            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description">
                                 <xs:annotation>
                                 <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: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: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:element>
-                            <xs:element minOccurs="1" maxOccurs="1" name="PackagePath"
-                                type="xs:anyURI">
+                            <xs:element minOccurs="1" maxOccurs="1" name="PackagePath" type="xs:anyURI">
                                 <xs:annotation>
                                 <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: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:annotation>
                             </xs:element>
                         </xs:sequence>
@@ -392,29 +415,26 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
                 <xs:element minOccurs="0" maxOccurs="1" name="ClonedFrom">
                     <xs:annotation>
 
                 <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: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: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: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:annotation>
                                 <xs:complexType>
                                     <xs:simpleContent>
                                         <xs:extension base="RegistryFormatGuid">
-                                            <xs:attribute name="Version" type="xs:decimal"
-                                                use="required">
+                                            <xs:attribute name="Version" type="xs:decimal" use="required">
                                                 <xs:annotation>
                                                 <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: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:annotation>
                                             </xs:attribute>
                                         </xs:extension>
@@ -428,11 +448,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
                 <xs:element minOccurs="0" maxOccurs="1" name="LibraryClassDeclarations">
                     <xs:annotation>
 
                 <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
+                        <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>
                             different library instance. </xs:documentation>
                     </xs:annotation>
                     <xs:complexType>
@@ -440,59 +459,51 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                             <xs:element minOccurs="1" maxOccurs="unbounded" name="LibraryClass">
                                 <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:element minOccurs="1" maxOccurs="1" name="HeaderFile" type="xs:anyURI">
                                             <xs:annotation>
                                             <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: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:annotation>
                                         </xs:element>
-                                        <xs:element minOccurs="0" maxOccurs="1"
-                                            name="RecommendedInstance">
+                                        <xs:element minOccurs="0" maxOccurs="1" name="RecommendedInstance">
                                             <xs:complexType>
                                                 <xs:sequence>
                                             <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: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:sequence>
                                             </xs:complexType>
                                         </xs:element>
-                                        <xs:element ref="HelpText" minOccurs="0"
-                                            maxOccurs="unbounded"/>
+                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
                                     </xs:sequence>
                                     <xs:attribute name="Keyword" type="xs:NCName" use="required">
                                         <xs:annotation>
                                     </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: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:annotation>
                                     </xs:attribute>
                                     <xs:attributeGroup ref="SupportedArchMod"/>
@@ -505,28 +516,23 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
                 <xs:element minOccurs="0" maxOccurs="1" name="IndustryStandardIncludes">
                     <xs:annotation>
 
                 <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: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:annotation>
                     <xs:complexType>
                         <xs:sequence>
-                            <xs:element minOccurs="1" maxOccurs="unbounded"
-                                name="IndustryStandardHeader">
+                            <xs:element minOccurs="1" maxOccurs="unbounded" name="IndustryStandardHeader">
                                 <xs:complexType>
                                     <xs:sequence>
                                 <xs:complexType>
                                     <xs:sequence>
-                                        <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile"
-                                            type="xs:anyURI">
+                                        <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile" type="xs:anyURI">
                                             <xs:annotation>
                                             <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: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:annotation>
                                         </xs:element>
-                                        <xs:element ref="HelpText" minOccurs="0"
-                                            maxOccurs="unbounded"/>
+                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
                                     </xs:sequence>
                                 </xs:complexType>
                             </xs:element>
                                     </xs:sequence>
                                 </xs:complexType>
                             </xs:element>
@@ -537,13 +543,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
                 <xs:element minOccurs="0" maxOccurs="1" name="PackageIncludes">
                     <xs:annotation>
 
                 <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"> 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"> 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:documentation xml:lang="en-us"> 3) A library class header. </xs:documentation>
                     </xs:annotation>
                     <xs:complexType>
                         <xs:sequence>
                     </xs:annotation>
                     <xs:complexType>
                         <xs:sequence>
@@ -552,20 +556,19 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                                     <xs:sequence>
                                         <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile">
                                             <xs:annotation>
                                     <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: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:annotation>
                                             <xs:complexType>
                                                 <xs:simpleContent>
-                                                  <xs:extension base="xs:anyURI">
-                                                  <xs:attributeGroup ref="SupportedArchMod"/>
-                                                  </xs:extension>
+                                                    <xs:extension base="xs:anyURI">
+                                                        <xs:attributeGroup ref="SupportedArchMod"/>
+                                                    </xs:extension>
                                                 </xs:simpleContent>
                                             </xs:complexType>
                                         </xs:element>
                                                 </xs:simpleContent>
                                             </xs:complexType>
                                         </xs:element>
-                                        <xs:element ref="HelpText" minOccurs="0"
-                                            maxOccurs="unbounded"/>
+                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
                                     </xs:sequence>
                                 </xs:complexType>
                             </xs:element>
                                     </xs:sequence>
                                 </xs:complexType>
                             </xs:element>
@@ -579,9 +582,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                         <xs:sequence>
                             <xs:element ref="ModuleSurfaceArea" minOccurs="1" maxOccurs="unbounded">
                                 <xs:annotation>
                         <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: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:annotation>
                             </xs:element>
                         </xs:sequence>
@@ -591,31 +593,26 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
                 <xs:element minOccurs="0" maxOccurs="1" name="GuidDeclarations">
                     <xs:annotation>
 
                 <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: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: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:documentation xml:lang="en-us"> Individual GUID Declarations </xs:documentation>
                                 </xs:annotation>
                                 <xs:complexType>
                                     <xs:sequence>
                                 </xs:annotation>
                                 <xs:complexType>
                                     <xs:sequence>
-                                        <xs:element minOccurs="1" maxOccurs="1" name="CName"
-                                            type="xs:NCName"/>
+                                        <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/>
                                         <xs:element minOccurs="1" maxOccurs="1" name="GuidValue"
                                             type="RegistryFormatGuid"/>
                                         <xs:element minOccurs="1" maxOccurs="1" name="GuidValue"
                                             type="RegistryFormatGuid"/>
-                                        <xs:element ref="HelpText" minOccurs="0"
-                                            maxOccurs="unbounded"/>
+                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
                                     </xs:sequence>
                                     </xs:sequence>
-                                    <xs:attribute name="UiName" type="xs:normalizedString"
-                                        use="optional"/>
-                                    <xs:attribute name="GuidTypes" type="GuidListType"
-                                        use="optional"/>
+                                    <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:attributeGroup ref="SupportedArchMod"/>
                                 </xs:complexType>
                             </xs:element>
@@ -626,29 +623,26 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
                 <xs:element minOccurs="0" maxOccurs="1" name="ProtocolDeclarations">
                     <xs:annotation>
 
                 <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: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: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:documentation xml:lang="en-us"> Individual Protocol Declarations
+                                    </xs:documentation>
                                 </xs:annotation>
                                 <xs:complexType>
                                     <xs:sequence>
                                 </xs:annotation>
                                 <xs:complexType>
                                     <xs:sequence>
-                                        <xs:element minOccurs="1" maxOccurs="1" name="CName"
-                                            type="xs:NCName"/>
+                                        <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/>
                                         <xs:element minOccurs="1" maxOccurs="1" name="GuidValue"
                                             type="RegistryFormatGuid"/>
                                         <xs:element minOccurs="1" maxOccurs="1" name="GuidValue"
                                             type="RegistryFormatGuid"/>
-                                        <xs:element ref="HelpText" minOccurs="0"
-                                            maxOccurs="unbounded"/>
+                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
                                     </xs:sequence>
                                     </xs:sequence>
-                                    <xs:attribute name="UiName" type="xs:normalizedString"
-                                        use="optional"/>
+                                    <xs:attribute name="UiName" type="xs:normalizedString" use="optional"/>
                                     <xs:attributeGroup ref="SupportedArchMod"/>
                                 </xs:complexType>
                             </xs:element>
                                     <xs:attributeGroup ref="SupportedArchMod"/>
                                 </xs:complexType>
                             </xs:element>
@@ -659,29 +653,25 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
                 <xs:element minOccurs="0" maxOccurs="1" name="PpiDeclarations">
                     <xs:annotation>
 
                 <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: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: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:documentation xml:lang="en-us"> Individual PPI Declarations </xs:documentation>
                                 </xs:annotation>
                                 <xs:complexType>
                                     <xs:sequence>
                                 </xs:annotation>
                                 <xs:complexType>
                                     <xs:sequence>
-                                        <xs:element minOccurs="1" maxOccurs="1" name="CName"
-                                            type="xs:NCName"/>
+                                        <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/>
                                         <xs:element minOccurs="1" maxOccurs="1" name="GuidValue"
                                             type="RegistryFormatGuid"/>
                                         <xs:element minOccurs="1" maxOccurs="1" name="GuidValue"
                                             type="RegistryFormatGuid"/>
-                                        <xs:element ref="HelpText" minOccurs="0"
-                                            maxOccurs="unbounded"/>
+                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
                                     </xs:sequence>
                                     </xs:sequence>
-                                    <xs:attribute name="UiName" type="xs:normalizedString"
-                                        use="optional"/>
+                                    <xs:attribute name="UiName" type="xs:normalizedString" use="optional"/>
                                     <xs:attributeGroup ref="SupportedArchMod"/>
                                 </xs:complexType>
                             </xs:element>
                                     <xs:attributeGroup ref="SupportedArchMod"/>
                                 </xs:complexType>
                             </xs:element>
@@ -692,63 +682,54 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
                 <xs:element minOccurs="0" maxOccurs="1" name="PcdDeclarations">
                     <xs:annotation>
 
                 <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: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: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:element minOccurs="1" maxOccurs="1" name="TokenSpaceGuidCname"
+                                            type="xs:NCName">
                                             <xs:annotation>
                                             <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: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: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: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:annotation>
                                             <xs:simpleType>
                                                 <xs:restriction base="HexNumber">
-                                                  <xs:minLength value="3"/>
-                                                  <xs:maxLength value="10"/>
+                                                    <xs:minLength value="3"/>
+                                                    <xs:maxLength value="10"/>
                                                 </xs:restriction>
                                             </xs:simpleType>
                                         </xs:element>
                                                 </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:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/>
+                                        <xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDatumTypes">
                                             <xs:annotation>
                                             <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 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:documentation>
                                             </xs:annotation>
                                         </xs:element>
-                                        <xs:element minOccurs="1" maxOccurs="1" name="ValidUsage"
-                                            type="PcdItemListType">
+                                        <xs:element minOccurs="1" maxOccurs="1" name="ValidUsage" type="PcdItemListType">
                                             <xs:annotation>
                                             <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 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:documentation>
                                             </xs:annotation>
                                         </xs:element>
@@ -756,118 +737,118 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                                             type="xs:normalizedString"/>
                                         <xs:element minOccurs="0" maxOccurs="1" name="MaxDatumSize">
                                             <xs:annotation>
                                             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: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:annotation>
                                             <xs:simpleType>
                                                 <xs:restriction base="HexNumber">
-                                                  <xs:minLength value="3"/>
+                                                    <xs:minLength value="3"/>
                                                 </xs:restriction>
                                             </xs:simpleType>
                                         </xs:element>
                                                 </xs:restriction>
                                             </xs:simpleType>
                                         </xs:element>
-                                        <xs:element ref="HelpText" minOccurs="0"
-                                            maxOccurs="unbounded"/>
+                                        <xs:element minOccurs="0" maxOccurs="unbounded" name="Prompt">
+                                            <xs:annotation>
+                                                <xs:documentation xml:lang="en-US"> This entry contains prompt
+                                                    information, that may used by tools to assist platform integrators
+                                                    with choosing the correct values </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:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
 
 
-                                        <xs:element minOccurs="0" maxOccurs="unbounded"
-                                            name="PcdError">
+                                        <xs:element minOccurs="0" maxOccurs="unbounded" name="PcdError">
                                             <xs:annotation>
                                             <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: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: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: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:complexType>
                                         </xs:element>
@@ -882,22 +863,19 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
                 <xs:element minOccurs="0" maxOccurs="1" name="PcdRelationshipChecks">
                     <xs:annotation>
 
                 <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: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:annotation>
                     <xs:complexType>
                         <xs:sequence>
-                            <xs:element minOccurs="1" maxOccurs="unbounded" name="PcdCheck"
-                                type="xs:normalizedString">
+                            <xs:element minOccurs="1" maxOccurs="unbounded" name="PcdCheck" type="xs:normalizedString">
                                 <xs:annotation>
                                     <xs:documentation xml:lang="en-us"> This entry must used
                                 <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>
+                                        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:annotation>
                             </xs:element>
                         </xs:sequence>
@@ -906,53 +884,49 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
                 <xs:element minOccurs="0" maxOccurs="unbounded" name="MiscellaneousFiles">
                     <xs:annotation>
 
                 <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: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:annotation>
                     <xs:complexType>
                         <xs:sequence>
-                            <xs:element minOccurs="0" maxOccurs="1" name="Copyright"
-                                type="xs:string">
+                            <xs:element minOccurs="0" maxOccurs="1" name="Copyright" type="xs:string">
                                 <xs:annotation>
                                 <xs:annotation>
-                                    <xs:documentation xml:lang="en-us"> Only required if different
-                                        from the Package Copyright. </xs:documentation>
+                                    <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: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: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: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:documentation xml:lang="en-us"> A one line description of this section's
+                                        content. </xs:documentation>
                                 </xs:annotation>
                             </xs:element>
                                 </xs:annotation>
                             </xs:element>
-                            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description"
-                                type="xs:string">
+                            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="xs:string">
                                 <xs:annotation>
                                 <xs:annotation>
-                                    <xs:documentation xml:lang="en-us"> A complete description of
-                                        the files in this section. </xs:documentation>
+                                    <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: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: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:annotation>
                                 <xs:complexType>
                                     <xs:simpleContent>
                                         <xs:extension base="xs:anyURI">
-                                            <xs:attribute name="Executable" type="xs:boolean"
-                                                default="false" use="optional">
+                                            <xs:attribute name="Executable" type="xs:boolean" default="false"
+                                                use="optional">
                                                 <xs:annotation>
                                                 <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: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:annotation>
                                             </xs:attribute>
                                         </xs:extension>
@@ -967,9 +941,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
                 <xs:element minOccurs="0" maxOccurs="unbounded" name="UserExtensions">
                     <xs:annotation>
 
                 <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: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:annotation>
                     <xs:complexType mixed="true">
                         <xs:sequence>
@@ -977,22 +951,20 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                         </xs:sequence>
                         <xs:attribute name="UserId" type="xs:NCName" use="required">
                             <xs:annotation>
                         </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: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="required">
                             <xs:annotation>
                             </xs:annotation>
                         </xs:attribute>
                         <xs:attribute name="Identifier" type="xs:string" use="required">
                             <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: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:annotation>
                         </xs:attribute>
                         <xs:anyAttribute processContents="lax"/>
@@ -1007,10 +979,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
     <xs:element name="ModuleSurfaceArea">
         <xs:annotation>
 
     <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: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:annotation>
         <xs:complexType>
             <xs:sequence>
@@ -1020,21 +992,18 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                         <xs:sequence>
                             <xs:element minOccurs="1" maxOccurs="1" name="Name">
                                 <xs:annotation>
                         <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: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:annotation>
                                 <xs:complexType>
                                     <xs:simpleContent>
                                         <xs:extension base="xs:normalizedString">
-                                            <xs:attribute name="BaseName" type="xs:NMTOKEN"
-                                                use="required">
+                                            <xs:attribute name="BaseName" type="xs:NMTOKEN" use="required">
                                                 <xs:annotation>
                                                 <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: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:annotation>
                                             </xs:attribute>
                                         </xs:extension>
@@ -1043,63 +1012,84 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                             </xs:element>
                             <xs:element minOccurs="1" maxOccurs="1" name="GUID">
                                 <xs:annotation>
                             </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: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:annotation>
                                 <xs:complexType>
                                     <xs:simpleContent>
                                         <xs:extension base="RegistryFormatGuid">
-                                            <xs:attribute name="Version" type="xs:decimal"
-                                                use="required">
+                                            <xs:attribute name="Version" type="xs:decimal" use="required">
                                                 <xs:annotation>
                                                 <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: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:annotation>
                                             </xs:attribute>
                                         </xs:extension>
                                     </xs:simpleContent>
                                 </xs:complexType>
                             </xs:element>
-                            <xs:element minOccurs="0" maxOccurs="1" name="Copyright"
-                                type="xs:string">
+                            <xs:element minOccurs="0" maxOccurs="unbounded" name="Copyright">
                                 <xs:annotation>
                                 <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: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: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:element>
-                            <xs:element minOccurs="0" maxOccurs="1" name="License" type="xs:string">
+                            <xs:element minOccurs="0" maxOccurs="unbounded" name="License">
                                 <xs:annotation>
                                 <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: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: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:element>
-                            <xs:element minOccurs="0" maxOccurs="1" name="Abstract"
-                                type="xs:normalizedString">
+                            <xs:element minOccurs="0" maxOccurs="unbounded" name="Abstract">
                                 <xs:annotation>
                                 <xs:annotation>
-                                    <xs:documentation xml:lang="en-us"> A brief text description of
-                                        the module. </xs:documentation>
+                                    <xs:documentation xml:lang="en-us"> A brief text description of the module.
+                                    </xs:documentation>
                                 </xs:annotation>
                                 </xs:annotation>
+                                <xs:complexType>
+                                    <xs:simpleContent>
+                                        <xs:extension base="xs:normalizedString">
+                                            <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"
+                                            />
+                                        </xs:extension>
+                                    </xs:simpleContent>
+                                </xs:complexType>
                             </xs:element>
                             </xs:element>
-                            <xs:element minOccurs="0" maxOccurs="1" name="Description"
-                                type="xs:string">
+                            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description">
                                 <xs:annotation>
                                 <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: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: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:complexType>
@@ -1108,35 +1098,31 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
                 <xs:element minOccurs="0" maxOccurs="1" name="ModuleProperties">
                     <xs:annotation>
 
                 <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: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:annotation>
                     <xs:complexType>
                         <xs:sequence>
-                            <xs:element minOccurs="1" maxOccurs="1" name="ModuleType"
-                                type="ModuleTypes">
+                            <xs:element minOccurs="1" maxOccurs="1" name="ModuleType" type="ModuleTypes">
                                 <xs:annotation>
                                 <xs:annotation>
-                                    <xs:documentation xml:lang="en-us"> One of the Enumerated module
-                                        types that limit the use of a module. </xs:documentation>
+                                    <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: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: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: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: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:annotation>
                                 <xs:simpleType>
                                     <xs:restriction base="xs:NCName">
@@ -1146,25 +1132,21 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                                 </xs:simpleType>
                             </xs:element>
 
                                 </xs:simpleType>
                             </xs:element>
 
-                            <xs:element minOccurs="0" maxOccurs="1" name="UefiSpecificationVersion"
-                                type="xs:decimal"/>
+                            <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="1" name="PiSpecificationVersion" type="xs:decimal"/>
 
                             <xs:element minOccurs="0" maxOccurs="unbounded" name="Specification">
                                 <xs:annotation>
 
                             <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 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:documentation>
                                 </xs:annotation>
                                 <xs:complexType>
                                     <xs:simpleContent>
                                         <xs:extension base="xs:NCName">
-                                            <xs:attribute name="Version" type="xs:decimal"
-                                                use="required"/>
+                                            <xs:attribute name="Version" type="xs:decimal" use="required"/>
                                         </xs:extension>
                                     </xs:simpleContent>
                                 </xs:complexType>
                                         </xs:extension>
                                     </xs:simpleContent>
                                 </xs:complexType>
@@ -1172,156 +1154,139 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
                             <xs:element minOccurs="0" maxOccurs="unbounded" name="BootMode">
                                 <xs:annotation>
 
                             <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. If the usage is UNDEFINE, it
-                                        implies that a Boot Mode is used, but the package creator
-                                        does not know how it is used. 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: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. If the usage is UNDEFINE, it implies that a Boot
+                                        Mode is used, but the package creator does not know how it is used. 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:annotation>
                                 <xs:complexType>
                                     <xs:sequence minOccurs="0">
-                                        <xs:element minOccurs="1" maxOccurs="1"
-                                            name="SupportedBootModes">
+                                        <xs:element minOccurs="1" maxOccurs="1" name="SupportedBootModes">
                                             <xs:simpleType>
                                                 <xs:list>
                                             <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: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:list>
                                             </xs:simpleType>
                                         </xs:element>
 
-                                        <xs:element ref="HelpText" minOccurs="0"
-                                            maxOccurs="unbounded"/>
+                                        <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: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: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: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: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: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: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: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: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: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: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: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:attribute name="SupArchList" type="ArchListType" use="optional"/>
+                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
                                 </xs:complexType>
                             </xs:element>
 
                                 </xs:complexType>
                             </xs:element>
 
-                            <xs:element minOccurs="0" maxOccurs="unbounded" name="Event"
-                                nillable="true">
+                            <xs:element minOccurs="0" maxOccurs="unbounded" name="Event" nillable="true">
                                 <xs:annotation>
                                 <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: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:annotation>
                                 <xs:complexType>
                                     <xs:sequence>
-                                        <xs:element ref="HelpText" minOccurs="0"
-                                            maxOccurs="unbounded"/>
+                                        <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: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: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: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: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: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: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: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: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: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: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:enumeration>
                                             </xs:restriction>
                                         </xs:simpleType>
@@ -1337,24 +1302,19 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
 
                                     </xs:attribute>
 
 
                                     </xs:attribute>
-                                    <xs:attribute name="SupArchList" type="ArchListType"
-                                        use="optional"/>
-                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString"
-                                        use="optional"/>
+                                    <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
+                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
                                 </xs:complexType>
                             </xs:element>
 
                                 </xs:complexType>
                             </xs:element>
 
-                            <xs:element minOccurs="0" maxOccurs="unbounded" name="HOB"
-                                nillable="false">
+                            <xs:element minOccurs="0" maxOccurs="unbounded" name="HOB" nillable="false">
                                 <xs:annotation>
                                 <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: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:annotation>
                                 <xs:complexType>
                                     <xs:sequence>
-                                        <xs:element ref="HelpText" minOccurs="0"
-                                            maxOccurs="unbounded"/>
+                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
                                     </xs:sequence>
                                     <xs:attribute name="HobType" use="required">
                                         <xs:simpleType>
                                     </xs:sequence>
                                     <xs:attribute name="HobType" use="required">
                                         <xs:simpleType>
@@ -1372,44 +1332,41 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                                         <xs:simpleType>
                                             <xs:restriction base="xs:NCName">
                                                 <xs:enumeration value="CONSUMES">
                                         <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: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: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: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: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: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: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: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: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: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: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:attribute name="SupArchList" type="ArchListType" use="optional"/>
+                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
                                 </xs:complexType>
                             </xs:element>
 
                                 </xs:complexType>
                             </xs:element>
 
@@ -1421,26 +1378,23 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
                 <xs:element minOccurs="0" maxOccurs="1" name="ClonedFrom">
                     <xs:annotation>
 
                 <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: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: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: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:annotation>
                                 <xs:complexType>
                                     <xs:simpleContent>
                                         <xs:extension base="RegistryFormatGuid">
-                                            <xs:attribute name="Version" type="xs:decimal"
-                                                use="required">
+                                            <xs:attribute name="Version" type="xs:decimal" use="required">
                                                 <xs:annotation>
                                                 <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"> This value, along with the GUID,
+                                                        is used to uniquely identify this object. </xs:documentation>
                                                 </xs:annotation>
                                             </xs:attribute>
                                         </xs:extension>
                                                 </xs:annotation>
                                             </xs:attribute>
                                         </xs:extension>
@@ -1454,68 +1408,59 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
                 <xs:element minOccurs="0" maxOccurs="1" name="LibraryClassDefinitions">
                     <xs:annotation>
 
                 <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: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: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:element minOccurs="1" maxOccurs="1" name="Keyword" type="xs:NCName">
                                             <xs:annotation>
                                             <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: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:annotation>
                                         </xs:element>
-                                        <xs:element minOccurs="0" maxOccurs="1"
-                                            name="RecommendedInstance">
+                                        <xs:element minOccurs="0" maxOccurs="1" name="RecommendedInstance">
                                             <xs:complexType>
                                                 <xs:all>
                                             <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: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:all>
                                             </xs:complexType>
                                         </xs:element>
-                                        <xs:element ref="HelpText" minOccurs="0"
-                                            maxOccurs="unbounded"/>
+                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
                                     </xs:sequence>
                                     <xs:attribute name="Usage" use="required">
                                         <xs:simpleType>
                                             <xs:annotation>
                                     </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: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:annotation>
                                             <xs:restriction base="xs:NCName">
                                                 <xs:enumeration value="PRODUCES"/>
@@ -1527,13 +1472,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                                     </xs:attribute>
 
                                     <xs:attributeGroup ref="SupportedArchMod"/>
                                     </xs:attribute>
 
                                     <xs:attributeGroup ref="SupportedArchMod"/>
-                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString"
-                                        use="optional">
+                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional">
                                         <xs:annotation>
                                         <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: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:annotation>
                                     </xs:attribute>
                                 </xs:complexType>
@@ -1549,29 +1492,24 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                             <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename">
                                 <xs:annotation>
                                     <xs:documentation xml:lang="en-us"> This is the module relative
                             <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>
+                                        (ModuleProperties.Path) path and filename location within the ZIP file.
+                                    </xs:documentation>
                                 </xs:annotation>
                                 <xs:complexType>
                                     <xs:simpleContent>
                                         <xs:extension base="xs:anyURI">
                                 </xs:annotation>
                                 <xs:complexType>
                                     <xs:simpleContent>
                                         <xs:extension base="xs:anyURI">
-                                            <xs:attribute name="Family" type="FamilyTypes"
-                                                use="optional">
+                                            <xs:attribute name="Family" type="FamilyTypes" use="optional">
                                                 <xs:annotation>
                                                 <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: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:annotation>
                                             </xs:attribute>
-                                            <xs:attribute name="SupArchList" type="ArchListType"
-                                                use="optional"/>
-                                            <xs:attribute name="SupModList" type="ModuleListType"
-                                                use="optional"/>
-                                            <xs:attribute name="FeatureFlag"
-                                                type="xs:normalizedString" use="optional"/>
+                                            <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
+                                            <xs:attribute name="SupModList" type="ModuleListType" use="optional"/>
+                                            <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
                                         </xs:extension>
                                     </xs:simpleContent>
                                 </xs:complexType>
                                         </xs:extension>
                                     </xs:simpleContent>
                                 </xs:complexType>
@@ -1588,316 +1526,293 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                             <xs:element minOccurs="1" maxOccurs="unbounded" name="BinaryFile">
                                 <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:element minOccurs="1" maxOccurs="unbounded" name="Filename">
                                             <xs:annotation>
                                             <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: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: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="SMM_DEPEX"/>
-                                                  <xs:enumeration value="COMPAT16"/>
-                                                  <xs:enumeration value="DISPOSABLE"/>
-                                                  <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="SupModList"
-                                                  type="ModuleListType" use="optional"/>
-                                                  <xs:attribute name="FeatureFlag"
-                                                  type="xs:normalizedString" use="optional"/>
-                                                  </xs:extension>
+                                                    <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="SMM_DEPEX"/>
+                                                            <xs:enumeration value="COMPAT16"/>
+                                                            <xs:enumeration value="DISPOSABLE"/>
+                                                            <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="GUID" use="optional"
+                                                            type="RegistryFormatGuid"/>
+                                                        <xs:attribute name="SupArchList" type="ArchListType"
+                                                            use="optional"/>
+                                                        <xs:attribute name="SupModList" type="ModuleListType"
+                                                            use="optional"/>
+                                                        <xs:attribute name="FeatureFlag" type="xs:normalizedString"
+                                                            use="optional"/>
+                                                    </xs:extension>
                                                 </xs:simpleContent>
                                             </xs:complexType>
                                         </xs:element>
                                                 </xs:simpleContent>
                                             </xs:complexType>
                                         </xs:element>
-                                        <xs:element minOccurs="0" maxOccurs="unbounded"
-                                            name="AsBuilt">
+                                        <xs:element minOccurs="0" maxOccurs="unbounded" name="AsBuilt">
                                             <xs:annotation>
                                             <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: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: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. </xs:documentation>
-                                                  </xs:annotation>
-                                                  <xs:simpleType>
-                                                  <xs:restriction base="HexNumber">
-                                                  <xs:minLength value="3"/>
-                                                  </xs:restriction>
-                                                  </xs:simpleType>
-                                                  </xs:element>
-                                                  <xs:element minOccurs="0" maxOccurs="unbounded"
-                                                  name="ErrorMessage">
-                                                  <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:complexType>
-                                                  </xs:element>
-
-                                                  <xs:element minOccurs="0" maxOccurs="unbounded"
-                                                  name="PcdExValue">
-                                                  <xs:annotation>
-                                                  <xs:documentation xml:lang="en-us"> The element is
-                                                  the DynamicEx 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="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: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 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. </xs:documentation>
-                                                  </xs:annotation>
-                                                  <xs:simpleType>
-                                                  <xs:restriction base="HexNumber">
-                                                  <xs:minLength value="3"/>
-                                                  </xs:restriction>
-                                                  </xs:simpleType>
-                                                  </xs:element>
-                                                  <xs:element minOccurs="0" maxOccurs="unbounded"
-                                                  name="ErrorMessage">
-                                                  <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:complexType>
-                                                  </xs:element>
-
-                                                  <xs:element minOccurs="0" maxOccurs="1"
-                                                  name="LibraryInstances">
-                                                  <xs:annotation>
-                                                  <xs:documentation xml:lang="en-us"> This is the
-                                                  actual library instance that was used to link
-                                                  against the module. </xs:documentation>
-                                                  </xs:annotation>
-                                                  <xs:complexType>
-                                                  <xs:sequence>
-                                                  <xs:element minOccurs="1" maxOccurs="unbounded"
-                                                  name="GUID">
-                                                  <xs:annotation>
-                                                  <xs:documentation xml:lang="en-us"> This GUID and
-                                                  the Version attribute uniquely identify the actual
-                                                  Library Instance linked in this 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:annotation>
-                                                  </xs:attribute>
-                                                  </xs:extension>
-                                                  </xs:simpleContent>
-                                                  </xs:complexType>
-                                                  </xs:element>
-                                                  </xs:sequence>
-                                                  </xs:complexType>
-                                                  </xs:element>
-
-                                                  <xs:element minOccurs="0" maxOccurs="unbounded"
-                                                  name="BuildFlags">
-                                                  <xs:complexType mixed="true">
-                                                  <xs:simpleContent>
-                                                  <xs:annotation>
-                                                  <xs:documentation xml:lang="en-us"> Any
-                                                  description of OS, Tool, and flags for the
-                                                  individual tool can go in this section.
-                                                  </xs:documentation>
-                                                  </xs:annotation>
-                                                  <xs:extension base="xs:string">
-                                                  <xs:anyAttribute processContents="lax"/>
-                                                  </xs:extension>
-                                                  </xs:simpleContent>
-                                                  </xs:complexType>
-                                                  </xs:element>
+                                                    <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.
+                                                            </xs:documentation>
+                                                            </xs:annotation>
+                                                            <xs:simpleType>
+                                                            <xs:restriction base="HexNumber">
+                                                            <xs:minLength value="3"/>
+                                                            </xs:restriction>
+                                                            </xs:simpleType>
+                                                            </xs:element>
+                                                            <xs:element minOccurs="0" maxOccurs="unbounded"
+                                                            name="ErrorMessage">
+                                                            <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:complexType>
+                                                    </xs:element>
+
+                                                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PcdExValue">
+                                                        <xs:annotation>
+                                                            <xs:documentation xml:lang="en-us"> The element is the
+                                                            DynamicEx 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="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: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 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.
+                                                            </xs:documentation>
+                                                            </xs:annotation>
+                                                            <xs:simpleType>
+                                                            <xs:restriction base="HexNumber">
+                                                            <xs:minLength value="3"/>
+                                                            </xs:restriction>
+                                                            </xs:simpleType>
+                                                            </xs:element>
+                                                            <xs:element minOccurs="0" maxOccurs="unbounded"
+                                                            name="ErrorMessage">
+                                                            <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:complexType>
+                                                    </xs:element>
+
+                                                    <xs:element minOccurs="0" maxOccurs="1" name="LibraryInstances">
+                                                        <xs:annotation>
+                                                            <xs:documentation xml:lang="en-us"> This is the actual
+                                                            library instance that was used to link against the module.
+                                                            </xs:documentation>
+                                                        </xs:annotation>
+                                                        <xs:complexType>
+                                                            <xs:sequence>
+                                                            <xs:element minOccurs="1" maxOccurs="unbounded" name="GUID">
+                                                            <xs:annotation>
+                                                            <xs:documentation xml:lang="en-us"> This GUID and the
+                                                            Version attribute uniquely identify the actual Library
+                                                            Instance linked in this 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:annotation>
+                                                            </xs:attribute>
+                                                            </xs:extension>
+                                                            </xs:simpleContent>
+                                                            </xs:complexType>
+                                                            </xs:element>
+                                                            </xs:sequence>
+                                                        </xs:complexType>
+                                                    </xs:element>
+
+                                                    <xs:element minOccurs="0" maxOccurs="unbounded" name="BuildFlags">
+                                                        <xs:complexType mixed="true">
+                                                            <xs:simpleContent>
+                                                            <xs:annotation>
+                                                            <xs:documentation xml:lang="en-us"> Any description of OS,
+                                                            Tool, and flags for the individual tool can go in this
+                                                            section. </xs:documentation>
+                                                            </xs:annotation>
+                                                            <xs:extension base="xs:string">
+                                                            <xs:anyAttribute processContents="lax"/>
+                                                            </xs:extension>
+                                                            </xs:simpleContent>
+                                                        </xs:complexType>
+                                                    </xs:element>
                                                 </xs:sequence>
                                             </xs:complexType>
                                         </xs:element>
                                         <!-- End of AsBuilt -->
                                                 </xs:sequence>
                                             </xs:complexType>
                                         </xs:element>
                                         <!-- End of AsBuilt -->
-                                        <xs:element ref="HelpText" minOccurs="0"
-                                            maxOccurs="unbounded"/>
+                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
                                     </xs:sequence>
                                 </xs:complexType>
                             </xs:element>
                                     </xs:sequence>
                                 </xs:complexType>
                             </xs:element>
@@ -1913,47 +1828,41 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                             <xs:element minOccurs="1" maxOccurs="unbounded" name="Package">
                                 <xs:complexType>
                                     <xs:sequence>
                             <xs:element minOccurs="1" maxOccurs="unbounded" name="Package">
                                 <xs:complexType>
                                     <xs:sequence>
-                                        <xs:element minOccurs="0" maxOccurs="unbounded"
-                                            name="Description">
+                                        <xs:element minOccurs="0" maxOccurs="unbounded" name="Description">
                                             <xs:complexType>
                                                 <xs:simpleContent>
                                             <xs:complexType>
                                                 <xs:simpleContent>
-                                                  <xs:extension base="xs:string">
-                                                  <xs:attribute name="Lang" type="xs:language"
-                                                  default="en-us" use="optional"/>
-                                                  </xs:extension>
+                                                    <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:element minOccurs="1" maxOccurs="1" name="GUID">
                                             <xs:annotation>
                                                 </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 Package
-                                                  that this Module depends on. </xs:documentation>
+                                                <xs:documentation xml:lang="en-us"> This GUID and the Version attribute
+                                                    uniquely identify Package that this Module depends on.
+                                                </xs:documentation>
                                             </xs:annotation>
                                             <xs:complexType>
                                                 <xs:simpleContent>
                                             </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 the version attribute is not
-                                                  specified, the most recent version of the package
-                                                  can be used. </xs:documentation>
-                                                  </xs:annotation>
-                                                  </xs:attribute>
-                                                  </xs:extension>
+                                                    <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 the
+                                                            version attribute is not specified, the most recent version
+                                                            of the package can be used. </xs:documentation>
+                                                            </xs:annotation>
+                                                        </xs:attribute>
+                                                    </xs:extension>
                                                 </xs:simpleContent>
                                             </xs:complexType>
                                         </xs:element>
                                     </xs:sequence>
                                                 </xs:simpleContent>
                                             </xs:complexType>
                                         </xs:element>
                                     </xs:sequence>
-                                    <xs:attribute name="SupArchList" type="ArchListType"
-                                        use="optional"/>
-                                    <xs:attribute name="SupModList" type="ModuleListType"
-                                        use="optional"/>
-                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString"
-                                        use="optional"/>
+                                    <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
+                                    <xs:attribute name="SupModList" type="ModuleListType" use="optional"/>
+                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
                                 </xs:complexType>
                             </xs:element>
                         </xs:sequence>
                                 </xs:complexType>
                             </xs:element>
                         </xs:sequence>
@@ -1967,68 +1876,60 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                             <xs:element minOccurs="1" maxOccurs="unbounded" name="GuidCName">
                                 <xs:complexType>
                                     <xs:sequence>
                             <xs:element minOccurs="1" maxOccurs="unbounded" name="GuidCName">
                                 <xs:complexType>
                                     <xs:sequence>
-                                        <xs:element minOccurs="1" maxOccurs="1" name="CName"
-                                            type="xs:NCName"/>
+                                        <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/>
                                         <xs:element minOccurs="0" maxOccurs="1" name="VariableName"
                                             type="xs:normalizedString">
                                             <xs:annotation>
                                         <xs:element minOccurs="0" maxOccurs="1" name="VariableName"
                                             type="xs:normalizedString">
                                             <xs:annotation>
-                                                <xs:documentation xml:lang="en-us"> Only valid for
-                                                  Variable GUID types. </xs:documentation>
-                                                <xs:documentation> This can be either a Hex Array or
-                                                  C string in unicode format: L"string" Data.
-                                                </xs:documentation>
+                                                <xs:documentation xml:lang="en-us"> Only valid for Variable GUID types. </xs:documentation>
+                                                <xs:documentation> This can be either a Hex Array or C string in unicode
+                                                    format: L"string" Data. </xs:documentation>
                                             </xs:annotation>
                                         </xs:element>
                                             </xs:annotation>
                                         </xs:element>
-                                        <xs:element ref="HelpText" minOccurs="0"
-                                            maxOccurs="unbounded"/>
+                                        <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: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 does
-                                                  not install the GUID, and the GUID must be present
-                                                  for the module to execute. </xs:documentation>
-                                                  </xs:annotation>
+                                                    <xs:annotation>
+                                                        <xs:documentation xml:lang="en-us">The module does not install
+                                                            the GUID, and the GUID must be present for the module to
+                                                            execute. </xs:documentation>
+                                                    </xs:annotation>
                                                 </xs:enumeration>
                                                 <xs:enumeration value="SOMETIMES_CONSUMES">
                                                 </xs:enumeration>
                                                 <xs:enumeration value="SOMETIMES_CONSUMES">
-                                                  <xs:annotation>
-                                                  <xs:documentation xml:lang="en-us"> The module
-                                                  does not install the GUID, however, the GUID will
-                                                  be used if it is present. </xs:documentation>
-                                                  </xs:annotation>
+                                                    <xs:annotation>
+                                                        <xs:documentation xml:lang="en-us"> The module does not install
+                                                            the GUID, however, the GUID will be used if it is present.
+                                                        </xs:documentation>
+                                                    </xs:annotation>
                                                 </xs:enumeration>
                                                 <xs:enumeration value="PRODUCES">
                                                 </xs:enumeration>
                                                 <xs:enumeration value="PRODUCES">
-                                                  <xs:annotation>
-                                                  <xs:documentation xml:lang="en-us"> The module
-                                                  always installs the GUID. </xs:documentation>
-                                                  </xs:annotation>
+                                                    <xs:annotation>
+                                                        <xs:documentation xml:lang="en-us"> The module always installs
+                                                            the GUID. </xs:documentation>
+                                                    </xs:annotation>
                                                 </xs:enumeration>
                                                 <xs:enumeration value="SOMETIMES_PRODUCES">
                                                 </xs:enumeration>
                                                 <xs:enumeration value="SOMETIMES_PRODUCES">
-                                                  <xs:annotation>
-                                                  <xs:documentation xml:lang="en-us"> The Module
-                                                  will install the GUID under certain execution
-                                                  paths. </xs:documentation>
-                                                  </xs:annotation>
+                                                    <xs:annotation>
+                                                        <xs:documentation xml:lang="en-us"> The Module will install the
+                                                            GUID under certain execution paths. </xs:documentation>
+                                                    </xs:annotation>
                                                 </xs:enumeration>
                                                 <xs:enumeration value="UNDEFINED">
                                                 </xs:enumeration>
                                                 <xs:enumeration value="UNDEFINED">
-                                                  <xs:annotation>
-                                                  <xs:documentation xml:lang="en-us"> The package
-                                                  creator knows that a GUID is used, but does not
-                                                  know how it is used. </xs:documentation>
-                                                  </xs:annotation>
+                                                    <xs:annotation>
+                                                        <xs:documentation xml:lang="en-us"> The package creator knows
+                                                            that a GUID 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="GuidType" type="GuidListType" use="required"/>
                                                 </xs:enumeration>
                                             </xs:restriction>
                                         </xs:simpleType>
                                     </xs:attribute>
                                     <xs:attribute name="GuidType" type="GuidListType" use="required"/>
-                                    <xs:attribute name="SupArchList" type="ArchListType"
-                                        use="optional"/>
-                                    <xs:attribute name="SupModList" type="ModuleListType"
-                                        use="optional"/>
-                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString"
-                                        use="optional"/>
+                                    <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
+                                    <xs:attribute name="SupModList" type="ModuleListType" use="optional"/>
+                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
                                 </xs:complexType>
                             </xs:element>
                         </xs:sequence>
                                 </xs:complexType>
                             </xs:element>
                         </xs:sequence>
@@ -2038,19 +1939,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
                 <xs:element minOccurs="0" maxOccurs="1" name="Protocols">
                     <xs:annotation>
 
                 <xs:element minOccurs="0" maxOccurs="1" name="Protocols">
                     <xs:annotation>
-                        <xs:documentation xml:lang="en-us"> A listing of protocols required or
-                            produced by this module. </xs:documentation>
+                        <xs:documentation xml:lang="en-us"> A listing of protocols required or produced by this module.
+                        </xs:documentation>
                     </xs:annotation>
                     <xs:complexType>
                         <xs:sequence>
                     </xs:annotation>
                     <xs:complexType>
                         <xs:sequence>
-                            <xs:element minOccurs="1" maxOccurs="unbounded" name="Protocol"
-                                nillable="true">
+                            <xs:element minOccurs="1" maxOccurs="unbounded" name="Protocol" nillable="true">
                                 <xs:complexType>
                                     <xs:sequence>
                                 <xs:complexType>
                                     <xs:sequence>
-                                        <xs:element minOccurs="1" maxOccurs="1" name="CName"
-                                            type="xs:NCName"/>
-                                        <xs:element ref="HelpText" minOccurs="0"
-                                            maxOccurs="unbounded"/>
+                                        <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/>
+                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
                                     </xs:sequence>
                                     <xs:attribute name="Usage" use="required">
                                         <xs:simpleType>
                                     </xs:sequence>
                                     <xs:attribute name="Usage" use="required">
                                         <xs:simpleType>
@@ -2066,12 +1964,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                                         </xs:simpleType>
                                     </xs:attribute>
                                     <xs:attribute name="Notify" type="xs:boolean" use="optional"/>
                                         </xs:simpleType>
                                     </xs:attribute>
                                     <xs:attribute name="Notify" type="xs:boolean" use="optional"/>
-                                    <xs:attribute name="SupArchList" type="ArchListType"
-                                        use="optional"/>
-                                    <xs:attribute name="SupModList" type="ModuleListType"
-                                        use="optional"/>
-                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString"
-                                        use="optional"/>
+                                    <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
+                                    <xs:attribute name="SupModList" type="ModuleListType" use="optional"/>
+                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
                                 </xs:complexType>
                             </xs:element>
                         </xs:sequence>
                                 </xs:complexType>
                             </xs:element>
                         </xs:sequence>
@@ -2081,19 +1976,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
                 <xs:element minOccurs="0" maxOccurs="1" name="PPIs">
                     <xs:annotation>
 
                 <xs:element minOccurs="0" maxOccurs="1" name="PPIs">
                     <xs:annotation>
-                        <xs:documentation xml:lang="en-us"> A listing of PPIs required or produced
-                            by this module. </xs:documentation>
+                        <xs:documentation xml:lang="en-us"> A listing of PPIs required or produced by this module.
+                        </xs:documentation>
                     </xs:annotation>
                     <xs:complexType>
                         <xs:sequence>
                     </xs:annotation>
                     <xs:complexType>
                         <xs:sequence>
-                            <xs:element minOccurs="1" maxOccurs="unbounded" name="Ppi"
-                                nillable="true">
+                            <xs:element minOccurs="1" maxOccurs="unbounded" name="Ppi" nillable="true">
                                 <xs:complexType>
                                     <xs:sequence>
                                 <xs:complexType>
                                     <xs:sequence>
-                                        <xs:element minOccurs="1" maxOccurs="1" name="CName"
-                                            type="xs:NCName"/>
-                                        <xs:element ref="HelpText" minOccurs="0"
-                                            maxOccurs="unbounded"/>
+                                        <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/>
+                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
                                     </xs:sequence>
                                     <xs:attribute name="Usage" use="required">
                                         <xs:simpleType>
                                     </xs:sequence>
                                     <xs:attribute name="Usage" use="required">
                                         <xs:simpleType>
@@ -2107,12 +1999,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                                         </xs:simpleType>
                                     </xs:attribute>
                                     <xs:attribute name="Notify" type="xs:boolean" use="optional"/>
                                         </xs:simpleType>
                                     </xs:attribute>
                                     <xs:attribute name="Notify" type="xs:boolean" use="optional"/>
-                                    <xs:attribute name="SupArchList" type="ArchListType"
-                                        use="optional"/>
-                                    <xs:attribute name="SupModList" type="ModuleListType"
-                                        use="optional"/>
-                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString"
-                                        use="optional"/>
+                                    <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
+                                    <xs:attribute name="SupModList" type="ModuleListType" use="optional"/>
+                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
                                 </xs:complexType>
                             </xs:element>
                         </xs:sequence>
                                 </xs:complexType>
                             </xs:element>
                         </xs:sequence>
@@ -2122,9 +2011,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
                 <xs:element minOccurs="0" maxOccurs="1" name="Externs">
                     <xs:annotation>
 
                 <xs:element minOccurs="0" maxOccurs="1" name="Externs">
                     <xs:annotation>
-                        <xs:documentation xml:lang="en-us"> These elements specify additional
-                            information about the module. This area may be used by tools to generate
-                            code. </xs:documentation>
+                        <xs:documentation xml:lang="en-us"> These elements specify additional information about the
+                            module. This area may be used by tools to generate code. </xs:documentation>
                     </xs:annotation>
                     <xs:complexType>
                         <xs:sequence>
                     </xs:annotation>
                     <xs:complexType>
                         <xs:sequence>
@@ -2133,26 +2021,23 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                                     <xs:sequence>
                                         <xs:choice minOccurs="1">
                                             <xs:sequence>
                                     <xs:sequence>
                                         <xs:choice minOccurs="1">
                                             <xs:sequence>
-                                                <xs:element minOccurs="0" maxOccurs="1"
-                                                  name="EntryPoint" type="xs:NCName"/>
-                                                <xs:element minOccurs="0" maxOccurs="1"
-                                                  name="UnloadImage" type="xs:NCName"/>
+                                                <xs:element minOccurs="0" maxOccurs="1" name="EntryPoint"
+                                                    type="xs:NCName"/>
+                                                <xs:element minOccurs="0" maxOccurs="1" name="UnloadImage"
+                                                    type="xs:NCName"/>
                                             </xs:sequence>
                                             <xs:sequence>
                                             </xs:sequence>
                                             <xs:sequence>
-                                                <xs:element minOccurs="0" maxOccurs="1"
-                                                  name="Constructor" type="xs:NCName"/>
-                                                <xs:element minOccurs="0" maxOccurs="1"
-                                                  name="Destructor" type="xs:NCName"/>
+                                                <xs:element minOccurs="0" maxOccurs="1" name="Constructor"
+                                                    type="xs:NCName"/>
+                                                <xs:element minOccurs="0" maxOccurs="1" name="Destructor"
+                                                    type="xs:NCName"/>
                                             </xs:sequence>
                                         </xs:choice>
                                         <xs:element ref="HelpText" minOccurs="0" maxOccurs="1"/>
                                     </xs:sequence>
                                             </xs:sequence>
                                         </xs:choice>
                                         <xs:element ref="HelpText" minOccurs="0" maxOccurs="1"/>
                                     </xs:sequence>
-                                    <xs:attribute name="SupArchList" type="ArchListType"
-                                        use="optional"/>
-                                    <xs:attribute name="SupModList" type="ModuleListType"
-                                        use="optional"/>
-                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString"
-                                        use="optional"/>
+                                    <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
+                                    <xs:attribute name="SupModList" type="ModuleListType" use="optional"/>
+                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
                                 </xs:complexType>
                             </xs:element>
                         </xs:sequence>
                                 </xs:complexType>
                             </xs:element>
                         </xs:sequence>
@@ -2162,26 +2047,22 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
                 <xs:element minOccurs="0" maxOccurs="1" name="PcdCoded">
                     <xs:annotation>
 
                 <xs:element minOccurs="0" maxOccurs="1" name="PcdCoded">
                     <xs:annotation>
-                        <xs:documentation xml:lang="en-us"> This section describes how a platform is
-                            coded with respect to the platform configuration knobs.
-                        </xs:documentation>
+                        <xs:documentation xml:lang="en-us"> This section describes how a platform is coded with respect
+                            to the platform configuration knobs. </xs:documentation>
                     </xs:annotation>
                     <xs:complexType>
                         <xs:sequence>
                             <xs:element minOccurs="1" maxOccurs="unbounded" name="PcdEntry">
                                 <xs:complexType>
                                     <xs:sequence>
                     </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="CName"
+                                        <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/>
+                                        <xs:element minOccurs="1" maxOccurs="1" name="TokenSpaceGuidCName"
                                             type="xs:NCName"/>
                                             type="xs:NCName"/>
-                                        <xs:element minOccurs="1" maxOccurs="1"
-                                            name="TokenSpaceGuidCName" type="xs:NCName"/>
                                         <xs:element minOccurs="0" maxOccurs="1" name="DefaultValue"
                                             type="xs:normalizedString"/>
                                         <xs:element minOccurs="0" maxOccurs="1" name="DefaultValue"
                                             type="xs:normalizedString"/>
-                                        <xs:element ref="HelpText" minOccurs="0"
-                                            maxOccurs="unbounded"/>
+                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
                                     </xs:sequence>
                                     </xs:sequence>
-                                    <xs:attribute name="PcdItemType" type="PcdItemTypes"
-                                        use="required"/>
+                                    <xs:attribute name="PcdItemType" type="PcdItemTypes" use="required"/>
                                     <xs:attribute name="PcdUsage" use="required">
                                         <xs:simpleType>
                                             <xs:restriction base="xs:NCName">
                                     <xs:attribute name="PcdUsage" use="required">
                                         <xs:simpleType>
                                             <xs:restriction base="xs:NCName">
@@ -2195,12 +2076,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
 
                                     </xs:attribute>
 
 
                                     </xs:attribute>
-                                    <xs:attribute name="SupArchList" type="ArchListType"
-                                        use="optional"/>
-                                    <xs:attribute name="SupModList" type="ModuleListType"
-                                        use="optional"/>
-                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString"
-                                        use="optional"/>
+                                    <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
+                                    <xs:attribute name="SupModList" type="ModuleListType" use="optional"/>
+                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
                                 </xs:complexType>
                             </xs:element>
                         </xs:sequence>
                                 </xs:complexType>
                             </xs:element>
                         </xs:sequence>
@@ -2210,18 +2088,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
                 <xs:element minOccurs="0" maxOccurs="unbounded" name="PeiDepex">
                     <xs:annotation>
 
                 <xs:element minOccurs="0" maxOccurs="unbounded" name="PeiDepex">
                     <xs:annotation>
-                        <xs:documentation xml:lang="en-us"> This is the PEI dependency expression
-                            for a Dependency Section. </xs:documentation>
+                        <xs:documentation xml:lang="en-us"> This is the PEI dependency expression for a Dependency
+                            Section. </xs:documentation>
                     </xs:annotation>
                     <xs:complexType>
                         <xs:sequence>
                     </xs:annotation>
                     <xs:complexType>
                         <xs:sequence>
-                            <xs:element name="Expression" type="xs:string" minOccurs="1"
-                                maxOccurs="1">
+                            <xs:element name="Expression" type="xs:string" minOccurs="1" maxOccurs="1">
                                 <xs:annotation>
                                 <xs:annotation>
-                                    <xs:documentation xml:lang="en-us"> An in-fix expression, of C
-                                        identifiers and TRUE, FALSE, AND, OR, NOT, BEFORE, and AFTER
-                                        as well as parenthesis () in the in-fix notation. The
-                                        operators are restricted to grammar defined in the PI
+                                    <xs:documentation xml:lang="en-us"> An in-fix expression, of C identifiers and TRUE,
+                                        FALSE, AND, OR, NOT, BEFORE, and AFTER as well as parenthesis () in the in-fix
+                                        notation. The operators are restricted to grammar defined in the PI
                                         specification. </xs:documentation>
                                 </xs:annotation>
                             </xs:element>
                                         specification. </xs:documentation>
                                 </xs:annotation>
                             </xs:element>
@@ -2236,18 +2112,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
                 <xs:element minOccurs="0" maxOccurs="unbounded" name="DxeDepex">
                     <xs:annotation>
 
                 <xs:element minOccurs="0" maxOccurs="unbounded" name="DxeDepex">
                     <xs:annotation>
-                        <xs:documentation xml:lang="en-us"> This is the DXE dependency expression
-                            for a Dependency Section. </xs:documentation>
+                        <xs:documentation xml:lang="en-us"> This is the DXE dependency expression for a Dependency
+                            Section. </xs:documentation>
                     </xs:annotation>
                     <xs:complexType>
                         <xs:sequence>
                     </xs:annotation>
                     <xs:complexType>
                         <xs:sequence>
-                            <xs:element name="Expression" type=" xs:string " minOccurs="1"
-                                maxOccurs="1">
+                            <xs:element name="Expression" type=" xs:string " minOccurs="1" maxOccurs="1">
                                 <xs:annotation>
                                 <xs:annotation>
-                                    <xs:documentation xml:lang="en-us"> An in-fix expression, of C
-                                        identifiers and TRUE, FALSE, AND, OR, NOT, BEFORE, and AFTER
-                                        as well as parenthesis () in the in-fix notation. The
-                                        operators are restricted to grammar defined in the PI
+                                    <xs:documentation xml:lang="en-us"> An in-fix expression, of C identifiers and TRUE,
+                                        FALSE, AND, OR, NOT, BEFORE, and AFTER as well as parenthesis () in the in-fix
+                                        notation. The operators are restricted to grammar defined in the PI
                                         specification. </xs:documentation>
                                 </xs:annotation>
                             </xs:element>
                                         specification. </xs:documentation>
                                 </xs:annotation>
                             </xs:element>
@@ -2262,18 +2136,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
                 <xs:element minOccurs="0" maxOccurs="unbounded" name="SmmDepex">
                     <xs:annotation>
 
                 <xs:element minOccurs="0" maxOccurs="unbounded" name="SmmDepex">
                     <xs:annotation>
-                        <xs:documentation xml:lang="en-us"> This is the SMM dependency expression
-                            for a Dependency Section. </xs:documentation>
+                        <xs:documentation xml:lang="en-us"> This is the SMM dependency expression for a Dependency
+                            Section. </xs:documentation>
                     </xs:annotation>
                     <xs:complexType>
                         <xs:sequence>
                     </xs:annotation>
                     <xs:complexType>
                         <xs:sequence>
-                            <xs:element name="Expression" type=" xs:string " minOccurs="1"
-                                maxOccurs="1">
+                            <xs:element name="Expression" type=" xs:string " minOccurs="1" maxOccurs="1">
                                 <xs:annotation>
                                 <xs:annotation>
-                                    <xs:documentation xml:lang="en-us"> An in-fix expression, of C
-                                        identifiers and TRUE, FALSE, AND, OR, NOT, BEFORE, and AFTER
-                                        as well as parenthesis () in the in-fix notation. The
-                                        operators are restricted to grammar defined in the PI
+                                    <xs:documentation xml:lang="en-us"> An in-fix expression, of C identifiers and TRUE,
+                                        FALSE, AND, OR, NOT, BEFORE, and AFTER as well as parenthesis () in the in-fix
+                                        notation. The operators are restricted to grammar defined in the PI
                                         specification. </xs:documentation>
                                 </xs:annotation>
                             </xs:element>
                                         specification. </xs:documentation>
                                 </xs:annotation>
                             </xs:element>
@@ -2289,9 +2161,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
                 <xs:element minOccurs="0" maxOccurs="1" name="MiscellaneousFiles">
                     <xs:annotation>
 
                 <xs:element minOccurs="0" maxOccurs="1" name="MiscellaneousFiles">
                     <xs:annotation>
-                        <xs:documentation xml:lang="en-us"> This section is used to provide comments
-                            and/or list auxiliary files, such as pdb or map files.
-                        </xs:documentation>
+                        <xs:documentation xml:lang="en-us"> This section is used to provide comments and/or list
+                            auxiliary files, such as pdb or map files. </xs:documentation>
                     </xs:annotation>
                     <xs:complexType>
                         <xs:sequence>
                     </xs:annotation>
                     <xs:complexType>
                         <xs:sequence>
@@ -2299,27 +2170,26 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                                 <xs:complexType>
                                     <xs:simpleContent>
                                         <xs:extension base="xs:string">
                                 <xs:complexType>
                                     <xs:simpleContent>
                                         <xs:extension base="xs:string">
-                                            <xs:attribute name="Lang" type="xs:language"
-                                                default="en-us" use="optional"/>
+                                            <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"
+                                            />
                                         </xs:extension>
                                     </xs:simpleContent>
                                 </xs:complexType>
                             </xs:element>
                             <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename">
                                 <xs:annotation>
                                         </xs:extension>
                                     </xs:simpleContent>
                                 </xs:complexType>
                             </xs:element>
                             <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename">
                                 <xs:annotation>
-                                    <xs:documentation xml:lang="en-us"> This is the path and
-                                        filename location within the ZIP file. </xs:documentation>
+                                    <xs:documentation xml:lang="en-us"> This is the path and filename location within
+                                        the ZIP file. </xs:documentation>
                                 </xs:annotation>
                                 <xs:complexType>
                                     <xs:simpleContent>
                                         <xs:extension base="xs:anyURI">
                                 </xs:annotation>
                                 <xs:complexType>
                                     <xs:simpleContent>
                                         <xs:extension base="xs:anyURI">
-                                            <xs:attribute name="Executable" type="xs:boolean"
-                                                default="false" use="optional">
+                                            <xs:attribute name="Executable" type="xs:boolean" default="false"
+                                                use="optional">
                                                 <xs:annotation>
                                                 <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: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:annotation>
                                             </xs:attribute>
                                         </xs:extension>
@@ -2333,35 +2203,30 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
                 <xs:element minOccurs="0" maxOccurs="unbounded" name="UserExtensions">
                     <xs:annotation>
 
                 <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 the
-                            distribution that are common to module. </xs:documentation>
+                        <xs:documentation xml:lang="en-us"> This section is used for any processing instructions that
+                            may be custom to the content provided by the distribution that are common to module. </xs:documentation>
                         <xs:documentation xml:lang="en-us"> The content is vendor specific. </xs:documentation>
                         <xs:documentation xml:lang="en-us"> The content is vendor specific. </xs:documentation>
-                        <xs:documentation xml:lang="en-us"> The content can be plain text as well as
-                            any user-defined, properly formatted XML structure. </xs:documentation>
+                        <xs:documentation xml:lang="en-us"> The content can be plain text as well as any user-defined,
+                            properly formatted XML structure. </xs:documentation>
                     </xs:annotation>
                     <xs:complexType mixed="true">
                         <xs:attribute name="UserId" type="xs:NCName" use="required">
                             <xs:annotation>
                     </xs:annotation>
                     <xs:complexType mixed="true">
                         <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. For example, ReferenceBuild might
-                                    be used to identify non-PI compliant build steps, with two
-                                    different UserExtensions sections, one with an Identifier of
-                                    Prebuild, and another of PostBuild. Both UserExtensions sections
-                                    would use the same UserId. </xs:documentation>
+                                <xs:documentation xml:lang="en-us"> This is a single word identifier for grouping
+                                    similar content. For example, ReferenceBuild might be used to identify non-PI
+                                    compliant build steps, with two different UserExtensions sections, one with an
+                                    Identifier of Prebuild, and another of PostBuild. Both UserExtensions sections would
+                                    use the same UserId. </xs:documentation>
                             </xs:annotation>
                         </xs:attribute>
                         <xs:attribute name="Identifier" type="xs:string" use="required">
                             <xs:annotation>
                             </xs:annotation>
                         </xs:attribute>
                         <xs:attribute name="Identifier" type="xs:string" use="required">
                             <xs:annotation>
-                                <xs:documentation xml:lang="en-us"> This can be any string used to
-                                    differentiate or identify this section from other UserExtensions
-                                    sections. </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 this
-                                    module. </xs:documentation>
+                                <xs:documentation xml:lang="en-us"> This can be any string used to differentiate or
+                                    identify this section from other UserExtensions sections. </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 this module. </xs:documentation>
                             </xs:annotation>
                         </xs:attribute>
                         <xs:anyAttribute processContents="lax"/>
                             </xs:annotation>
                         </xs:attribute>
                         <xs:anyAttribute processContents="lax"/>
@@ -2372,11 +2237,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
             </xs:sequence>
             <xs:attribute name="BinaryModule" type="xs:boolean" default="false" use="optional">
                 <xs:annotation>
             </xs:sequence>
             <xs:attribute name="BinaryModule" type="xs:boolean" default="false" use="optional">
                 <xs:annotation>
-                    <xs:documentation xml:lang="en-us"> This attribute is used when the binaries are
-                        distributed for this module and no code generation from source files is
-                        required. If set, then the BinaryFiles section should be used, and any files
-                        listed in the SourceFiles section do not have to be built. Additionally, the
-                        AsBuilt section for each binary file must be included. </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> This attribute is used when the binaries are distributed for
+                        this module and no code generation from source files is required. If set, then the BinaryFiles
+                        section should be used, and any files listed in the SourceFiles section do not have to be built.
+                        Additionally, the AsBuilt section for each binary file must be included. </xs:documentation>
                 </xs:annotation>
             </xs:attribute>
         </xs:complexType>
                 </xs:annotation>
             </xs:attribute>
         </xs:complexType>
@@ -2390,42 +2254,34 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                 <xs:element minOccurs="0" maxOccurs="1" name="Header">
                     <xs:complexType>
                         <xs:sequence>
                 <xs:element minOccurs="0" maxOccurs="1" name="Header">
                     <xs:complexType>
                         <xs:sequence>
-                            <xs:element minOccurs="1" maxOccurs="1" name="Name"
-                                type="xs:normalizedString">
+                            <xs:element minOccurs="1" maxOccurs="1" name="Name" type="xs:normalizedString">
                                 <xs:annotation>
                                 <xs:annotation>
-                                    <xs:documentation xml:lang="en-us">This is the User Interface
-                                        Name for this Tools Distribution.</xs:documentation>
+                                    <xs:documentation xml:lang="en-us">This is the User Interface Name for this Tools
+                                        Distribution.</xs:documentation>
                                 </xs:annotation>
                             </xs:element>
                                 </xs:annotation>
                             </xs:element>
-                            <xs:element minOccurs="0" maxOccurs="1" name="Copyright"
-                                type="xs:string">
+                            <xs:element minOccurs="0" maxOccurs="1" name="Copyright" type="xs:string">
                                 <xs:annotation>
                                 <xs:annotation>
-                                    <xs:documentation xml:lang="en-us"> This is only required if the
-                                        Copyright is different from the Distribution Package
-                                        copyright. </xs:documentation>
+                                    <xs:documentation xml:lang="en-us"> This is only required if the Copyright is
+                                        different from the Distribution Package copyright. </xs:documentation>
                                 </xs:annotation>
                             </xs:element>
                             <xs:element minOccurs="0" maxOccurs="1" name="License" type="xs:string">
                                 <xs:annotation>
                                 </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 the Distribution Package license.
-                                    </xs:documentation>
+                                    <xs:documentation xml:lang="en-us"> This is only required if the License is
+                                        different from the Distribution Package license. </xs:documentation>
                                 </xs:annotation>
                             </xs:element>
                                 </xs:annotation>
                             </xs:element>
-                            <xs:element minOccurs="0" maxOccurs="1" name="Abstract"
-                                type="xs:normalizedString">
+                            <xs:element minOccurs="0" maxOccurs="1" name="Abstract" type="xs:normalizedString">
                                 <xs:annotation>
                                 <xs:annotation>
-                                    <xs:documentation xml:lang="en-us"> This is only required if the
-                                        Abstract is different from the Distribution Package
-                                        Abstract. </xs:documentation>
+                                    <xs:documentation xml:lang="en-us"> This is only required if the Abstract is
+                                        different from the Distribution Package Abstract. </xs:documentation>
                                 </xs:annotation>
                             </xs:element>
                                 </xs:annotation>
                             </xs:element>
-                            <xs:element minOccurs="0" maxOccurs="1" name="Description"
-                                type="xs:string">
+                            <xs:element minOccurs="0" maxOccurs="1" name="Description" type="xs:string">
                                 <xs:annotation>
                                 <xs:annotation>
-                                    <xs:documentation xml:lang="en-us"> This is only required if the
-                                        Description is different from the Distribution Package
-                                        Description. </xs:documentation>
+                                    <xs:documentation xml:lang="en-us"> This is only required if the Description is
+                                        different from the Distribution Package Description. </xs:documentation>
                                 </xs:annotation>
                             </xs:element>
                         </xs:sequence>
                                 </xs:annotation>
                             </xs:element>
                         </xs:sequence>
@@ -2433,26 +2289,23 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                 </xs:element>
                 <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename">
                     <xs:annotation>
                 </xs:element>
                 <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename">
                     <xs:annotation>
-                        <xs:documentation xml:lang="en-us"> This is the path and filename location
-                            within the ZIP file. </xs:documentation>
+                        <xs:documentation xml:lang="en-us"> This is the path and filename location within the ZIP file.
+                        </xs:documentation>
                     </xs:annotation>
                     <xs:complexType>
                         <xs:simpleContent>
                             <xs:extension base="xs:anyURI">
                                 <xs:attribute name="OS" type="SupportedOs" use="optional">
                                     <xs:annotation>
                     </xs:annotation>
                     <xs:complexType>
                         <xs:simpleContent>
                             <xs:extension base="xs:anyURI">
                                 <xs:attribute name="OS" type="SupportedOs" use="optional">
                                     <xs:annotation>
-                                        <xs:documentation xml:lang="en-us"> This is required for
-                                            tools that execute; it should not be used for
-                                            configuration files. </xs:documentation>
+                                        <xs:documentation xml:lang="en-us"> This is required for tools that execute; it
+                                            should not be used for configuration files. </xs:documentation>
                                     </xs:annotation>
                                 </xs:attribute>
                                     </xs:annotation>
                                 </xs:attribute>
-                                <xs:attribute name="Executable" type="xs:boolean" default="false"
-                                    use="optional">
+                                <xs:attribute name="Executable" type="xs:boolean" default="false" use="optional">
                                     <xs:annotation>
                                     <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: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:annotation>
                                 </xs:attribute>
                             </xs:extension>
@@ -2466,44 +2319,39 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
     <xs:element name="MiscellaneousFiles">
         <xs:annotation>
 
     <xs:element name="MiscellaneousFiles">
         <xs:annotation>
-            <xs:documentation xml:lang="en-us"> This section contains a list of files that are not
-                part of the code distributed with modules, packages or tools. </xs:documentation>
+            <xs:documentation xml:lang="en-us"> This section contains a list of files that are not part of the code
+                distributed with modules, packages or tools. </xs:documentation>
         </xs:annotation>
         <xs:complexType>
             <xs:sequence>
                 <xs:element minOccurs="0" maxOccurs="1" name="Header">
                     <xs:complexType>
                         <xs:sequence>
         </xs:annotation>
         <xs:complexType>
             <xs:sequence>
                 <xs:element minOccurs="0" maxOccurs="1" name="Header">
                     <xs:complexType>
                         <xs:sequence>
-                            <xs:element minOccurs="0" maxOccurs="1" name="Name"
-                                type="xs:normalizedString">
+                            <xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:normalizedString">
                                 <xs:annotation>
                                 <xs:annotation>
-                                    <xs:documentation xml:lang="en-us"> The User interface name for
-                                        this content. </xs:documentation>
+                                    <xs:documentation xml:lang="en-us"> The User interface name for this content.
+                                    </xs:documentation>
                                 </xs:annotation>
                             </xs:element>
                                 </xs:annotation>
                             </xs:element>
-                            <xs:element minOccurs="0" maxOccurs="1" name="Copyright"
-                                type="xs:string">
+                            <xs:element minOccurs="0" maxOccurs="1" name="Copyright" type="xs:string">
                                 <xs:annotation>
                                 <xs:annotation>
-                                    <xs:documentation xml:lang="en-us"> This is only required if the
-                                        Copyright is different from the Distribution Package
-                                        Copyright. </xs:documentation>
+                                    <xs:documentation xml:lang="en-us"> This is only required if the Copyright is
+                                        different from the Distribution Package Copyright. </xs:documentation>
                                 </xs:annotation>
                             </xs:element>
                             <xs:element minOccurs="0" maxOccurs="1" name="License" type="xs:string">
                                 <xs:annotation>
                                 </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 the Distribution Package License.
-                                    </xs:documentation>
+                                    <xs:documentation xml:lang="en-us"> This is only required if the License is
+                                        different from the Distribution Package License. </xs:documentation>
                                 </xs:annotation>
                             </xs:element>
                                 </xs:annotation>
                             </xs:element>
-                            <xs:element minOccurs="0" maxOccurs="1" name="Abstract"
-                                type="xs:normalizedString"/>
+                            <xs:element minOccurs="0" maxOccurs="1" name="Abstract" type="xs:normalizedString"/>
                             <xs:element minOccurs="0" maxOccurs="unbounded" name="Description">
                                 <xs:complexType>
                                     <xs:simpleContent>
                                         <xs:extension base="xs:string">
                             <xs:element minOccurs="0" maxOccurs="unbounded" name="Description">
                                 <xs:complexType>
                                     <xs:simpleContent>
                                         <xs:extension base="xs:string">
-                                            <xs:attribute name="Lang" type="xs:language"
-                                                default="en-us" use="optional"/>
+                                            <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"
+                                            />
                                         </xs:extension>
                                     </xs:simpleContent>
                                 </xs:complexType>
                                         </xs:extension>
                                     </xs:simpleContent>
                                 </xs:complexType>
@@ -2513,19 +2361,17 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                 </xs:element>
                 <xs:element minOccurs="0" maxOccurs="unbounded" name="Filename">
                     <xs:annotation>
                 </xs:element>
                 <xs:element minOccurs="0" maxOccurs="unbounded" name="Filename">
                     <xs:annotation>
-                        <xs:documentation xml:lang="en-us"> This is the path and filename location
-                            within the ZIP file. </xs:documentation>
+                        <xs:documentation xml:lang="en-us"> This is the path and filename location within the ZIP file.
+                        </xs:documentation>
                     </xs:annotation>
                     <xs:complexType>
                         <xs:simpleContent>
                             <xs:extension base="xs:anyURI">
                     </xs:annotation>
                     <xs:complexType>
                         <xs:simpleContent>
                             <xs:extension base="xs:anyURI">
-                                <xs:attribute name="Executable" type="xs:boolean" default="false"
-                                    use="optional">
+                                <xs:attribute name="Executable" type="xs:boolean" default="false" use="optional">
                                     <xs:annotation>
                                     <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: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:annotation>
                                 </xs:attribute>
                             </xs:extension>
@@ -2544,22 +2390,20 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
             </xs:sequence>
             <xs:attribute name="UserId" type="xs:NCName" use="required">
                 <xs:annotation>
             </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. For example, ReferenceBuild might be used to
-                        identify non-PI compliant build steps, with two different UserExtensions
-                        sections, one with an Identifier of Prebuild, and another of PostBuild. Both
-                        UserExtensions sections would use the same UserId. </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> This is a single word identifier for grouping similar content.
+                        For example, ReferenceBuild might be used to identify non-PI compliant build steps, with two
+                        different UserExtensions sections, one with an Identifier of Prebuild, and another of PostBuild.
+                        Both UserExtensions sections would use the same UserId. </xs:documentation>
                 </xs:annotation>
             </xs:attribute>
             <xs:attribute name="Identifier" type="xs:string" use="optional">
                 <xs:annotation>
                 </xs:annotation>
             </xs:attribute>
             <xs:attribute name="Identifier" type="xs:string" use="optional">
                 <xs:annotation>
-                    <xs:documentation xml:lang="en-us"> This can be any string used to differentiate
-                        or identify this section from other UserExtensions sections. </xs:documentation>
-                    <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS Identifier might
-                        indicate specific steps and tools required before processing distribution
-                        package content, while a different UserExtensions section with a
-                        POST_PROCESS Identifier might describe steps that need to be executed after
-                        operations on this content. </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> This can be any string used to differentiate or identify this
+                        section from other UserExtensions sections. </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS Identifier might indicate specific
+                        steps and tools required before processing distribution package content, while a different
+                        UserExtensions section with a POST_PROCESS Identifier might describe steps that need to be
+                        executed after operations on this content. </xs:documentation>
                 </xs:annotation>
             </xs:attribute>
             <xs:anyAttribute processContents="lax"/>
                 </xs:annotation>
             </xs:attribute>
             <xs:anyAttribute processContents="lax"/>
@@ -2596,11 +2440,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
             <xs:enumeration value="X64"/>
             <xs:enumeration value="IPF"/>
             <xs:enumeration value="EBC"/>
             <xs:enumeration value="X64"/>
             <xs:enumeration value="IPF"/>
             <xs:enumeration value="EBC"/>
+            <xs:enumeration value="ARM"/>
             <xs:pattern value="([A-Z])([a-zA-Z0-9])*">
                 <xs:annotation>
             <xs:pattern value="([A-Z])([a-zA-Z0-9])*">
                 <xs:annotation>
-                    <xs:documentation xml:lang="en-us"> Any processor architecture not listed above.
-                        The Architecture must be a target architecture of one or more compiler tool
-                        chains. </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> Any processor architecture not listed above. The Architecture
+                        must be a target architecture of one or more compiler tool chains. </xs:documentation>
                 </xs:annotation>
             </xs:pattern>
         </xs:restriction>
                 </xs:annotation>
             </xs:pattern>
         </xs:restriction>
@@ -2613,8 +2457,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
             <xs:enumeration value="GCC"/>
             <xs:pattern value="[A-Z][a-zA-Z0-9]*">
                 <xs:annotation>
             <xs:enumeration value="GCC"/>
             <xs:pattern value="[A-Z][a-zA-Z0-9]*">
                 <xs:annotation>
-                    <xs:documentation xml:lang="en-us"> Any other family of build utilities for
-                        which compiler tools exist. </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> Any other family of build utilities for which compiler tools
+                        exist. </xs:documentation>
                 </xs:annotation>
             </xs:pattern>
         </xs:restriction>
                 </xs:annotation>
             </xs:pattern>
         </xs:restriction>
@@ -2657,70 +2501,66 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
     <xs:simpleType name="ModuleTypes">
         <xs:annotation>
 
     <xs:simpleType name="ModuleTypes">
         <xs:annotation>
-            <xs:documentation xml:lang="en-us"> The following module types are defined by
-                specifications. </xs:documentation>
-            <xs:documentation xml:lang="en-us"> Module types for components and libraries defined
-                for this distribution mechanism. </xs:documentation>
+            <xs:documentation xml:lang="en-us"> The following module types are defined by specifications. </xs:documentation>
+            <xs:documentation xml:lang="en-us"> Module types for components and libraries defined for this distribution
+                mechanism. </xs:documentation>
         </xs:annotation>
         <xs:restriction base="xs:NCName">
             <xs:enumeration value="BASE ">
                 <xs:annotation>
         </xs:annotation>
         <xs:restriction base="xs:NCName">
             <xs:enumeration value="BASE ">
                 <xs:annotation>
-                    <xs:documentation xml:lang="en-us"> Use of this module is not restricted.
-                    </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> Use of this module is not restricted. </xs:documentation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="DXE_CORE">
                 <xs:annotation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="DXE_CORE">
                 <xs:annotation>
-                    <xs:documentation xml:lang="en-us"> This module is only applicable to the DXE
-                        core. </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> This module is only applicable to the DXE core.
+                    </xs:documentation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="DXE_DRIVER">
                 <xs:annotation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="DXE_DRIVER">
                 <xs:annotation>
-                    <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE
-                        driver. </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE driver.
+                    </xs:documentation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="DXE_RUNTIME_DRIVER">
                 <xs:annotation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="DXE_RUNTIME_DRIVER">
                 <xs:annotation>
-                    <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE
-                        runtime driver. </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE runtime driver.
+                    </xs:documentation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="DXE_SAL_DRIVER">
                 <xs:annotation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="DXE_SAL_DRIVER">
                 <xs:annotation>
-                    <xs:documentation xml:lang="en-us"> This module is only applicable to an IPF DXE
-                        runtime driver. </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> This module is only applicable to an IPF DXE runtime driver.
+                    </xs:documentation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="DXE_SMM_DRIVER">
                 <xs:annotation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="DXE_SMM_DRIVER">
                 <xs:annotation>
-                    <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE SMM
-                        driver. </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE SMM driver.
+                    </xs:documentation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="PEI_CORE">
                 <xs:annotation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="PEI_CORE">
                 <xs:annotation>
-                    <xs:documentation xml:lang="en-us"> This module is only applicable to the PEI
-                        core. </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> This module is only applicable to the PEI core.
+                    </xs:documentation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="PEIM">
                 <xs:annotation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="PEIM">
                 <xs:annotation>
-                    <xs:documentation xml:lang="en-us"> This module is only valid for PEI modules.
-                    </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> This module is only valid for PEI modules. </xs:documentation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="SEC">
                 <xs:annotation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="SEC">
                 <xs:annotation>
-                    <xs:documentation xml:lang="en-us"> This module is only applicable to Security
-                        phase. </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> This module is only applicable to Security phase.
+                    </xs:documentation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="UEFI_DRIVER">
                 <xs:annotation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="UEFI_DRIVER">
                 <xs:annotation>
-                    <xs:documentation xml:lang="en-us"> This module is only valid for UEFI drivers.
-                    </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> This module is only valid for UEFI drivers. </xs:documentation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="UEFI_RUNTIME_DRIVER">
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="UEFI_RUNTIME_DRIVER">
@@ -2731,8 +2571,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
             </xs:enumeration>
             <xs:enumeration value="UEFI_APPLICATION">
                 <xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="UEFI_APPLICATION">
                 <xs:annotation>
-                    <xs:documentation xml:lang="en-us"> This module is only valid for UEFI
-                        applications. </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> This module is only valid for UEFI applications.
+                    </xs:documentation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="SMM_CORE">
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="SMM_CORE">
@@ -2743,21 +2583,20 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
             </xs:enumeration>
             <xs:enumeration value="USER_DEFINED">
                 <xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="USER_DEFINED">
                 <xs:annotation>
-                    <xs:documentation xml:lang="en-us"> This content is restricted to a specific
-                        implementation. </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> This content is restricted to a specific implementation.
+                    </xs:documentation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="UNDEFINED">
                 <xs:annotation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="UNDEFINED">
                 <xs:annotation>
-                    <xs:documentation xml:lang="en-us"> This enumeration is for use in a list that
-                        where the package creator does not know the what module types are supported
-                        by a module. </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> This enumeration is for use in a list that where the package
+                        creator does not know the what module types are supported by a module. </xs:documentation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:pattern value="([A-Z])([a-zA-Z0-9])*">
                 <xs:annotation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:pattern value="([A-Z])([a-zA-Z0-9])*">
                 <xs:annotation>
-                    <xs:documentation xml:lang="en-us"> This pattern has been added for use in a
-                        module lists - for future expansion. </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> This pattern has been added for use in a module lists - for
+                        future expansion. </xs:documentation>
                 </xs:annotation>
             </xs:pattern>
         </xs:restriction>
                 </xs:annotation>
             </xs:pattern>
         </xs:restriction>
@@ -2765,8 +2604,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
     <xs:simpleType name="PcdDatumTypes">
         <xs:annotation>
 
     <xs:simpleType name="PcdDatumTypes">
         <xs:annotation>
-            <xs:documentation xml:lang="en-us"> The following data types are defined by the PCD
-                specification (or PCD section of the UEFI/PI specifications.) </xs:documentation>
+            <xs:documentation xml:lang="en-us"> The following data types are defined by the PCD specification (or PCD
+                section of the UEFI/PI specifications.) </xs:documentation>
         </xs:annotation>
         <xs:restriction base="xs:normalizedString">
             <xs:enumeration value="UINT8"/>
         </xs:annotation>
         <xs:restriction base="xs:normalizedString">
             <xs:enumeration value="UINT8"/>
@@ -2786,82 +2625,73 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
         <xs:restriction base="xs:NCName">
             <xs:enumeration value="FeaturePcd">
                 <xs:annotation>
         <xs:restriction base="xs:NCName">
             <xs:enumeration value="FeaturePcd">
                 <xs:annotation>
-                    <xs:documentation xml:lang="en-us"> The Feature PCD is a binary, evaluating to
-                        either true or false. This is used during build to include/exclude content.
-                        It can also be used during execution to force execution paths within
-                        drivers, or to enable/disable features within a driver for a given platform.
-                    </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> The Feature PCD is a binary, evaluating to either true or false.
+                        This is used during build to include/exclude content. It can also be used during execution to
+                        force execution paths within drivers, or to enable/disable features within a driver for a given
+                        platform. </xs:documentation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="FixedPcd">
                 <xs:annotation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="FixedPcd">
                 <xs:annotation>
-                    <xs:documentation xml:lang="en-us"> The Fixed PCD is a #define value that is set
-                        at build time. </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> The Fixed PCD is a #define value that is set at build time.
+                    </xs:documentation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="PatchPcd">
                 <xs:annotation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="PatchPcd">
                 <xs:annotation>
-                    <xs:documentation xml:lang="en-us"> The Patch PCD is a #define that is set at
-                        build time, and that can be modified within a binary file. Additional
-                        information, such as the offset location of the value, along with it's
-                        length may need to be provided.</xs:documentation>
+                    <xs:documentation xml:lang="en-us"> The Patch PCD is a #define that is set at build time, and that
+                        can be modified within a binary file. Additional information, such as the offset location of the
+                        value, along with it's length may need to be provided.</xs:documentation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="Pcd">
                 <xs:annotation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="Pcd">
                 <xs:annotation>
-                    <xs:documentation xml:lang="en-us"> This PCD type has an overloaded definition.
-                        Prior to build, the platform integrator may choose to implement a PCD as
-                        Fixed, Patchable or a Dynamic PCD. If the platform integrator choose to use
-                        the PCD as dynamic, then a PCD driver is required in the platform
-                        (PEI/DXE/both) to track the PCD in some sort of 'database' of these items.
-                        For Dynamic PCDs, the PcdGet* must pass in the token space guid and the
-                        token number to retrieve data (PcdSet* also needs these values.)
-                    </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> This PCD type has an overloaded definition. Prior to build, the
+                        platform integrator may choose to implement a PCD as Fixed, Patchable or a Dynamic PCD. If the
+                        platform integrator choose to use the PCD as dynamic, then a PCD driver is required in the
+                        platform (PEI/DXE/both) to track the PCD in some sort of 'database' of these items. For Dynamic
+                        PCDs, the PcdGet* must pass in the token space guid and the token number to retrieve data
+                        (PcdSet* also needs these values.) </xs:documentation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="PcdEx">
                 <xs:annotation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="PcdEx">
                 <xs:annotation>
-                    <xs:documentation xml:lang="en-us"> The PCD can only be used as Dynamic, and the
-                        platform firmware must contain a driver to maintain a 'database' of these
-                        items. For Dynamic PCDs, the PcdGet* must pass in the token space guid and
-                        the token number to retrieve data (PcdSet* also needs these values.)
-                    </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> The PCD can only be used as Dynamic, and the platform firmware
+                        must contain a driver to maintain a 'database' of these items. For Dynamic PCDs, the PcdGet*
+                        must pass in the token space guid and the token number to retrieve data (PcdSet* also needs
+                        these values.) </xs:documentation>
                 </xs:annotation>
             </xs:enumeration>
         </xs:restriction>
     </xs:simpleType>
 
                 </xs:annotation>
             </xs:enumeration>
         </xs:restriction>
     </xs:simpleType>
 
-
-
     <xs:simpleType name="RegistryFormatGuid">
         <xs:annotation>
     <xs:simpleType name="RegistryFormatGuid">
         <xs:annotation>
-            <xs:documentation xml:lang="en-us"> A GUID must contain five different Hexadecimal
-                character sets that are separated by a dash (-) character. </xs:documentation>
+            <xs:documentation xml:lang="en-us"> A GUID must contain five different Hexadecimal character sets that are
+                separated by a dash (-) character. </xs:documentation>
         </xs:annotation>
         <xs:restriction base="xs:string">
         </xs:annotation>
         <xs:restriction base="xs:string">
-            <xs:pattern
-                value="\s*[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\s*"
-            />
+            <xs:pattern value="\s*[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\s*"/>
         </xs:restriction>
     </xs:simpleType>
 
     <xs:simpleType name="SupportedOs">
         <xs:annotation>
         </xs:restriction>
     </xs:simpleType>
 
     <xs:simpleType name="SupportedOs">
         <xs:annotation>
-            <xs:documentation xml:lang="en-us"> The EDK II build system supports workstations
-                running one of the following supported operating systems. This is the OS for the
-                developer's workstation, not the target platform. </xs:documentation>
+            <xs:documentation xml:lang="en-us"> The EDK II build system supports workstations running one of the
+                following supported operating systems. This is the OS for the developer's workstation, not the target
+                platform. </xs:documentation>
         </xs:annotation>
         <xs:restriction base="xs:string">
             <xs:enumeration value="Win32">
                 <xs:annotation>
         </xs:annotation>
         <xs:restriction base="xs:string">
             <xs:enumeration value="Win32">
                 <xs:annotation>
-                    <xs:documentation xml:lang="en-us"> For Windows 2003, Windows XP and Windows
-                        Vista. </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> For Windows 2003, Windows XP and Windows Vista.
+                    </xs:documentation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="Win64">
                 <xs:annotation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="Win64">
                 <xs:annotation>
-                    <xs:documentation xml:lang="en-us"> For Windows 2003, Windows XP and Windows
-                        Vista. </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> For Windows 2003, Windows XP and Windows Vista.
+                    </xs:documentation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="Linux32"/>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="Linux32"/>
@@ -2870,14 +2700,14 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
             <xs:enumeration value="OS/X64"/>
             <xs:enumeration value="GenericWin">
                 <xs:annotation>
             <xs:enumeration value="OS/X64"/>
             <xs:enumeration value="GenericWin">
                 <xs:annotation>
-                    <xs:documentation xml:lang="en-us"> Typically, this is used for Windows Batch
-                        files. </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> Typically, this is used for Windows Batch files.
+                    </xs:documentation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="GenericNix">
                 <xs:annotation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:enumeration value="GenericNix">
                 <xs:annotation>
-                    <xs:documentation xml:lang="en-us"> Typically use for shell scripts - valid for
-                        any Linux and Mac OS/X. </xs:documentation>
+                    <xs:documentation xml:lang="en-us"> Typically use for shell scripts - valid for any Linux and Mac
+                        OS/X. </xs:documentation>
                 </xs:annotation>
             </xs:enumeration>
             <xs:pattern value="[a-zA-Z]([a-zA-Z0-9])*"/>
                 </xs:annotation>
             </xs:enumeration>
             <xs:pattern value="[a-zA-Z]([a-zA-Z0-9])*"/>