VirtualBox

Ignore:
Timestamp:
Oct 28, 2015 8:17:18 PM (9 years ago)
Author:
vboxsync
Message:

EFI/Firmware: 'svn merge /vendor/edk2/UDK2010.SR1 /vendor/edk2/current .', reverting and removing files+dirs listed in ReadMe.vbox, resolving conflicts with help from ../UDK2014.SP1/. This is a raw untested merge.

Location:
trunk/src/VBox/Devices/EFI/Firmware
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/EFI/Firmware

  • trunk/src/VBox/Devices/EFI/Firmware/BaseTools/Conf/XMLSchema/DistributionPackage.xsd

    r48674 r58459  
    33Filename: DistributionPackage.xsd
    44
    5 Copyright (c) 2008 - 2011, Intel Corporation. All rights reserved.
     5Copyright (c) 2008 - 2012, Intel Corporation. All rights reserved.
    66
    77This program and the accompanying materials are licensed and made available
     
    1414-->
    1515<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
    16     targetNamespace="http://www.uefi.org/2011/1.1" xmlns="http://www.uefi.org/2011/1.1">
     16    targetNamespace="http://www.uefi.org/2012/1.0" xmlns="http://www.uefi.org/2012/1.0">
    1717    <xs:element name="DistributionPackage">
    1818        <xs:annotation>
    19             <xs:documentation xml:lang="en-us"> This schema defines the UEFI/PI Distribution Package
    20                 description (PKG) file. It describes the content of:</xs:documentation>
    21             <xs:documentation xml:lang="en-us"> 1) Package descriptions with definitions and
    22                 headers.</xs:documentation>
    23             <xs:documentation xml:lang="en-us"> 2) Modules in either source or binary format. (Note
    24                 that Binary format is for FFS leaf section file types only, complete FFS files
    25                 cannot be distributed using this distribution format.) </xs:documentation>
    26             <xs:documentation xml:lang="en-us"> 3) The distribution of custom tools used to modify
    27                 the binary images to create UEFI/PI compliant images. </xs:documentation>
    28             <xs:documentation xml:lang="en-us"> 4) Finally, it can be used to distribute other
    29                 miscellaneous content that is not specific to UEFI/PI images. </xs:documentation>
    30             <xs:documentation xml:lang="en-us"> The Package Surface Area describes the content of
    31                 packages, while the Module Surface Area provides information relevant to source
    32                 and/or binary distributions. </xs:documentation>
     19            <xs:documentation xml:lang="en-us"> This schema defines the UEFI/PI Distribution Package description (PKG)
     20                file. It describes the content of:</xs:documentation>
     21            <xs:documentation xml:lang="en-us"> 1) Package descriptions with definitions and headers.</xs:documentation>
     22            <xs:documentation xml:lang="en-us"> 2) Modules in either source or binary format. (Note that Binary format
     23                is for FFS leaf section file types only, complete FFS files cannot be distributed using this
     24                distribution format.) </xs:documentation>
     25            <xs:documentation xml:lang="en-us"> 3) The distribution of custom tools used to modify the binary images to
     26                create UEFI/PI compliant images. </xs:documentation>
     27            <xs:documentation xml:lang="en-us"> 4) Finally, it can be used to distribute other miscellaneous content
     28                that is not specific to UEFI/PI images. </xs:documentation>
     29            <xs:documentation xml:lang="en-us"> The Package Surface Area describes the content of packages, while the
     30                Module Surface Area provides information relevant to source and/or binary distributions.
     31            </xs:documentation>
    3332        </xs:annotation>
    3433        <xs:complexType>
     
    3635                <xs:element ref="DistributionHeader" minOccurs="1" maxOccurs="1">
    3736                    <xs:annotation>
    38                         <xs:documentation xml:lang="en-us"> This header contains (legal) information
    39                             usually required for distributing both binary and/or source code.
     37                        <xs:documentation xml:lang="en-us"> This header contains (legal) information usually required
     38                            for distributing both binary and/or source code. </xs:documentation>
     39                    </xs:annotation>
     40                </xs:element>
     41                <xs:element ref="PackageSurfaceArea" minOccurs="0" maxOccurs="unbounded">
     42                    <xs:annotation>
     43                        <xs:documentation xml:lang="en-us"> The list of packages in this distribution. </xs:documentation>
     44                        <xs:documentation xml:lang="en-us"> Packages are groups of files and/or modules that are similar
     45                            in nature.</xs:documentation>
     46                        <xs:documentation xml:lang="en-us"> Packages are uniquely identified by a package GUID and a
     47                            package version. </xs:documentation>
     48                        <xs:documentation xml:lang="en-us"> A package can declare public mappings of C names to GUID
     49                            values. </xs:documentation>
     50                        <xs:documentation xml:lang="en-us"> A package can provide header files for library classes
     51                            and/or other industry standard definitions. </xs:documentation>
     52                        <xs:documentation xml:lang="en-us"> A package can also declare public mappings of platform
     53                            configuration database (PCD) &quot;knobs&quot; to control features and operation of modules
     54                            within a platform. </xs:documentation>
     55                        <xs:documentation xml:lang="en-us"> Finally, a package lists the library instances and/or
     56                            modules that are provided in a distribution package. </xs:documentation>
     57                    </xs:annotation>
     58                </xs:element>
     59                <xs:element ref="ModuleSurfaceArea" minOccurs="0" maxOccurs="unbounded">
     60                    <xs:annotation>
     61                        <xs:documentation xml:lang="en-us"> The listing of UEFI/PI compliant modules in this
     62                            distribution that are NOT part of a Package. Every module that is provided as part of a
     63                            package needs to be described in a PackageSurfaceArea.Modules section. </xs:documentation>
     64                        <xs:documentation xml:lang="en-us"> The ModuleSurfaceArea section describes how each module in a
     65                            distribution is coded, or, in the case of a binary module distribution, how it was built. </xs:documentation>
     66                        <xs:documentation xml:lang="en-us"> UEFI/PI compliant libraries and modules are uniquely
     67                            identified by the Module's GUID and version number. </xs:documentation>
     68                        <xs:documentation xml:lang="en-us"> This section will typically be used for modules that don't
     69                            require any additional files that would be included in a package. For example, the Enhanced
     70                            FAT driver binary does not need to have a package description, as no additional files are
     71                            provided. </xs:documentation>
     72                    </xs:annotation>
     73                </xs:element>
     74                <xs:element ref="Tools" minOccurs="0" maxOccurs="unbounded">
     75                    <xs:annotation>
     76                        <xs:documentation xml:lang="en-us"> This section is for distributing vendor specific executable
     77                            tools, tool source code and/or configuration files. These tools are primarily for
     78                            manipulating code and/or binary images. </xs:documentation>
     79                        <xs:documentation xml:lang="en-us"> Tools in this section can:</xs:documentation>
     80                        <xs:documentation xml:lang="en-us"> 1) Parse build meta-data files to create source code files
     81                            and build scripts. </xs:documentation>
     82                        <xs:documentation xml:lang="en-us"> 2) Modify image files to conform to UEFI/PI specifications. </xs:documentation>
     83                        <xs:documentation xml:lang="en-us"> 3) Generate binary files from certain types of text/unicode
     84                            files. </xs:documentation>
     85                        <xs:documentation xml:lang="en-us"> 4) Generate PCI Option Roms or Firmware Device images. </xs:documentation>
     86                        <xs:documentation xml:lang="en-us"> 5) Implement external encoding/decoding/signature/GUIDed
     87                            tools. </xs:documentation>
     88                        <xs:documentation xml:lang="en-us"> 6) Distribution Package create/install/remove tools.
    4089                        </xs:documentation>
    4190                    </xs:annotation>
    4291                </xs:element>
    43                 <xs:element ref="PackageSurfaceArea" minOccurs="0" maxOccurs="unbounded">
    44                     <xs:annotation>
    45                         <xs:documentation xml:lang="en-us"> The list of packages in this
    46                             distribution. </xs:documentation>
    47                         <xs:documentation xml:lang="en-us"> Packages are groups of files and/or
    48                             modules that are similar in nature.</xs:documentation>
    49                         <xs:documentation xml:lang="en-us"> Packages are uniquely identified by a
    50                             package GUID and a package version. </xs:documentation>
    51                         <xs:documentation xml:lang="en-us"> A package can declare public mappings of
    52                             C names to GUID values. </xs:documentation>
    53                         <xs:documentation xml:lang="en-us"> A package can provide header files for
    54                             library classes and/or other industry standard definitions. </xs:documentation>
    55                         <xs:documentation xml:lang="en-us"> A package can also declare public
    56                             mappings of platform configuration database (PCD) &quot;knobs&quot; to
    57                             control features and operation of modules within a platform. </xs:documentation>
    58                         <xs:documentation xml:lang="en-us"> Finally, a package lists the library
    59                             instances and/or modules that are provided in a distribution package.
    60                         </xs:documentation>
    61                     </xs:annotation>
    62                 </xs:element>
    63                 <xs:element ref="ModuleSurfaceArea" minOccurs="0" maxOccurs="unbounded">
    64                     <xs:annotation>
    65                         <xs:documentation xml:lang="en-us"> The listing of UEFI/PI compliant modules
    66                             in this distribution that are NOT part of a Package. Every module that
    67                             is provided as part of a package needs to be described in a
    68                             PackageSurfaceArea.Modules section. </xs:documentation>
    69                         <xs:documentation xml:lang="en-us"> The ModuleSurfaceArea section describes
    70                             how each module in a distribution is coded, or, in the case of a binary
    71                             module distribution, how it was built. </xs:documentation>
    72                         <xs:documentation xml:lang="en-us"> UEFI/PI compliant libraries and modules
    73                             are uniquely identified by the Module's GUID and version number. </xs:documentation>
    74                         <xs:documentation xml:lang="en-us"> This section will typically be used for
    75                             modules that don't require any additional files that would be included
    76                             in a package. For example, the Enhanced FAT driver binary does not need
    77                             to have a package description, as no additional files are provided.
    78                         </xs:documentation>
    79                     </xs:annotation>
    80                 </xs:element>
    81                 <xs:element ref="Tools" minOccurs="0" maxOccurs="unbounded">
    82                     <xs:annotation>
    83                         <xs:documentation xml:lang="en-us"> This section is for distributing vendor
    84                             specific executable tools, tool source code and/or configuration files.
    85                             These tools are primarily for manipulating code and/or binary images. </xs:documentation>
    86                         <xs:documentation xml:lang="en-us"> Tools in this section
    87                             can:</xs:documentation>
    88                         <xs:documentation xml:lang="en-us"> 1) Parse build meta-data files to create
    89                             source code files and build scripts. </xs:documentation>
    90                         <xs:documentation xml:lang="en-us"> 2) Modify image files to conform to
    91                             UEFI/PI specifications. </xs:documentation>
    92                         <xs:documentation xml:lang="en-us"> 3) Generate binary files from certain
    93                             types of text/unicode files. </xs:documentation>
    94                         <xs:documentation xml:lang="en-us"> 4) Generate PCI Option Roms or Firmware
    95                             Device images. </xs:documentation>
    96                         <xs:documentation xml:lang="en-us"> 5) Implement external
    97                             encoding/decoding/signature/GUIDed tools. </xs:documentation>
    98                         <xs:documentation xml:lang="en-us"> 6) Distribution Package
    99                             create/install/remove tools. </xs:documentation>
    100                     </xs:annotation>
    101                 </xs:element>
    10292                <xs:element ref="MiscellaneousFiles" minOccurs="0" maxOccurs="unbounded">
    10393                    <xs:annotation>
    104                         <xs:documentation xml:lang="en-us"> The list of miscellaneous files in this
    105                             distribution. Any files that are not listed in either the Package,
    106                             Module or Tools sections can be listed here. This section can be used to
    107                             distribute specifications for packages and modules that are not
    108                             &quot;industry standards&quot; such as a specification for a chipset or
    109                             a video device. </xs:documentation>
     94                        <xs:documentation xml:lang="en-us"> The list of miscellaneous files in this distribution. Any
     95                            files that are not listed in either the Package, Module or Tools sections can be listed
     96                            here. This section can be used to distribute specifications for packages and modules that
     97                            are not &quot;industry standards&quot; such as a specification for a chipset or a video
     98                            device. </xs:documentation>
    11099                    </xs:annotation>
    111100                </xs:element>
    112101                <xs:element ref="UserExtensions" minOccurs="0" maxOccurs="unbounded">
    113102                    <xs:annotation>
    114                         <xs:documentation xml:lang="en-us"> The UserExtensions section is used to
    115                             disseminate processing instructions that may be custom to the content
    116                             provided by the distribution. This section contains information that is
    117                             common to all aspects of this disribution. </xs:documentation>
     103                        <xs:documentation xml:lang="en-us"> The UserExtensions section is used to disseminate processing
     104                            instructions that may be custom to the content provided by the distribution. This section
     105                            contains information that is common to all aspects of this disribution. </xs:documentation>
    118106                    </xs:annotation>
    119107                </xs:element>
     
    126114    <xs:element name="DistributionHeader">
    127115        <xs:annotation>
    128             <xs:documentation xml:lang="en-us"> This section defines the content of the UEIF/PI
    129                 compliant Distribution Package Header. This is the only required element of a
    130                 UEFI/PI compliant distribution package. </xs:documentation>
     116            <xs:documentation xml:lang="en-us"> This section defines the content of the UEIF/PI compliant Distribution
     117                Package Header. This is the only required element of a UEFI/PI compliant distribution package.
     118            </xs:documentation>
    131119        </xs:annotation>
    132120        <xs:complexType>
     
    134122                <xs:element minOccurs="1" maxOccurs="1" name="Name">
    135123                    <xs:annotation>
    136                         <xs:documentation xml:lang="en-us"> This is the User Interface Name for this
    137                             Distribution Package. </xs:documentation>
    138                         <xs:documentation xml:lang="en-us"> Each Distribution Package is uniquely
    139                             identified by it's GUID and Version number. </xs:documentation>
     124                        <xs:documentation xml:lang="en-us"> This is the User Interface Name for this Distribution
     125                            Package. </xs:documentation>
     126                        <xs:documentation xml:lang="en-us"> Each Distribution Package is uniquely identified by it's
     127                            GUID and Version number. </xs:documentation>
    140128                    </xs:annotation>
    141129                    <xs:complexType>
     
    144132                                <xs:attribute name="BaseName" type="xs:NMTOKEN" use="optional">
    145133                                    <xs:annotation>
    146                                         <xs:documentation xml:lang="en-us"> The reference name of
    147                                             the Distribution Package file. This single word name can
    148                                             be used by tools as a keyword or for directory and/or
    149                                             file creation. </xs:documentation>
    150                                         <xs:documentation xml:lang="en-us"> White space and special
    151                                             characters (dash and underscore characters may be used)
    152                                             are not permitted in this name. </xs:documentation>
    153                                     </xs:annotation>
    154                                 </xs:attribute>
    155                             </xs:extension>
    156                         </xs:simpleContent>
    157                     </xs:complexType>
    158                 </xs:element>
    159                 <xs:element minOccurs="1" maxOccurs="1" name="GUID">
    160                     <xs:annotation>
    161                         <xs:documentation xml:lang="en-us"> This 128-bit GUID and the Version
    162                             attribute uniquely identify this Distribution Package. </xs:documentation>
    163                         <xs:documentation xml:lang="en-us"> Backward compatible releases of a
    164                             distribution package need only change the version number, while
    165                             non-backward compatible changes require the GUID to change (resetting
    166                             the version number to 1.0 is optional.) </xs:documentation>
    167                     </xs:annotation>
    168                     <xs:complexType>
    169                         <xs:simpleContent>
    170                             <xs:extension base="RegistryFormatGuid">
    171                                 <xs:attribute name="Version" type="xs:decimal" use="required">
    172                                     <xs:annotation>
    173                                         <xs:documentation xml:lang="en-us"> This value, along with
    174                                             the GUID, is used to uniquely identify this object. The
    175                                             higher the number, the more recent the content.
     134                                        <xs:documentation xml:lang="en-us"> The reference name of the Distribution
     135                                            Package file. This single word name can be used by tools as a keyword or for
     136                                            directory and/or file creation. </xs:documentation>
     137                                        <xs:documentation xml:lang="en-us"> White space and special characters (dash and
     138                                            underscore characters may be used) are not permitted in this name.
    176139                                        </xs:documentation>
    177140                                    </xs:annotation>
     
    181144                    </xs:complexType>
    182145                </xs:element>
     146                <xs:element minOccurs="1" maxOccurs="1" name="GUID">
     147                    <xs:annotation>
     148                        <xs:documentation xml:lang="en-us"> This 128-bit GUID and the Version attribute uniquely
     149                            identify this Distribution Package. </xs:documentation>
     150                        <xs:documentation xml:lang="en-us"> Backward compatible releases of a distribution package need
     151                            only change the version number, while non-backward compatible changes require the GUID to
     152                            change (resetting the version number to 1.0 is optional.) </xs:documentation>
     153                    </xs:annotation>
     154                    <xs:complexType>
     155                        <xs:simpleContent>
     156                            <xs:extension base="RegistryFormatGuid">
     157                                <xs:attribute name="Version" type="xs:decimal" use="required">
     158                                    <xs:annotation>
     159                                        <xs:documentation xml:lang="en-us"> This value, along with the GUID, is used to
     160                                            uniquely identify this object. The higher the number, the more recent the
     161                                            content. </xs:documentation>
     162                                    </xs:annotation>
     163                                </xs:attribute>
     164                            </xs:extension>
     165                        </xs:simpleContent>
     166                    </xs:complexType>
     167                </xs:element>
    183168                <xs:element minOccurs="1" maxOccurs="1" name="Vendor" type="xs:normalizedString">
    184169                    <xs:annotation>
    185                         <xs:documentation xml:lang="en-us"> A string identifying who created this
    186                             distribution package. </xs:documentation>
     170                        <xs:documentation xml:lang="en-us"> A string identifying who created this distribution package.
     171                        </xs:documentation>
    187172                    </xs:annotation>
    188173                </xs:element>
    189174                <xs:element minOccurs="1" maxOccurs="1" name="Date" type="xs:dateTime">
    190175                    <xs:annotation>
    191                         <xs:documentation xml:lang="en-us"> The date and time this distribution was
    192                             created. The format is: YYYY-MM-DDThh:mm:ss, for example:
    193                             2001-01-31T13:30:00 (note the T character separator between the calendar
    194                             date and the time. </xs:documentation>
    195                     </xs:annotation>
    196                 </xs:element>
    197                 <xs:element minOccurs="1" maxOccurs="1" name="Copyright" type="xs:string">
    198                     <xs:annotation>
    199                         <xs:documentation xml:lang="en-us"> The copyright for this file that is
    200                             generated by the creator of the distribution. If a derivative work is
    201                             generated from an existing distribution, then the existing copyright
    202                             must be maintained, and additional copyrights may be appended to the end
    203                             of this element. It may also be the primary copyright for all code
    204                             provided in the Distribution Package. </xs:documentation>
    205                     </xs:annotation>
    206                 </xs:element>
    207                 <xs:element minOccurs="1" maxOccurs="1" name="License" type="xs:string">
    208                     <xs:annotation>
    209                         <xs:documentation xml:lang="en-us"> A license that describes any
    210                             restrictions on the use of this distribution. If a derivative work is
    211                             allowed by the original license and a derivative work is generated from
    212                             an existing distribution, then the existing license must be maintained,
    213                             and additional licenses may be appended to the end of this element. It
    214                             may also be the primary license for all code provided in the
    215                             distribution file. Alternatively, this may point to a filename that
    216                             contains the License. The file (included in the content zip file) will
    217                             be stored in the same location as the distribution package's .pkg file.
     176                        <xs:documentation xml:lang="en-us"> The date and time this distribution was created. The format
     177                            is: YYYY-MM-DDThh:mm:ss, for example: 2001-01-31T13:30:00 (note the T character separator
     178                            between the calendar date and the time. </xs:documentation>
     179                    </xs:annotation>
     180                </xs:element>
     181                <xs:element minOccurs="1" maxOccurs="unbounded" name="Copyright">
     182                    <xs:annotation>
     183                        <xs:documentation xml:lang="en-us"> The copyright for this file that is generated by the creator
     184                            of the distribution. If a derivative work is generated from an existing distribution, then
     185                            the existing copyright must be maintained, and additional copyrights may be appended to the
     186                            end of this element. It may also be the primary copyright for all code provided in the
     187                            Distribution Package. </xs:documentation>
     188                    </xs:annotation>
     189                    <xs:complexType>
     190                        <xs:simpleContent>
     191                            <xs:extension base="xs:string">
     192                                <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"/>
     193                            </xs:extension>
     194                        </xs:simpleContent>
     195                    </xs:complexType>
     196                   
     197                </xs:element>
     198                <xs:element minOccurs="1" maxOccurs="unbounded" name="License">
     199                    <xs:annotation>
     200                        <xs:documentation xml:lang="en-us"> A license that describes any restrictions on the use of this
     201                            distribution. If a derivative work is allowed by the original license and a derivative work
     202                            is generated from an existing distribution, then the existing license must be maintained,
     203                            and additional licenses may be appended to the end of this element. It may also be the
     204                            primary license for all code provided in the distribution file. Alternatively, this may
     205                            point to a filename that contains the License. The file (included in the content zip file)
     206                            will be stored in the same location as the distribution package's .pkg file.
    218207                        </xs:documentation>
    219208                    </xs:annotation>
    220                 </xs:element>
    221                 <xs:element minOccurs="1" maxOccurs="1" name="Abstract" type="xs:normalizedString">
    222                     <xs:annotation>
    223                         <xs:documentation xml:lang="en-us"> A one line description of the
    224                             Distribution Package. </xs:documentation>
    225                     </xs:annotation>
    226                 </xs:element>
    227                 <xs:element minOccurs="0" maxOccurs="1" name="Description" type="xs:string">
    228                     <xs:annotation>
    229                         <xs:documentation xml:lang="en-us"> A complete description of the
    230                             Distribution Package. This description may include the release name of
    231                             the file, the version of the file, and a complete description of the
    232                             file contents and/or features including a description of the updates
    233                             since the previous file release. </xs:documentation>
    234                     </xs:annotation>
     209                    <xs:complexType>
     210                        <xs:simpleContent>
     211                            <xs:extension base="xs:string">
     212                                <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"/>
     213                            </xs:extension>
     214                        </xs:simpleContent>
     215                    </xs:complexType>
     216                </xs:element>
     217                <xs:element minOccurs="1" maxOccurs="unbounded" name="Abstract">
     218                    <xs:annotation>
     219                        <xs:documentation xml:lang="en-us"> A one line description of the Distribution Package.
     220                        </xs:documentation>
     221                    </xs:annotation>
     222                    <xs:complexType>
     223                        <xs:simpleContent>
     224                            <xs:extension base="xs:normalizedString">
     225                                <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"/>
     226                            </xs:extension>
     227                        </xs:simpleContent>
     228                    </xs:complexType>
     229                </xs:element>
     230                <xs:element minOccurs="0" maxOccurs="unbounded" name="Description">
     231                    <xs:annotation>
     232                        <xs:documentation xml:lang="en-us"> A complete description of the Distribution Package. This
     233                            description may include the release name of the file, the version of the file, and a
     234                            complete description of the file contents and/or features including a description of the
     235                            updates since the previous file release. </xs:documentation>
     236                    </xs:annotation>
     237                    <xs:complexType>
     238                        <xs:simpleContent>
     239                            <xs:extension base="xs:string">
     240                                <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"/>
     241                            </xs:extension>
     242                        </xs:simpleContent>
     243                    </xs:complexType>
    235244                </xs:element>
    236245                <xs:element minOccurs="0" maxOccurs="1" name="Signature" type="Md5Sum">
    237246                    <xs:annotation>
    238                         <xs:documentation xml:lang="en-us"> The packaging utilities will use this
    239                             MD5 sum value of the included ZIP file containing files and/or code. If
    240                             this element is not present, then installation tools should assume that
    241                             the content is correct, or that other methods may be needed to verify
    242                             content. </xs:documentation>
    243                     </xs:annotation>
    244                 </xs:element>
    245                 <xs:element minOccurs="1" maxOccurs="1" name="XmlSpecification" type="xs:decimal"
    246                     default="1.1">
     247                        <xs:documentation xml:lang="en-us"> The packaging utilities will use this MD5 sum value of the
     248                            included ZIP file containing files and/or code. If this element is not present, then
     249                            installation tools should assume that the content is correct, or that other methods may be
     250                            needed to verify content. </xs:documentation>
     251                    </xs:annotation>
     252                </xs:element>
     253                <xs:element minOccurs="1" maxOccurs="1" name="XmlSpecification" type="xs:decimal" default="1.1">
    247254                    <xs:annotation>
    248255                        <xs:documentation xml:lang="en-us"> This version of this XML Schema is 1.1 </xs:documentation>
    249256                        <xs:documentation xml:lang="en-us"> Changes to 1.1 from 1.0 </xs:documentation>
    250                         <xs:documentation xml:lang="en-us"> #1 Updated to present date and new
    251                             version which is important to reflect the present state of the
    252                             matter</xs:documentation>
    253                         <xs:documentation xml:lang="en-us"> #2 Added definition/enumeration of
    254                             UNDEFIND type 2 is important since there is a large body of legacy code
    255                             for which the GUID’s and other code/data objects were not decorated with
    256                             their usage. This document will allow for importing today’s source
    257                             artifacts and producing decorations using the ‘Undefined’ versus having
    258                             an error</xs:documentation>
    259                         <xs:documentation xml:lang="en-us">#3 Allow for inclusion of ARM and future
    260                             architecture types</xs:documentation>
     257                        <xs:documentation xml:lang="en-us"> #1 Updated to present date and new version which is
     258                            important to reflect the present state of the matter</xs:documentation>
     259                        <xs:documentation xml:lang="en-us"> #2 Added definition/enumeration of UNDEFIND type 2 is
     260                            important since there is a large body of legacy code for which the GUID’s and other
     261                            code/data objects were not decorated with their usage. This document will allow for
     262                            importing today’s source artifacts and producing decorations using the ‘Undefined’ versus
     263                            having an error</xs:documentation>
     264                        <xs:documentation xml:lang="en-us">#3 Allow for inclusion of ARM and future architecture
     265                            types</xs:documentation>
    261266                    </xs:annotation>
    262267                </xs:element>
     
    264269            <xs:attribute name="ReadOnly" type="xs:boolean" default="false" use="optional">
    265270                <xs:annotation>
    266                     <xs:documentation xml:lang="en-us"> If set to true, all content within this
    267                         Distribution Package should NOT be modified. The default permits
    268                         modification of all content. </xs:documentation>
     271                    <xs:documentation xml:lang="en-us"> If set to true, all content within this Distribution Package
     272                        should NOT be modified. The default permits modification of all content. </xs:documentation>
    269273                </xs:annotation>
    270274            </xs:attribute>
    271275            <xs:attribute name="RePackage" type="xs:boolean" default="false" use="optional">
    272276                <xs:annotation>
    273                     <xs:documentation xml:lang="en-us"> If set to true, then the content can be
    274                         repackaged into another distribution package. The default prohibits
    275                         repackaging the Distribution content. </xs:documentation>
     277                    <xs:documentation xml:lang="en-us"> If set to true, then the content can be repackaged into another
     278                        distribution package. The default prohibits repackaging the Distribution content.
     279                    </xs:documentation>
    276280                </xs:annotation>
    277281            </xs:attribute>
     
    282286    <xs:element name="PackageSurfaceArea">
    283287        <xs:annotation>
    284             <xs:documentation xml:lang="en-us"> A package is a collection of related objects -
    285                 Includes, Libraries and Modules. </xs:documentation>
    286             <xs:documentation xml:lang="en-us"> Each package is uniquely identified by it's GUID and
    287                 Version number. Backward compatible releases of a package need only change the
    288                 version number, while non-backward compatible changes require the GUID to change
    289                 (resetting the version number to 1.0 is optional.) </xs:documentation>
     288            <xs:documentation xml:lang="en-us"> A package is a collection of related objects - Includes, Libraries and
     289                Modules. </xs:documentation>
     290            <xs:documentation xml:lang="en-us"> Each package is uniquely identified by it's GUID and Version number.
     291                Backward compatible releases of a package need only change the version number, while non-backward
     292                compatible changes require the GUID to change (resetting the version number to 1.0 is optional.)
     293            </xs:documentation>
    290294        </xs:annotation>
    291295        <xs:complexType>
     
    297301                            <xs:element minOccurs="1" maxOccurs="1" name="Name">
    298302                                <xs:annotation>
    299                                     <xs:documentation xml:lang="en-us"> This is the User Interface
    300                                         Name for this package. </xs:documentation>
     303                                    <xs:documentation xml:lang="en-us"> This is the User Interface Name for this
     304                                        package. </xs:documentation>
    301305                                </xs:annotation>
    302306                                <xs:complexType>
    303307                                    <xs:simpleContent>
    304308                                        <xs:extension base="xs:normalizedString">
    305                                             <xs:attribute name="BaseName" type="xs:NMTOKEN"
    306                                                 use="required">
     309                                            <xs:attribute name="BaseName" type="xs:NMTOKEN" use="required">
    307310                                                <xs:annotation>
    308                                                   <xs:documentation xml:lang="en-us"> This is a
    309                                                   single word BaseName of the package. This BaseName
    310                                                   can be used by tools as a keyword and for
    311                                                   directory/file creation. </xs:documentation>
     311                                                    <xs:documentation xml:lang="en-us"> This is a single word BaseName
     312                                                        of the package. This BaseName can be used by tools as a keyword
     313                                                        and for directory/file creation. </xs:documentation>
    312314                                                </xs:annotation>
    313315                                            </xs:attribute>
     
    318320                            <xs:element minOccurs="1" maxOccurs="1" name="GUID">
    319321                                <xs:annotation>
    320                                     <xs:documentation xml:lang="en-us"> This GUID and the Version
    321                                         attribute uniquely identify a given package.
    322                                     </xs:documentation>
     322                                    <xs:documentation xml:lang="en-us"> This GUID and the Version attribute uniquely
     323                                        identify a given package. </xs:documentation>
    323324                                </xs:annotation>
    324325                                <xs:complexType>
    325326                                    <xs:simpleContent>
    326327                                        <xs:extension base="RegistryFormatGuid">
    327                                             <xs:attribute name="Version" type="xs:decimal"
    328                                                 use="required">
     328                                            <xs:attribute name="Version" type="xs:decimal" use="required">
    329329                                                <xs:annotation>
    330                                                   <xs:documentation xml:lang="en-us"> This value,
    331                                                   along with the GUID, is used to uniquely identify
    332                                                   this object. </xs:documentation>
    333                                                   <xs:documentation xml:lang="en-us"> Backward
    334                                                   compatible changes must make sure this number is
    335                                                   incremented from the most recent version.
    336                                                   Non-backward compatible changes require a new
    337                                                   GUID, and the version can be reset.
    338                                                   </xs:documentation>
     330                                                    <xs:documentation xml:lang="en-us"> This value, along with the GUID,
     331                                                        is used to uniquely identify this object. </xs:documentation>
     332                                                    <xs:documentation xml:lang="en-us"> Backward compatible changes must
     333                                                        make sure this number is incremented from the most recent
     334                                                        version. Non-backward compatible changes require a new GUID, and
     335                                                        the version can be reset. </xs:documentation>
    339336                                                </xs:annotation>
    340337                                            </xs:attribute>
     
    343340                                </xs:complexType>
    344341                            </xs:element>
    345                             <xs:element minOccurs="0" maxOccurs="1" name="Copyright"
    346                                 type="xs:string">
    347                                 <xs:annotation>
    348                                     <xs:documentation xml:lang="en-us"> If the package requires a
    349                                         different copyright than the distribution package, this
    350                                         element can list one or more copyright lines.
     342                            <xs:element minOccurs="0" maxOccurs="unbounded" name="Copyright">
     343                                <xs:annotation>
     344                                    <xs:documentation xml:lang="en-us"> If the package requires a different copyright
     345                                        than the distribution package, this element can list one or more copyright
     346                                        lines. </xs:documentation>
     347                                </xs:annotation>
     348                                <xs:complexType>
     349                                    <xs:simpleContent>
     350                                        <xs:extension base="xs:string">
     351                                            <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"
     352                                            />
     353                                        </xs:extension>
     354                                    </xs:simpleContent>
     355                                </xs:complexType>
     356
     357                            </xs:element>
     358                            <xs:element minOccurs="0" maxOccurs="unbounded" name="License">
     359                                <xs:annotation>
     360                                    <xs:documentation xml:lang="en-us"> If the package requires licenses that are
     361                                        different from the distribution package license, this element can contain one or
     362                                        more license text paragraphs (or license filenames.) </xs:documentation>
     363                                </xs:annotation>
     364                                <xs:complexType>
     365                                    <xs:simpleContent>
     366                                        <xs:extension base="xs:string">
     367                                            <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"
     368                                            />
     369                                        </xs:extension>
     370                                    </xs:simpleContent>
     371                                </xs:complexType>
     372
     373                            </xs:element>
     374                            <xs:element minOccurs="0" maxOccurs="unbounded" name="Abstract">
     375                                <xs:annotation>
     376                                    <xs:documentation xml:lang="en-us"> A one line description of this package.
    351377                                    </xs:documentation>
    352378                                </xs:annotation>
    353                             </xs:element>
    354                             <xs:element minOccurs="0" maxOccurs="1" name="License" type="xs:string">
    355                                 <xs:annotation>
    356                                     <xs:documentation xml:lang="en-us"> If the package requires
    357                                         licenses that are different from the distribution package
    358                                         license, this element can contain one or more license text
    359                                         paragraphs (or license filenames.) </xs:documentation>
    360                                 </xs:annotation>
    361                             </xs:element>
    362                             <xs:element minOccurs="0" maxOccurs="1" name="Abstract"
    363                                 type="xs:normalizedString">
    364                                 <xs:annotation>
    365                                     <xs:documentation xml:lang="en-us"> A one line description of
    366                                         this package. </xs:documentation>
    367                                 </xs:annotation>
    368                             </xs:element>
    369                             <xs:element minOccurs="0" maxOccurs="1" name="Description"
    370                                 type="xs:string">
    371                                 <xs:annotation>
    372                                     <xs:documentation xml:lang="en-us"> A complete description of a
    373                                         package. This description may include the release name of
    374                                         the package, the version of the package, and a complete
    375                                         description of the package contents and/or features
    376                                         including a description of the updates since the previous
    377                                         package’s release. </xs:documentation>
    378                                 </xs:annotation>
    379                             </xs:element>
    380                             <xs:element minOccurs="1" maxOccurs="1" name="PackagePath"
    381                                 type="xs:anyURI">
    382                                 <xs:annotation>
    383                                     <xs:documentation xml:lang="en-us"> This element is the location
    384                                         (in the ZIP file) for the root directory of a package.
     379                                <xs:complexType>
     380                                    <xs:simpleContent>
     381                                        <xs:extension base="xs:normalizedString">
     382                                            <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"
     383                                            />
     384                                        </xs:extension>
     385                                    </xs:simpleContent>
     386                                </xs:complexType>
     387                            </xs:element>
     388                            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description">
     389                                <xs:annotation>
     390                                    <xs:documentation xml:lang="en-us"> A complete description of a package. This
     391                                        description may include the release name of the package, the version of the
     392                                        package, and a complete description of the package contents and/or features
     393                                        including a description of the updates since the previous package’s release.
    385394                                    </xs:documentation>
    386395                                </xs:annotation>
     396                                <xs:complexType>
     397                                    <xs:simpleContent>
     398                                        <xs:extension base="xs:string">
     399                                            <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"
     400                                            />
     401                                        </xs:extension>
     402                                    </xs:simpleContent>
     403                                </xs:complexType>
     404                            </xs:element>
     405                            <xs:element minOccurs="1" maxOccurs="1" name="PackagePath" type="xs:anyURI">
     406                                <xs:annotation>
     407                                    <xs:documentation xml:lang="en-us"> This element is the location (in the ZIP file)
     408                                        for the root directory of a package. </xs:documentation>
     409                                </xs:annotation>
    387410                            </xs:element>
    388411                        </xs:sequence>
     
    393416                <xs:element minOccurs="0" maxOccurs="1" name="ClonedFrom">
    394417                    <xs:annotation>
    395                         <xs:documentation xml:lang="en-us"> The term cloned is used here to indicate
    396                             that this package as been copied and modified to a completely different
    397                             package. An example might be for a new generation of chipsets that have
    398                             few or no elements in common with the original. </xs:documentation>
     418                        <xs:documentation xml:lang="en-us"> The term cloned is used here to indicate that this package
     419                            as been copied and modified to a completely different package. An example might be for a new
     420                            generation of chipsets that have few or no elements in common with the original.
     421                        </xs:documentation>
    399422                    </xs:annotation>
    400423                    <xs:complexType>
     
    402425                            <xs:element minOccurs="1" maxOccurs="1" name="GUID">
    403426                                <xs:annotation>
    404                                     <xs:documentation xml:lang="en-us"> This GUID and the Version
    405                                         attribute uniquely identify the Package that this Package
    406                                         was copied from. </xs:documentation>
     427                                    <xs:documentation xml:lang="en-us"> This GUID and the Version attribute uniquely
     428                                        identify the Package that this Package was copied from. </xs:documentation>
    407429                                </xs:annotation>
    408430                                <xs:complexType>
    409431                                    <xs:simpleContent>
    410432                                        <xs:extension base="RegistryFormatGuid">
    411                                             <xs:attribute name="Version" type="xs:decimal"
    412                                                 use="required">
     433                                            <xs:attribute name="Version" type="xs:decimal" use="required">
    413434                                                <xs:annotation>
    414                                                   <xs:documentation xml:lang="en-us"> This value,
    415                                                   along with the GUID, is used to uniquely identify
    416                                                   the package that this package was cloned from.
    417                                                   </xs:documentation>
     435                                                    <xs:documentation xml:lang="en-us"> This value, along with the GUID,
     436                                                        is used to uniquely identify the package that this package was
     437                                                        cloned from. </xs:documentation>
    418438                                                </xs:annotation>
    419439                                            </xs:attribute>
     
    429449                <xs:element minOccurs="0" maxOccurs="1" name="LibraryClassDeclarations">
    430450                    <xs:annotation>
    431                         <xs:documentation xml:lang="en-us"> Library Classes are public interfaces
    432                             that can be used by modules. One or more library instances can implement
    433                             a library class, however only one library instance can be linked to an
    434                             individual module. This provides the platform integrator with the
    435                             flexibility of choosing one library instance's implementation over a
     451                        <xs:documentation xml:lang="en-us"> Library Classes are public interfaces that can be used by
     452                            modules. One or more library instances can implement a library class, however only one
     453                            library instance can be linked to an individual module. This provides the platform
     454                            integrator with the flexibility of choosing one library instance's implementation over a
    436455                            different library instance. </xs:documentation>
    437456                    </xs:annotation>
     
    441460                                <xs:complexType>
    442461                                    <xs:sequence>
    443                                         <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile"
    444                                             type="xs:anyURI">
     462                                        <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile" type="xs:anyURI">
    445463                                            <xs:annotation>
    446                                                 <xs:documentation xml:lang="en-us"> The header file
    447                                                   provides definitions and function prototypes for a
    448                                                   library class. Modules can be coded against these
    449                                                   functions, using the definitions in this header,
    450                                                   without concerning themselves about the libraries'
    451                                                   implementation details. This is a PackagePath
    452                                                   relative path and filename for the include file.
    453                                                 </xs:documentation>
     464                                                <xs:documentation xml:lang="en-us"> The header file provides definitions
     465                                                    and function prototypes for a library class. Modules can be coded
     466                                                    against these functions, using the definitions in this header,
     467                                                    without concerning themselves about the libraries' implementation
     468                                                    details. This is a PackagePath relative path and filename for the
     469                                                    include file. </xs:documentation>
    454470                                            </xs:annotation>
    455471                                        </xs:element>
    456                                         <xs:element minOccurs="0" maxOccurs="1"
    457                                             name="RecommendedInstance">
     472                                        <xs:element minOccurs="0" maxOccurs="1" name="RecommendedInstance">
    458473                                            <xs:complexType>
    459474                                                <xs:sequence>
    460                                                   <xs:element minOccurs="1" maxOccurs="1"
    461                                                   name="GUID">
    462                                                   <xs:annotation>
    463                                                   <xs:documentation xml:lang="en-us"> This GUID and
    464                                                   the Version attribute uniquely identify the
    465                                                   Recommended Library Instance. </xs:documentation>
    466                                                   </xs:annotation>
    467                                                   <xs:complexType>
    468                                                   <xs:simpleContent>
    469                                                   <xs:extension base="RegistryFormatGuid">
    470                                                   <xs:attribute name="Version" type="xs:decimal"
    471                                                   use="optional">
    472                                                   <xs:annotation>
    473                                                   <xs:documentation xml:lang="en-us"> This value,
    474                                                   along with the GUID, is used to uniquely identify
    475                                                   this object. If this value is not specified, then
    476                                                   any version of the library instance is
    477                                                   recommended. </xs:documentation>
    478                                                   </xs:annotation>
    479                                                   </xs:attribute>
    480                                                   </xs:extension>
    481                                                   </xs:simpleContent>
    482                                                   </xs:complexType>
    483                                                   </xs:element>
     475                                                    <xs:element minOccurs="1" maxOccurs="1" name="GUID">
     476                                                        <xs:annotation>
     477                                                            <xs:documentation xml:lang="en-us"> This GUID and the
     478                                                            Version attribute uniquely identify the Recommended Library
     479                                                            Instance. </xs:documentation>
     480                                                        </xs:annotation>
     481                                                        <xs:complexType>
     482                                                            <xs:simpleContent>
     483                                                            <xs:extension base="RegistryFormatGuid">
     484                                                            <xs:attribute name="Version" type="xs:decimal"
     485                                                            use="optional">
     486                                                            <xs:annotation>
     487                                                            <xs:documentation xml:lang="en-us"> This value, along with
     488                                                            the GUID, is used to uniquely identify this object. If this
     489                                                            value is not specified, then any version of the library
     490                                                            instance is recommended. </xs:documentation>
     491                                                            </xs:annotation>
     492                                                            </xs:attribute>
     493                                                            </xs:extension>
     494                                                            </xs:simpleContent>
     495                                                        </xs:complexType>
     496                                                    </xs:element>
    484497                                                </xs:sequence>
    485498                                            </xs:complexType>
    486499                                        </xs:element>
    487                                         <xs:element ref="HelpText" minOccurs="0"
    488                                             maxOccurs="unbounded"/>
     500                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
    489501                                    </xs:sequence>
    490502                                    <xs:attribute name="Keyword" type="xs:NCName" use="required">
    491503                                        <xs:annotation>
    492                                             <xs:documentation xml:lang="en-us"> The single word name
    493                                                 of the Library Class that module developers will use
    494                                                 to identify a library class dependency.
    495                                             </xs:documentation>
     504                                            <xs:documentation xml:lang="en-us"> The single word name of the Library
     505                                                Class that module developers will use to identify a library class
     506                                                dependency. </xs:documentation>
    496507                                        </xs:annotation>
    497508                                    </xs:attribute>
     
    506517                <xs:element minOccurs="0" maxOccurs="1" name="IndustryStandardIncludes">
    507518                    <xs:annotation>
    508                         <xs:documentation xml:lang="en-us"> This section is used to list header
    509                             files for industry standards not under the auspices of UEFI.org. For
    510                             example, headers that contain definitions and data structures for the
    511                             USB specifications. </xs:documentation>
    512                     </xs:annotation>
    513                     <xs:complexType>
    514                         <xs:sequence>
    515                             <xs:element minOccurs="1" maxOccurs="unbounded"
    516                                 name="IndustryStandardHeader">
     519                        <xs:documentation xml:lang="en-us"> This section is used to list header files for industry
     520                            standards not under the auspices of UEFI.org. For example, headers that contain definitions
     521                            and data structures for the USB specifications. </xs:documentation>
     522                    </xs:annotation>
     523                    <xs:complexType>
     524                        <xs:sequence>
     525                            <xs:element minOccurs="1" maxOccurs="unbounded" name="IndustryStandardHeader">
    517526                                <xs:complexType>
    518527                                    <xs:sequence>
    519                                         <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile"
    520                                             type="xs:anyURI">
     528                                        <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile" type="xs:anyURI">
    521529                                            <xs:annotation>
    522                                                 <xs:documentation xml:lang="en-us"> The package
    523                                                   relative path and filename (in the content zip
    524                                                   file) of the industry standard include file.
    525                                                 </xs:documentation>
     530                                                <xs:documentation xml:lang="en-us"> The package relative path and
     531                                                    filename (in the content zip file) of the industry standard include
     532                                                    file. </xs:documentation>
    526533                                            </xs:annotation>
    527534                                        </xs:element>
    528                                         <xs:element ref="HelpText" minOccurs="0"
    529                                             maxOccurs="unbounded"/>
     535                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
    530536                                    </xs:sequence>
    531537                                </xs:complexType>
     
    538544                <xs:element minOccurs="0" maxOccurs="1" name="PackageIncludes">
    539545                    <xs:annotation>
    540                         <xs:documentation xml:lang="en-us"> All top level header files that are
    541                             included by a package that are not listed above. They cannot
    542                             be:</xs:documentation>
     546                        <xs:documentation xml:lang="en-us"> All top level header files that are included by a package
     547                            that are not listed above. They cannot be:</xs:documentation>
    543548                        <xs:documentation xml:lang="en-us"> 1) Local to a module (module specific.) </xs:documentation>
    544549                        <xs:documentation xml:lang="en-us"> 2) An industry standard header. </xs:documentation>
    545                         <xs:documentation xml:lang="en-us"> 3) A library class header.
    546                         </xs:documentation>
     550                        <xs:documentation xml:lang="en-us"> 3) A library class header. </xs:documentation>
    547551                    </xs:annotation>
    548552                    <xs:complexType>
     
    553557                                        <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile">
    554558                                            <xs:annotation>
    555                                                 <xs:documentation xml:lang="en-us"> This is the
    556                                                   Package relative path and filename location within
    557                                                   the content ZIP file. </xs:documentation>
     559                                                <xs:documentation xml:lang="en-us"> This is the Package relative path
     560                                                    and filename location within the content ZIP file.
     561                                                </xs:documentation>
    558562                                            </xs:annotation>
    559563                                            <xs:complexType>
    560564                                                <xs:simpleContent>
    561                                                   <xs:extension base="xs:anyURI">
    562                                                   <xs:attributeGroup ref="SupportedArchMod"/>
    563                                                   </xs:extension>
     565                                                    <xs:extension base="xs:anyURI">
     566                                                        <xs:attributeGroup ref="SupportedArchMod"/>
     567                                                    </xs:extension>
    564568                                                </xs:simpleContent>
    565569                                            </xs:complexType>
    566570                                        </xs:element>
    567                                         <xs:element ref="HelpText" minOccurs="0"
    568                                             maxOccurs="unbounded"/>
     571                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
    569572                                    </xs:sequence>
    570573                                </xs:complexType>
     
    580583                            <xs:element ref="ModuleSurfaceArea" minOccurs="1" maxOccurs="unbounded">
    581584                                <xs:annotation>
    582                                     <xs:documentation xml:lang="en-us"> This section lists the
    583                                         Module Surface Area for all modules provided with this
    584                                         package. </xs:documentation>
     585                                    <xs:documentation xml:lang="en-us"> This section lists the Module Surface Area for
     586                                        all modules provided with this package. </xs:documentation>
    585587                                </xs:annotation>
    586588                            </xs:element>
     
    592594                <xs:element minOccurs="0" maxOccurs="1" name="GuidDeclarations">
    593595                    <xs:annotation>
    594                         <xs:documentation xml:lang="en-us"> This section defines the mapping of GUID
    595                             C names to GUID values as a Registry Format GUID. </xs:documentation>
    596                         <xs:documentation xml:lang="en-us"> Modules that use these GUIDs must
    597                             specify their dependency on this package. </xs:documentation>
     596                        <xs:documentation xml:lang="en-us"> This section defines the mapping of GUID C names to GUID
     597                            values as a Registry Format GUID. </xs:documentation>
     598                        <xs:documentation xml:lang="en-us"> Modules that use these GUIDs must specify their dependency
     599                            on this package. </xs:documentation>
    598600                    </xs:annotation>
    599601                    <xs:complexType>
     
    601603                            <xs:element minOccurs="1" maxOccurs="unbounded" name="Entry">
    602604                                <xs:annotation>
    603                                     <xs:documentation xml:lang="en-us"> Individual GUID Declarations
    604                                     </xs:documentation>
     605                                    <xs:documentation xml:lang="en-us"> Individual GUID Declarations </xs:documentation>
    605606                                </xs:annotation>
    606607                                <xs:complexType>
    607608                                    <xs:sequence>
    608                                         <xs:element minOccurs="1" maxOccurs="1" name="CName"
    609                                             type="xs:NCName"/>
     609                                        <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/>
    610610                                        <xs:element minOccurs="1" maxOccurs="1" name="GuidValue"
    611611                                            type="RegistryFormatGuid"/>
    612                                         <xs:element ref="HelpText" minOccurs="0"
    613                                             maxOccurs="unbounded"/>
     612                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
    614613                                    </xs:sequence>
    615                                     <xs:attribute name="UiName" type="xs:normalizedString"
    616                                         use="optional"/>
    617                                     <xs:attribute name="GuidTypes" type="GuidListType"
    618                                         use="optional"/>
     614                                    <xs:attribute name="UiName" type="xs:normalizedString" use="optional"/>
     615                                    <xs:attribute name="GuidTypes" type="GuidListType" use="optional"/>
    619616                                    <xs:attributeGroup ref="SupportedArchMod"/>
    620617                                </xs:complexType>
     
    627624                <xs:element minOccurs="0" maxOccurs="1" name="ProtocolDeclarations">
    628625                    <xs:annotation>
    629                         <xs:documentation xml:lang="en-us"> This section defines the mapping of
    630                             Protocol C names to GUID values as a Registry Format GUID. </xs:documentation>
    631                         <xs:documentation xml:lang="en-us"> Modules that use these Protocols must
    632                             specify their dependency on this package. </xs:documentation>
     626                        <xs:documentation xml:lang="en-us"> This section defines the mapping of Protocol C names to GUID
     627                            values as a Registry Format GUID. </xs:documentation>
     628                        <xs:documentation xml:lang="en-us"> Modules that use these Protocols must specify their
     629                            dependency on this package. </xs:documentation>
    633630                    </xs:annotation>
    634631                    <xs:complexType>
     
    636633                            <xs:element minOccurs="1" maxOccurs="unbounded" name="Entry">
    637634                                <xs:annotation>
    638                                     <xs:documentation xml:lang="en-us"> Individual Protocol
    639                                         Declarations </xs:documentation>
     635                                    <xs:documentation xml:lang="en-us"> Individual Protocol Declarations
     636                                    </xs:documentation>
    640637                                </xs:annotation>
    641638                                <xs:complexType>
    642639                                    <xs:sequence>
    643                                         <xs:element minOccurs="1" maxOccurs="1" name="CName"
    644                                             type="xs:NCName"/>
     640                                        <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/>
    645641                                        <xs:element minOccurs="1" maxOccurs="1" name="GuidValue"
    646642                                            type="RegistryFormatGuid"/>
    647                                         <xs:element ref="HelpText" minOccurs="0"
    648                                             maxOccurs="unbounded"/>
     643                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
    649644                                    </xs:sequence>
    650                                     <xs:attribute name="UiName" type="xs:normalizedString"
    651                                         use="optional"/>
     645                                    <xs:attribute name="UiName" type="xs:normalizedString" use="optional"/>
    652646                                    <xs:attributeGroup ref="SupportedArchMod"/>
    653647                                </xs:complexType>
     
    660654                <xs:element minOccurs="0" maxOccurs="1" name="PpiDeclarations">
    661655                    <xs:annotation>
    662                         <xs:documentation xml:lang="en-us"> This section defines the mapping of Ppi
    663                             C names to GUID values as a Registry Format GUID. </xs:documentation>
    664                         <xs:documentation xml:lang="en-us"> Modules that use these Ppis must specify
    665                             their dependency on this package. </xs:documentation>
     656                        <xs:documentation xml:lang="en-us"> This section defines the mapping of Ppi C names to GUID
     657                            values as a Registry Format GUID. </xs:documentation>
     658                        <xs:documentation xml:lang="en-us"> Modules that use these Ppis must specify their dependency on
     659                            this package. </xs:documentation>
    666660                    </xs:annotation>
    667661                    <xs:complexType>
     
    669663                            <xs:element minOccurs="1" maxOccurs="unbounded" name="Entry">
    670664                                <xs:annotation>
    671                                     <xs:documentation xml:lang="en-us"> Individual PPI Declarations
    672                                     </xs:documentation>
     665                                    <xs:documentation xml:lang="en-us"> Individual PPI Declarations </xs:documentation>
    673666                                </xs:annotation>
    674667                                <xs:complexType>
    675668                                    <xs:sequence>
    676                                         <xs:element minOccurs="1" maxOccurs="1" name="CName"
    677                                             type="xs:NCName"/>
     669                                        <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/>
    678670                                        <xs:element minOccurs="1" maxOccurs="1" name="GuidValue"
    679671                                            type="RegistryFormatGuid"/>
    680                                         <xs:element ref="HelpText" minOccurs="0"
    681                                             maxOccurs="unbounded"/>
     672                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
    682673                                    </xs:sequence>
    683                                     <xs:attribute name="UiName" type="xs:normalizedString"
    684                                         use="optional"/>
     674                                    <xs:attribute name="UiName" type="xs:normalizedString" use="optional"/>
    685675                                    <xs:attributeGroup ref="SupportedArchMod"/>
    686676                                </xs:complexType>
     
    693683                <xs:element minOccurs="0" maxOccurs="1" name="PcdDeclarations">
    694684                    <xs:annotation>
    695                         <xs:documentation xml:lang="en-us"> This section is used to declare platform
    696                             configuration knobs that are defined by this package. </xs:documentation>
    697                         <xs:documentation xml:lang="en-us"> Modules that use these PCD values must
    698                             specify their dependency on this package. </xs:documentation>
     685                        <xs:documentation xml:lang="en-us"> This section is used to declare platform configuration knobs
     686                            that are defined by this package. </xs:documentation>
     687                        <xs:documentation xml:lang="en-us"> Modules that use these PCD values must specify their
     688                            dependency on this package. </xs:documentation>
    699689                    </xs:annotation>
    700690                    <xs:complexType>
     
    703693                                <xs:complexType>
    704694                                    <xs:sequence>
    705                                         <xs:element minOccurs="1" maxOccurs="1"
    706                                             name="TokenSpaceGuidCname" type="xs:NCName">
     695                                        <xs:element minOccurs="1" maxOccurs="1" name="TokenSpaceGuidCname"
     696                                            type="xs:NCName">
    707697                                            <xs:annotation>
    708                                                 <xs:documentation xml:lang="en-us"> Specifies the C
    709                                                   name of the Token Space GUID of which this PCD
    710                                                   Entry is a member. This C name should also be
    711                                                   listed in the GUIDs section, (specified above,)
    712                                                   where the C name is assigned to a GUID value.
    713                                                 </xs:documentation>
     698                                                <xs:documentation xml:lang="en-us"> Specifies the C name of the Token
     699                                                    Space GUID of which this PCD Entry is a member. This C name should
     700                                                    also be listed in the GUIDs section, (specified above,) where the C
     701                                                    name is assigned to a GUID value. </xs:documentation>
    714702                                            </xs:annotation>
    715703                                        </xs:element>
    716704                                        <xs:element minOccurs="1" maxOccurs="1" name="Token">
    717705                                            <xs:annotation>
    718                                                 <xs:documentation xml:lang="en-us"> Specifies the
    719                                                   32-bit token value for this PCD Entry. The Token
    720                                                   number must be unique to the Token Space that
    721                                                   declares the PCD. </xs:documentation>
    722                                                 <xs:documentation xml:lang="en-us"> The minLength of
    723                                                   3 is required to handle the "0x" prefix to the hex
    724                                                   number. </xs:documentation>
     706                                                <xs:documentation xml:lang="en-us"> Specifies the 32-bit token value for
     707                                                    this PCD Entry. The Token number must be unique to the Token Space
     708                                                    that declares the PCD. </xs:documentation>
     709                                                <xs:documentation xml:lang="en-us"> The minLength of 3 is required to
     710                                                    handle the "0x" prefix to the hex number. </xs:documentation>
    725711                                            </xs:annotation>
    726712                                            <xs:simpleType>
    727713                                                <xs:restriction base="HexNumber">
    728                                                   <xs:minLength value="3"/>
    729                                                   <xs:maxLength value="10"/>
     714                                                    <xs:minLength value="3"/>
     715                                                    <xs:maxLength value="10"/>
    730716                                                </xs:restriction>
    731717                                            </xs:simpleType>
    732718                                        </xs:element>
    733                                         <xs:element minOccurs="1" maxOccurs="1" name="CName"
    734                                             type="xs:NCName"/>
    735                                         <xs:element minOccurs="1" maxOccurs="1" name="DatumType"
    736                                             type="PcdDatumTypes">
     719                                        <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/>
     720                                        <xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDatumTypes">
    737721                                            <xs:annotation>
    738                                                 <xs:documentation xml:lang="en-us"> A string that
    739                                                   contains the data type of this PCD Entry. PCD data
    740                                                   types are restricted to the following set:UINT8,
    741                                                   UINT16, UINT32, UINT64, VOID*, BOOLEAN.
     722                                                <xs:documentation xml:lang="en-us"> A string that contains the data type
     723                                                    of this PCD Entry. PCD data types are restricted to the following
     724                                                    set:UINT8, UINT16, UINT32, UINT64, VOID*, BOOLEAN.
    742725                                                </xs:documentation>
    743726                                            </xs:annotation>
    744727                                        </xs:element>
    745                                         <xs:element minOccurs="1" maxOccurs="1" name="ValidUsage"
    746                                             type="PcdItemListType">
     728                                        <xs:element minOccurs="1" maxOccurs="1" name="ValidUsage" type="PcdItemListType">
    747729                                            <xs:annotation>
    748                                                 <xs:documentation xml:lang="en-us"> A string that
    749                                                   contains one or more PCD Item types separated by
    750                                                   spaces. The PCD Item types are restricted to
    751                                                   FeaturePcd, FixedPcd, PatchPcd, Pcd and/or PcdEx.
     730                                                <xs:documentation xml:lang="en-us"> A string that contains one or more
     731                                                    PCD Item types separated by spaces. The PCD Item types are
     732                                                    restricted to FeaturePcd, FixedPcd, PatchPcd, Pcd and/or PcdEx.
    752733                                                </xs:documentation>
    753734                                            </xs:annotation>
     
    757738                                        <xs:element minOccurs="0" maxOccurs="1" name="MaxDatumSize">
    758739                                            <xs:annotation>
    759                                                 <xs:documentation xml:lang="en-us"> This is a
    760                                                   recommended maximum data size for VOID* data
    761                                                   types, the actual value should be defined by the
    762                                                   Platform Integrator. It is not required for the
    763                                                   other data types. </xs:documentation>
    764                                                 <xs:documentation xml:lang="en-us"> The minLength of
    765                                                   3 is required to handle the "0x" prefix to the hex
    766                                                   number. </xs:documentation>
     740                                                <xs:documentation xml:lang="en-us"> This is a recommended maximum data
     741                                                    size for VOID* data types, the actual value should be defined by the
     742                                                    Platform Integrator. It is not required for the other data types. </xs:documentation>
     743                                                <xs:documentation xml:lang="en-us"> The minLength of 3 is required to
     744                                                    handle the "0x" prefix to the hex number. </xs:documentation>
    767745
    768746                                            </xs:annotation>
    769747                                            <xs:simpleType>
    770748                                                <xs:restriction base="HexNumber">
    771                                                   <xs:minLength value="3"/>
     749                                                    <xs:minLength value="3"/>
    772750                                                </xs:restriction>
    773751                                            </xs:simpleType>
    774752                                        </xs:element>
    775                                         <xs:element ref="HelpText" minOccurs="0"
    776                                             maxOccurs="unbounded"/>
    777 
    778                                         <xs:element minOccurs="0" maxOccurs="unbounded"
    779                                             name="PcdError">
     753                                        <xs:element minOccurs="0" maxOccurs="unbounded" name="Prompt">
    780754                                            <xs:annotation>
    781                                                 <xs:documentation xml:lang="en-us"> Valid Error
    782                                                   messages that may be implemented in a module for
    783                                                   the PCD Entry. Only One Error Number per PcdError,
    784                                                   (multiple ErrorMessage entries are permitted) and
    785                                                   multiple PcdError elements are permitted.
    786                                                 </xs:documentation>
     755                                                <xs:documentation xml:lang="en-US"> This entry contains prompt
     756                                                    information, that may used by tools to assist platform integrators
     757                                                    with choosing the correct values </xs:documentation>
     758                                            </xs:annotation>
     759                                            <xs:complexType>
     760                                                <xs:simpleContent>
     761                                                    <xs:extension base="xs:string">
     762                                                        <xs:attribute name="Lang" type="xs:language" default="en-us"
     763                                                            use="optional"/>
     764                                                    </xs:extension>
     765                                                </xs:simpleContent>
     766                                            </xs:complexType>
     767                                        </xs:element>
     768                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
     769
     770                                        <xs:element minOccurs="0" maxOccurs="unbounded" name="PcdError">
     771                                            <xs:annotation>
     772                                                <xs:documentation xml:lang="en-us"> Valid Error messages that may be
     773                                                    implemented in a module for the PCD Entry. Only One Error Number per
     774                                                    PcdError, (multiple ErrorMessage entries are permitted) and multiple
     775                                                    PcdError elements are permitted. </xs:documentation>
    787776                                            </xs:annotation>
    788777                                            <xs:complexType>
    789778                                                <xs:sequence>
    790                                                   <xs:choice minOccurs="1" maxOccurs="1">
    791                                                   <xs:annotation>
    792                                                   <xs:documentation xml:lang="en-us"> One of the
    793                                                   following types of comparisons, which must be able
    794                                                   to evaluate to either true or false.
    795                                                   </xs:documentation>
    796                                                   </xs:annotation>
    797                                                   <xs:element minOccurs="0" maxOccurs="1"
    798                                                   name="ValidValueList">
    799                                                   <xs:annotation>
    800                                                   <xs:documentation xml:lang="en-us"> The PCD Value
    801                                                   must be space separated list of values. Values are
    802                                                   restricted to the data type of this PCD.
    803                                                   </xs:documentation>
    804                                                   </xs:annotation>
    805                                                   <xs:complexType>
    806                                                   <xs:simpleContent>
    807                                                   <xs:extension base="xs:normalizedString">
    808                                                   <xs:attribute name="Lang" type="xs:language"
    809                                                   use="optional"/>
    810                                                   </xs:extension>
    811                                                   </xs:simpleContent>
    812                                                   </xs:complexType>
    813                                                   </xs:element>
    814                                                   <xs:element minOccurs="0" maxOccurs="1"
    815                                                   name="ValidValueRange" type="xs:normalizedString">
    816                                                   <xs:annotation>
    817                                                   <xs:documentation xml:lang="en-us"> The PCD must
    818                                                   be within a specifed range of numeric values.
    819                                                   Restricted to C style Relational, Equality and
    820                                                   Logicial Operators and parenthesis are valid. Only
    821                                                   the CName for this PCD is permitted in the
    822                                                   ValidValueRange expression. All other values must
    823                                                   be numeric.</xs:documentation>
    824                                                   <xs:documentation xml:lang="en-us"> LValue (op
    825                                                   RValue)+ </xs:documentation>
    826                                                   </xs:annotation>
    827                                                   </xs:element>
    828                                                   <xs:element minOccurs="0" maxOccurs="1"
    829                                                   name="Expression" type="xs:normalizedString">
    830                                                   <xs:annotation>
    831                                                   <xs:documentation xml:lang="en-us"> A in-fix
    832                                                   logical expression using C style logical
    833                                                   operators. </xs:documentation>
    834                                                   </xs:annotation>
    835                                                   </xs:element>
    836                                                   </xs:choice>
    837                                                   <xs:element minOccurs="1" maxOccurs="1"
    838                                                   name="ErrorNumber">
    839                                                   <xs:annotation>
    840                                                   <xs:documentation xml:lang="en-us"> A hexadecimal
    841                                                   value for the error message as defined by
    842                                                   specifications. </xs:documentation>
    843                                                   <xs:documentation xml:lang="en-us"> The minLength
    844                                                   of 3 is required to handle the "0x" prefix to the
    845                                                   hex number. </xs:documentation>
    846 
    847                                                   </xs:annotation>
    848                                                   <xs:simpleType>
    849                                                   <xs:restriction base="HexNumber">
    850                                                   <xs:minLength value="3"/>
    851                                                   </xs:restriction>
    852                                                   </xs:simpleType>
    853                                                   </xs:element>
    854                                                   <xs:element minOccurs="1" maxOccurs="unbounded"
    855                                                   name="ErrorMessage">
    856                                                   <xs:annotation>
    857                                                   <xs:documentation xml:lang="en-us"> This string
    858                                                   should be defined by specifications. There are
    859                                                   pre-defined error number ranges in the UEFI/PI
    860                                                   specificaiton. </xs:documentation>
    861                                                   </xs:annotation>
    862                                                   <xs:complexType>
    863                                                   <xs:simpleContent>
    864                                                   <xs:extension base="xs:string">
    865                                                   <xs:attribute name="Lang" type="xs:language"
    866                                                   default="en-us" use="optional"/>
    867                                                   </xs:extension>
    868                                                   </xs:simpleContent>
    869                                                   </xs:complexType>
    870                                                   </xs:element>
     779                                                    <xs:choice minOccurs="1" maxOccurs="1">
     780                                                        <xs:annotation>
     781                                                            <xs:documentation xml:lang="en-us"> One of the following
     782                                                            types of comparisons, which must be able to evaluate to
     783                                                            either true or false. </xs:documentation>
     784                                                        </xs:annotation>
     785                                                        <xs:element minOccurs="0" maxOccurs="1" name="ValidValueList">
     786                                                            <xs:annotation>
     787                                                            <xs:documentation xml:lang="en-us"> The PCD Value must be
     788                                                            space separated list of values. Values are restricted to the
     789                                                            data type of this PCD. </xs:documentation>
     790                                                            </xs:annotation>
     791                                                            <xs:complexType>
     792                                                            <xs:simpleContent>
     793                                                            <xs:extension base="xs:normalizedString">
     794                                                            <xs:attribute name="Lang" type="xs:language" use="optional"
     795                                                            />
     796                                                            </xs:extension>
     797                                                            </xs:simpleContent>
     798                                                            </xs:complexType>
     799                                                        </xs:element>
     800                                                        <xs:element minOccurs="0" maxOccurs="1" name="ValidValueRange"
     801                                                            type="xs:normalizedString">
     802                                                            <xs:annotation>
     803                                                            <xs:documentation xml:lang="en-us"> The PCD must be within a
     804                                                            specifed range of numeric values. Restricted to C style
     805                                                            Relational, Equality and Logicial Operators and parenthesis
     806                                                            are valid. Only the CName for this PCD is permitted in the
     807                                                            ValidValueRange expression. All other values must be
     808                                                            numeric.</xs:documentation>
     809                                                            <xs:documentation xml:lang="en-us"> LValue (op RValue)+
     810                                                            </xs:documentation>
     811                                                            </xs:annotation>
     812                                                        </xs:element>
     813                                                        <xs:element minOccurs="0" maxOccurs="1" name="Expression"
     814                                                            type="xs:normalizedString">
     815                                                            <xs:annotation>
     816                                                            <xs:documentation xml:lang="en-us"> A in-fix logical
     817                                                            expression using C style logical operators.
     818                                                            </xs:documentation>
     819                                                            </xs:annotation>
     820                                                        </xs:element>
     821                                                    </xs:choice>
     822                                                    <xs:element minOccurs="1" maxOccurs="1" name="ErrorNumber">
     823                                                        <xs:annotation>
     824                                                            <xs:documentation xml:lang="en-us"> A hexadecimal value for
     825                                                            the error message as defined by specifications. </xs:documentation>
     826                                                            <xs:documentation xml:lang="en-us"> The minLength of 3 is
     827                                                            required to handle the "0x" prefix to the hex number. </xs:documentation>
     828
     829                                                        </xs:annotation>
     830                                                        <xs:simpleType>
     831                                                            <xs:restriction base="HexNumber">
     832                                                            <xs:minLength value="3"/>
     833                                                            </xs:restriction>
     834                                                        </xs:simpleType>
     835                                                    </xs:element>
     836                                                    <xs:element minOccurs="1" maxOccurs="unbounded" name="ErrorMessage">
     837                                                        <xs:annotation>
     838                                                            <xs:documentation xml:lang="en-us"> This string should be
     839                                                            defined by specifications. There are pre-defined error
     840                                                            number ranges in the UEFI/PI specificaiton.
     841                                                            </xs:documentation>
     842                                                        </xs:annotation>
     843                                                        <xs:complexType>
     844                                                            <xs:simpleContent>
     845                                                            <xs:extension base="xs:string">
     846                                                            <xs:attribute name="Lang" type="xs:language" default="en-us"
     847                                                            use="optional"/>
     848                                                            </xs:extension>
     849                                                            </xs:simpleContent>
     850                                                        </xs:complexType>
     851                                                    </xs:element>
    871852                                                </xs:sequence>
    872853                                            </xs:complexType>
     
    883864                <xs:element minOccurs="0" maxOccurs="1" name="PcdRelationshipChecks">
    884865                    <xs:annotation>
    885                         <xs:documentation xml:lang="en-us"> This section is used to describe any PCD
    886                             interdependencies or relationships. </xs:documentation>
    887                     </xs:annotation>
    888                     <xs:complexType>
    889                         <xs:sequence>
    890                             <xs:element minOccurs="1" maxOccurs="unbounded" name="PcdCheck"
    891                                 type="xs:normalizedString">
     866                        <xs:documentation xml:lang="en-us"> This section is used to describe any PCD interdependencies
     867                            or relationships. </xs:documentation>
     868                    </xs:annotation>
     869                    <xs:complexType>
     870                        <xs:sequence>
     871                            <xs:element minOccurs="1" maxOccurs="unbounded" name="PcdCheck" type="xs:normalizedString">
    892872                                <xs:annotation>
    893873                                    <xs:documentation xml:lang="en-us"> This entry must used
    894                                         TokenSpaceGuidCName.PcdCname for every named PCD. Restricted
    895                                         to Relational, Equality and Logical Operators (NOT, AND, OR,
    896                                         GT, GE, EQ, LE, LT and XOR) and parenthesis are valid. Only
    897                                         the TokenSpaceGuidCName.PcdCname us permitted to name PCDs
    898                                         in the expression. All other values must be numeric. </xs:documentation>
    899                                     <xs:documentation xml:lang="en-us"> LValue (op RValue)+
    900                                     </xs:documentation>
     874                                        TokenSpaceGuidCName.PcdCname for every named PCD. Restricted to Relational,
     875                                        Equality and Logical Operators (NOT, AND, OR, GT, GE, EQ, LE, LT and XOR) and
     876                                        parenthesis are valid. Only the TokenSpaceGuidCName.PcdCname us permitted to
     877                                        name PCDs in the expression. All other values must be numeric. </xs:documentation>
     878                                    <xs:documentation xml:lang="en-us"> LValue (op RValue)+ </xs:documentation>
    901879                                </xs:annotation>
    902880                            </xs:element>
     
    907885                <xs:element minOccurs="0" maxOccurs="unbounded" name="MiscellaneousFiles">
    908886                    <xs:annotation>
    909                         <xs:documentation xml:lang="en-us"> This section contains files that are not
    910                             part of the code distributed with this package. </xs:documentation>
    911                     </xs:annotation>
    912                     <xs:complexType>
    913                         <xs:sequence>
    914                             <xs:element minOccurs="0" maxOccurs="1" name="Copyright"
    915                                 type="xs:string">
    916                                 <xs:annotation>
    917                                     <xs:documentation xml:lang="en-us"> Only required if different
    918                                         from the Package Copyright. </xs:documentation>
     887                        <xs:documentation xml:lang="en-us"> This section contains files that are not part of the code
     888                            distributed with this package. </xs:documentation>
     889                    </xs:annotation>
     890                    <xs:complexType>
     891                        <xs:sequence>
     892                            <xs:element minOccurs="0" maxOccurs="1" name="Copyright" type="xs:string">
     893                                <xs:annotation>
     894                                    <xs:documentation xml:lang="en-us"> Only required if different from the Package
     895                                        Copyright. </xs:documentation>
    919896                                </xs:annotation>
    920897                            </xs:element>
    921898                            <xs:element minOccurs="0" maxOccurs="1" name="License" type="xs:string">
    922899                                <xs:annotation>
    923                                     <xs:documentation xml:lang="en-us"> Only required if different
    924                                         from the Package License. </xs:documentation>
     900                                    <xs:documentation xml:lang="en-us"> Only required if different from the Package
     901                                        License. </xs:documentation>
    925902                                </xs:annotation>
    926903                            </xs:element>
    927904                            <xs:element minOccurs="0" maxOccurs="1" name="Abstract" type="xs:string">
    928905                                <xs:annotation>
    929                                     <xs:documentation xml:lang="en-us"> A one line description of
    930                                         this section's content. </xs:documentation>
    931                                 </xs:annotation>
    932                             </xs:element>
    933                             <xs:element minOccurs="0" maxOccurs="unbounded" name="Description"
    934                                 type="xs:string">
    935                                 <xs:annotation>
    936                                     <xs:documentation xml:lang="en-us"> A complete description of
    937                                         the files in this section. </xs:documentation>
     906                                    <xs:documentation xml:lang="en-us"> A one line description of this section's
     907                                        content. </xs:documentation>
     908                                </xs:annotation>
     909                            </xs:element>
     910                            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="xs:string">
     911                                <xs:annotation>
     912                                    <xs:documentation xml:lang="en-us"> A complete description of the files in this
     913                                        section. </xs:documentation>
    938914                                </xs:annotation>
    939915                            </xs:element>
    940916                            <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename">
    941917                                <xs:annotation>
    942                                     <xs:documentation xml:lang="en-us"> This is the PackagePath
    943                                         relative path and filename location within the ZIP file.
    944                                     </xs:documentation>
     918                                    <xs:documentation xml:lang="en-us"> This is the PackagePath relative path and
     919                                        filename location within the ZIP file. </xs:documentation>
    945920                                </xs:annotation>
    946921                                <xs:complexType>
    947922                                    <xs:simpleContent>
    948923                                        <xs:extension base="xs:anyURI">
    949                                             <xs:attribute name="Executable" type="xs:boolean"
    950                                                 default="false" use="optional">
     924                                            <xs:attribute name="Executable" type="xs:boolean" default="false"
     925                                                use="optional">
    951926                                                <xs:annotation>
    952                                                   <xs:documentation xml:lang="en-us"> If true, used
    953                                                   by installation tools to ensure that a file that
    954                                                   must be executable has the correct properties to
    955                                                   permit execution. </xs:documentation>
     927                                                    <xs:documentation xml:lang="en-us"> If true, used by installation
     928                                                        tools to ensure that a file that must be executable has the
     929                                                        correct properties to permit execution. </xs:documentation>
    956930                                                </xs:annotation>
    957931                                            </xs:attribute>
     
    968942                <xs:element minOccurs="0" maxOccurs="unbounded" name="UserExtensions">
    969943                    <xs:annotation>
    970                         <xs:documentation xml:lang="en-us"> This section is used for any processing
    971                             instructions that may be custom to the content provided by this package
    972                             that are common to this package. </xs:documentation>
     944                        <xs:documentation xml:lang="en-us"> This section is used for any processing instructions that
     945                            may be custom to the content provided by this package that are common to this package.
     946                        </xs:documentation>
    973947                    </xs:annotation>
    974948                    <xs:complexType mixed="true">
     
    978952                        <xs:attribute name="UserId" type="xs:NCName" use="required">
    979953                            <xs:annotation>
    980                                 <xs:documentation xml:lang="en-us"> This is a single word identifier
    981                                     for grouping similar content that does not fit into previously
    982                                     defined sections or other sections of the Distribution.
    983                                 </xs:documentation>
     954                                <xs:documentation xml:lang="en-us"> This is a single word identifier for grouping
     955                                    similar content that does not fit into previously defined sections or other sections
     956                                    of the Distribution. </xs:documentation>
    984957                            </xs:annotation>
    985958                        </xs:attribute>
    986959                        <xs:attribute name="Identifier" type="xs:string" use="required">
    987960                            <xs:annotation>
    988                                 <xs:documentation xml:lang="en-us"> This can be used to
    989                                     differentiate multiple sections with a grouping. </xs:documentation>
    990                                 <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS
    991                                     Identifier might indicate specific steps and tools required
    992                                     before processing module content, while a different
    993                                     UserExtensions section with a POST_PROCESS Identifier might
    994                                     describe steps that need to be executed after operations on the
    995                                     modules in this package. </xs:documentation>
     961                                <xs:documentation xml:lang="en-us"> This can be used to differentiate multiple sections
     962                                    with a grouping. </xs:documentation>
     963                                <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS Identifier might indicate
     964                                    specific steps and tools required before processing module content, while a
     965                                    different UserExtensions section with a POST_PROCESS Identifier might describe steps
     966                                    that need to be executed after operations on the modules in this package.
     967                                </xs:documentation>
    996968                            </xs:annotation>
    997969                        </xs:attribute>
     
    1008980    <xs:element name="ModuleSurfaceArea">
    1009981        <xs:annotation>
    1010             <xs:documentation xml:lang="en-us"> Each module is uniquely identified by it's GUID and
    1011                 Version number. Backward compatible releases of a module need only change the
    1012                 version number, while non-backward compatible changes require the GUID to change
    1013                 (resetting the version number to 1.0 is optional.) </xs:documentation>
     982            <xs:documentation xml:lang="en-us"> Each module is uniquely identified by it's GUID and Version number.
     983                Backward compatible releases of a module need only change the version number, while non-backward
     984                compatible changes require the GUID to change (resetting the version number to 1.0 is optional.)
     985            </xs:documentation>
    1014986        </xs:annotation>
    1015987        <xs:complexType>
     
    1021993                            <xs:element minOccurs="1" maxOccurs="1" name="Name">
    1022994                                <xs:annotation>
    1023                                     <xs:documentation xml:lang="en-us"> This is the User Interface
    1024                                         Name for this Module. </xs:documentation>
     995                                    <xs:documentation xml:lang="en-us"> This is the User Interface Name for this Module.
     996                                    </xs:documentation>
    1025997                                </xs:annotation>
    1026998                                <xs:complexType>
    1027999                                    <xs:simpleContent>
    10281000                                        <xs:extension base="xs:normalizedString">
    1029                                             <xs:attribute name="BaseName" type="xs:NMTOKEN"
    1030                                                 use="required">
     1001                                            <xs:attribute name="BaseName" type="xs:NMTOKEN" use="required">
    10311002                                                <xs:annotation>
    1032                                                   <xs:documentation xml:lang="en-us"> This is a
    1033                                                   single word BaseName that will be used to create a
    1034                                                   module meta-data file. </xs:documentation>
    1035                                                   <xs:documentation xml:lang="en-us"> This name
    1036                                                   should also be used to create output file names
    1037                                                   and directories. </xs:documentation>
     1003                                                    <xs:documentation xml:lang="en-us"> This is a single word BaseName
     1004                                                        that will be used to create a module meta-data file. </xs:documentation>
     1005                                                    <xs:documentation xml:lang="en-us"> This name should also be used to
     1006                                                        create output file names and directories. </xs:documentation>
    10381007                                                </xs:annotation>
    10391008                                            </xs:attribute>
     
    10441013                            <xs:element minOccurs="1" maxOccurs="1" name="GUID">
    10451014                                <xs:annotation>
    1046                                     <xs:documentation xml:lang="en-us"> This GUID and the Version
    1047                                         attribute uniquely identify a given Module.
    1048                                     </xs:documentation>
     1015                                    <xs:documentation xml:lang="en-us"> This GUID and the Version attribute uniquely
     1016                                        identify a given Module. </xs:documentation>
    10491017                                </xs:annotation>
    10501018                                <xs:complexType>
    10511019                                    <xs:simpleContent>
    10521020                                        <xs:extension base="RegistryFormatGuid">
    1053                                             <xs:attribute name="Version" type="xs:decimal"
    1054                                                 use="required">
     1021                                            <xs:attribute name="Version" type="xs:decimal" use="required">
    10551022                                                <xs:annotation>
    1056                                                   <xs:documentation xml:lang="en-us"> This value,
    1057                                                   along with the GUID, is used to uniquely identify
    1058                                                   this object. </xs:documentation>
    1059                                                   <xs:documentation xml:lang="en-us"> Backward
    1060                                                   compatible changes must make sure this number is
    1061                                                   incremented from the most recent version.
    1062                                                   Non-backward compatible changes require a new
    1063                                                   GUID, and the version can be reset.
    1064                                                   </xs:documentation>
     1023                                                    <xs:documentation xml:lang="en-us"> This value, along with the GUID,
     1024                                                        is used to uniquely identify this object. </xs:documentation>
     1025                                                    <xs:documentation xml:lang="en-us"> Backward compatible changes must
     1026                                                        make sure this number is incremented from the most recent
     1027                                                        version. Non-backward compatible changes require a new GUID, and
     1028                                                        the version can be reset. </xs:documentation>
    10651029                                                </xs:annotation>
    10661030                                            </xs:attribute>
     
    10691033                                </xs:complexType>
    10701034                            </xs:element>
    1071                             <xs:element minOccurs="0" maxOccurs="1" name="Copyright"
    1072                                 type="xs:string">
    1073                                 <xs:annotation>
    1074                                     <xs:documentation xml:lang="en-us"> This is only required if the
    1075                                         Copyright is different from either the Package or
    1076                                         Distribution copyright. Multiple copyright lines are
     1035                            <xs:element minOccurs="0" maxOccurs="unbounded" name="Copyright">
     1036                                <xs:annotation>
     1037                                    <xs:documentation xml:lang="en-us"> This is only required if the Copyright is
     1038                                        different from either the Package or Distribution copyright. Multiple copyright
     1039                                        lines are permitted within this section. </xs:documentation>
     1040                                </xs:annotation>
     1041                                <xs:complexType>
     1042                                    <xs:simpleContent>
     1043                                        <xs:extension base="xs:string">
     1044                                            <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"
     1045                                            />
     1046                                        </xs:extension>
     1047                                    </xs:simpleContent>
     1048                                </xs:complexType>
     1049                            </xs:element>
     1050                            <xs:element minOccurs="0" maxOccurs="unbounded" name="License">
     1051                                <xs:annotation>
     1052                                    <xs:documentation xml:lang="en-us"> This is only required if the license is
     1053                                        different from either the Package or Distribution license. Multiple licenses are
    10771054                                        permitted within this section. </xs:documentation>
    10781055                                </xs:annotation>
    1079                             </xs:element>
    1080                             <xs:element minOccurs="0" maxOccurs="1" name="License" type="xs:string">
    1081                                 <xs:annotation>
    1082                                     <xs:documentation xml:lang="en-us"> This is only required if the
    1083                                         license is different from either the Package or Distribution
    1084                                         license. Multiple licenses are permitted within this
    1085                                         section. </xs:documentation>
    1086                                 </xs:annotation>
    1087                             </xs:element>
    1088                             <xs:element minOccurs="0" maxOccurs="1" name="Abstract"
    1089                                 type="xs:normalizedString">
    1090                                 <xs:annotation>
    1091                                     <xs:documentation xml:lang="en-us"> A brief text description of
    1092                                         the module. </xs:documentation>
    1093                                 </xs:annotation>
    1094                             </xs:element>
    1095                             <xs:element minOccurs="0" maxOccurs="1" name="Description"
    1096                                 type="xs:string">
    1097                                 <xs:annotation>
    1098                                     <xs:documentation xml:lang="en-us"> A complete description of
    1099                                         the module contents and/or features including a description
    1100                                         of the updates since the previous module release.
     1056                                <xs:complexType>
     1057                                    <xs:simpleContent>
     1058                                        <xs:extension base="xs:string">
     1059                                            <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"
     1060                                            />
     1061                                        </xs:extension>
     1062                                    </xs:simpleContent>
     1063                                </xs:complexType>
     1064                            </xs:element>
     1065                            <xs:element minOccurs="0" maxOccurs="unbounded" name="Abstract">
     1066                                <xs:annotation>
     1067                                    <xs:documentation xml:lang="en-us"> A brief text description of the module.
    11011068                                    </xs:documentation>
    11021069                                </xs:annotation>
     1070                                <xs:complexType>
     1071                                    <xs:simpleContent>
     1072                                        <xs:extension base="xs:normalizedString">
     1073                                            <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"
     1074                                            />
     1075                                        </xs:extension>
     1076                                    </xs:simpleContent>
     1077                                </xs:complexType>
     1078                            </xs:element>
     1079                            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description">
     1080                                <xs:annotation>
     1081                                    <xs:documentation xml:lang="en-us"> A complete description of the module contents
     1082                                        and/or features including a description of the updates since the previous module
     1083                                        release. </xs:documentation>
     1084                                </xs:annotation>
     1085                                <xs:complexType>
     1086                                    <xs:simpleContent>
     1087                                        <xs:extension base="xs:string">
     1088                                            <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"
     1089                                            />
     1090                                        </xs:extension>
     1091                                    </xs:simpleContent>
     1092                                </xs:complexType>
    11031093                            </xs:element>
    11041094                        </xs:sequence>
     
    11091099                <xs:element minOccurs="0" maxOccurs="1" name="ModuleProperties">
    11101100                    <xs:annotation>
    1111                         <xs:documentation xml:lang="en-us"> List general information about a module,
    1112                             including the Supported Architectures, this module's type,
    1113                             specifications the module is coded against, and other informational
    1114                             content. </xs:documentation>
    1115                     </xs:annotation>
    1116                     <xs:complexType>
    1117                         <xs:sequence>
    1118                             <xs:element minOccurs="1" maxOccurs="1" name="ModuleType"
    1119                                 type="ModuleTypes">
    1120                                 <xs:annotation>
    1121                                     <xs:documentation xml:lang="en-us"> One of the Enumerated module
    1122                                         types that limit the use of a module. </xs:documentation>
     1101                        <xs:documentation xml:lang="en-us"> List general information about a module, including the
     1102                            Supported Architectures, this module's type, specifications the module is coded against, and
     1103                            other informational content. </xs:documentation>
     1104                    </xs:annotation>
     1105                    <xs:complexType>
     1106                        <xs:sequence>
     1107                            <xs:element minOccurs="1" maxOccurs="1" name="ModuleType" type="ModuleTypes">
     1108                                <xs:annotation>
     1109                                    <xs:documentation xml:lang="en-us"> One of the Enumerated module types that limit
     1110                                        the use of a module. </xs:documentation>
    11231111                                </xs:annotation>
    11241112                            </xs:element>
    11251113                            <xs:element minOccurs="1" maxOccurs="1" name="Path" type="xs:anyURI">
    11261114                                <xs:annotation>
    1127                                     <xs:documentation xml:lang="en-us"> For stand-alone modules that
    1128                                         are NOT part of any package, this is the path to the root of
    1129                                         the module as listed in the ZIP file. For modules included
    1130                                         in a package, this is the location, relative to the root of
    1131                                         the package (PackagePath) this module belongs to.
     1115                                    <xs:documentation xml:lang="en-us"> For stand-alone modules that are NOT part of any
     1116                                        package, this is the path to the root of the module as listed in the ZIP file.
     1117                                        For modules included in a package, this is the location, relative to the root of
     1118                                        the package (PackagePath) this module belongs to. </xs:documentation>
     1119                                </xs:annotation>
     1120                            </xs:element>
     1121                            <xs:element minOccurs="0" maxOccurs="1" name="PcdIsDriver">
     1122                                <xs:annotation>
     1123                                    <xs:documentation xml:lang="en-us"> This element is only required for the PEIM that
     1124                                        produces the PCD PPI or the DXE Driver that produces the PCD Protocol.
    11321125                                    </xs:documentation>
    1133                                 </xs:annotation>
    1134                             </xs:element>
    1135                             <xs:element minOccurs="0" maxOccurs="1" name="PcdIsDriver">
    1136                                 <xs:annotation>
    1137                                     <xs:documentation xml:lang="en-us"> This element is only
    1138                                         required for the PEIM that produces the PCD PPI or the DXE
    1139                                         Driver that produces the PCD Protocol. </xs:documentation>
    11401126                                </xs:annotation>
    11411127                                <xs:simpleType>
     
    11471133                            </xs:element>
    11481134
    1149                             <xs:element minOccurs="0" maxOccurs="1" name="UefiSpecificationVersion"
    1150                                 type="xs:decimal"/>
    1151 
    1152                             <xs:element minOccurs="0" maxOccurs="1" name="PiSpecificationVersion"
    1153                                 type="xs:decimal"/>
     1135                            <xs:element minOccurs="0" maxOccurs="1" name="UefiSpecificationVersion" type="xs:decimal"/>
     1136
     1137                            <xs:element minOccurs="0" maxOccurs="1" name="PiSpecificationVersion" type="xs:decimal"/>
    11541138
    11551139                            <xs:element minOccurs="0" maxOccurs="unbounded" name="Specification">
    11561140                                <xs:annotation>
    1157                                     <xs:documentation xml:lang="en-us"> This is a list of other
    1158                                         specifications that this module is written against. These
    1159                                         entries can be used in #define statements (depending on the
    1160                                         build system implementation, they may be autogenerated.)
     1141                                    <xs:documentation xml:lang="en-us"> This is a list of other specifications that this
     1142                                        module is written against. These entries can be used in #define statements
     1143                                        (depending on the build system implementation, they may be autogenerated.)
    11611144                                    </xs:documentation>
    11621145                                </xs:annotation>
     
    11641147                                    <xs:simpleContent>
    11651148                                        <xs:extension base="xs:NCName">
    1166                                             <xs:attribute name="Version" type="xs:decimal"
    1167                                                 use="required"/>
     1149                                            <xs:attribute name="Version" type="xs:decimal" use="required"/>
    11681150                                        </xs:extension>
    11691151                                    </xs:simpleContent>
     
    11731155                            <xs:element minOccurs="0" maxOccurs="unbounded" name="BootMode">
    11741156                                <xs:annotation>
    1175                                     <xs:documentation xml:lang="en-us"> Different firmware execution
    1176                                         paths may be taken based on a given state of the hardware,
    1177                                         firmware, or through feature settings. A BootMode may be
    1178                                         declared (PRODUCES) or discovered (CONSUMES) based on these
    1179                                         states and feature settings. If the usage is UNDEFINE, it
    1180                                         implies that a Boot Mode is used, but the package creator
    1181                                         does not know how it is used. The supported boot modes map
    1182                                         to the PI specification Boot Modes. The boot modes listed
    1183                                         with Recovery are to indicate that the BootMode is valid
    1184                                         during a recovery boot. </xs:documentation>
     1157                                    <xs:documentation xml:lang="en-us"> Different firmware execution paths may be taken
     1158                                        based on a given state of the hardware, firmware, or through feature settings. A
     1159                                        BootMode may be declared (PRODUCES) or discovered (CONSUMES) based on these
     1160                                        states and feature settings. If the usage is UNDEFINE, it implies that a Boot
     1161                                        Mode is used, but the package creator does not know how it is used. The
     1162                                        supported boot modes map to the PI specification Boot Modes. The boot modes
     1163                                        listed with Recovery are to indicate that the BootMode is valid during a
     1164                                        recovery boot. </xs:documentation>
    11851165                                </xs:annotation>
    11861166                                <xs:complexType>
    11871167                                    <xs:sequence minOccurs="0">
    1188                                         <xs:element minOccurs="1" maxOccurs="1"
    1189                                             name="SupportedBootModes">
     1168                                        <xs:element minOccurs="1" maxOccurs="1" name="SupportedBootModes">
    11901169                                            <xs:simpleType>
    11911170                                                <xs:list>
    1192                                                   <xs:simpleType>
    1193                                                   <xs:restriction base="xs:NCName">
    1194                                                   <xs:enumeration value="FULL"/>
    1195                                                   <xs:enumeration value="MINIMAL"/>
    1196                                                   <xs:enumeration value="NO_CHANGE"/>
    1197                                                   <xs:enumeration value="DIAGNOSTICS"/>
    1198                                                   <xs:enumeration value="DEFAULT"/>
    1199                                                   <xs:enumeration value="S2_RESUME"/>
    1200                                                   <xs:enumeration value="S3_RESUME"/>
    1201                                                   <xs:enumeration value="S4_RESUME"/>
    1202                                                   <xs:enumeration value="S5_RESUME"/>
    1203                                                   <xs:enumeration value="FLASH_UPDATE"/>
    1204                                                   <xs:enumeration value="RECOVERY_FULL"/>
    1205                                                   <xs:enumeration value="RECOVERY_MINIMAL"/>
    1206                                                   <xs:enumeration value="RECOVERY_NO_CHANGE"/>
    1207                                                   <xs:enumeration value="RECOVERY_DIAGNOSTICS"/>
    1208                                                   <xs:enumeration value="RECOVERY_DEFAULT"/>
    1209                                                   <xs:enumeration value="RECOVERY_S2_RESUME"/>
    1210                                                   <xs:enumeration value="RECOVERY_S3_RESUME"/>
    1211                                                   <xs:enumeration value="RECOVERY_S4_RESUME"/>
    1212                                                   <xs:enumeration value="RECOVERY_S5_RESUME"/>
    1213                                                   <xs:enumeration value="RECOVERY_FLASH_UPDATE"/>
    1214                                                   <xs:enumeration value="UNDEFINED"/>
    1215                                                   </xs:restriction>
    1216                                                   </xs:simpleType>
     1171                                                    <xs:simpleType>
     1172                                                        <xs:restriction base="xs:NCName">
     1173                                                            <xs:enumeration value="FULL"/>
     1174                                                            <xs:enumeration value="MINIMAL"/>
     1175                                                            <xs:enumeration value="NO_CHANGE"/>
     1176                                                            <xs:enumeration value="DIAGNOSTICS"/>
     1177                                                            <xs:enumeration value="DEFAULT"/>
     1178                                                            <xs:enumeration value="S2_RESUME"/>
     1179                                                            <xs:enumeration value="S3_RESUME"/>
     1180                                                            <xs:enumeration value="S4_RESUME"/>
     1181                                                            <xs:enumeration value="S5_RESUME"/>
     1182                                                            <xs:enumeration value="FLASH_UPDATE"/>
     1183                                                            <xs:enumeration value="RECOVERY_FULL"/>
     1184                                                            <xs:enumeration value="RECOVERY_MINIMAL"/>
     1185                                                            <xs:enumeration value="RECOVERY_NO_CHANGE"/>
     1186                                                            <xs:enumeration value="RECOVERY_DIAGNOSTICS"/>
     1187                                                            <xs:enumeration value="RECOVERY_DEFAULT"/>
     1188                                                            <xs:enumeration value="RECOVERY_S2_RESUME"/>
     1189                                                            <xs:enumeration value="RECOVERY_S3_RESUME"/>
     1190                                                            <xs:enumeration value="RECOVERY_S4_RESUME"/>
     1191                                                            <xs:enumeration value="RECOVERY_S5_RESUME"/>
     1192                                                            <xs:enumeration value="RECOVERY_FLASH_UPDATE"/>
     1193                                                            <xs:enumeration value="UNDEFINED"/>
     1194                                                        </xs:restriction>
     1195                                                    </xs:simpleType>
    12171196                                                </xs:list>
    12181197                                            </xs:simpleType>
    12191198                                        </xs:element>
    12201199
    1221                                         <xs:element ref="HelpText" minOccurs="0"
    1222                                             maxOccurs="unbounded"/>
     1200                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
    12231201                                    </xs:sequence>
    12241202                                    <xs:attribute name="Usage" use="required">
     
    12261204                                            <xs:restriction base="xs:NCName">
    12271205                                                <xs:enumeration value="CONSUMES">
    1228                                                   <xs:annotation>
    1229                                                   <xs:documentation xml:lang="en-us"> The module
    1230                                                   always supports the given boot modes.
    1231                                                   </xs:documentation>
    1232                                                   </xs:annotation>
     1206                                                    <xs:annotation>
     1207                                                        <xs:documentation xml:lang="en-us"> The module always supports
     1208                                                            the given boot modes. </xs:documentation>
     1209                                                    </xs:annotation>
    12331210                                                </xs:enumeration>
    12341211                                                <xs:enumeration value="SOMETIMES_CONSUMES">
    1235                                                   <xs:annotation>
    1236                                                   <xs:documentation xml:lang="en-us"> The module may
    1237                                                   support a given mode on some execution paths.
    1238                                                   </xs:documentation>
    1239                                                   </xs:annotation>
     1212                                                    <xs:annotation>
     1213                                                        <xs:documentation xml:lang="en-us"> The module may support a
     1214                                                            given mode on some execution paths. </xs:documentation>
     1215                                                    </xs:annotation>
    12401216                                                </xs:enumeration>
    12411217                                                <xs:enumeration value="PRODUCES">
    1242                                                   <xs:annotation>
    1243                                                   <xs:documentation xml:lang="en-us"> The module
    1244                                                   will change the boot mode. </xs:documentation>
    1245                                                   </xs:annotation>
     1218                                                    <xs:annotation>
     1219                                                        <xs:documentation xml:lang="en-us"> The module will change the
     1220                                                            boot mode. </xs:documentation>
     1221                                                    </xs:annotation>
    12461222                                                </xs:enumeration>
    12471223                                                <xs:enumeration value="SOMETIME_PRODUCES">
    1248                                                   <xs:annotation>
    1249                                                   <xs:documentation xml:lang="en-us"> The module
    1250                                                   will change the boot mode on some exection paths.
    1251                                                   </xs:documentation>
    1252                                                   </xs:annotation>
     1224                                                    <xs:annotation>
     1225                                                        <xs:documentation xml:lang="en-us"> The module will change the
     1226                                                            boot mode on some exection paths. </xs:documentation>
     1227                                                    </xs:annotation>
    12531228                                                </xs:enumeration>
    12541229                                                <xs:enumeration value="UNDEFINED">
    1255                                                   <xs:annotation>
    1256                                                   <xs:documentation xml:lang="en-us"> The package
    1257                                                   creator does not know how the boot mode is used.
    1258                                                   </xs:documentation>
    1259                                                   </xs:annotation>
     1230                                                    <xs:annotation>
     1231                                                        <xs:documentation xml:lang="en-us"> The package creator does not
     1232                                                            know how the boot mode is used. </xs:documentation>
     1233                                                    </xs:annotation>
    12601234                                                </xs:enumeration>
    12611235                                            </xs:restriction>
    12621236                                        </xs:simpleType>
    12631237                                    </xs:attribute>
    1264                                     <xs:attribute name="SupArchList" type="ArchListType"
    1265                                         use="optional"/>
    1266                                     <xs:attribute name="FeatureFlag" type="xs:normalizedString"
    1267                                         use="optional"/>
    1268                                 </xs:complexType>
    1269                             </xs:element>
    1270 
    1271                             <xs:element minOccurs="0" maxOccurs="unbounded" name="Event"
    1272                                 nillable="true">
    1273                                 <xs:annotation>
    1274                                     <xs:documentation xml:lang="en-us"> The functions that make up
    1275                                         the Event, Timer, and Task Priority Services are used during
    1276                                         preboot to create, close, signal, and wait for events; to
    1277                                         set timers; and to raise and restore task priority levels as
    1278                                         defined in the UEFI specification. GUIDed events should be
    1279                                         listed in the Guids section. </xs:documentation>
     1238                                    <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
     1239                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
     1240                                </xs:complexType>
     1241                            </xs:element>
     1242
     1243                            <xs:element minOccurs="0" maxOccurs="unbounded" name="Event" nillable="true">
     1244                                <xs:annotation>
     1245                                    <xs:documentation xml:lang="en-us"> The functions that make up the Event, Timer, and
     1246                                        Task Priority Services are used during preboot to create, close, signal, and
     1247                                        wait for events; to set timers; and to raise and restore task priority levels as
     1248                                        defined in the UEFI specification. GUIDed events should be listed in the Guids
     1249                                        section. </xs:documentation>
    12801250                                </xs:annotation>
    12811251                                <xs:complexType>
    12821252                                    <xs:sequence>
    1283                                         <xs:element ref="HelpText" minOccurs="0"
    1284                                             maxOccurs="unbounded"/>
     1253                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
    12851254                                    </xs:sequence>
    12861255                                    <xs:attribute name="Usage" use="required">
     
    12881257                                            <xs:restriction base="xs:NCName">
    12891258                                                <xs:enumeration value="CONSUMES">
    1290                                                   <xs:annotation>
    1291                                                   <xs:documentation xml:lang="en-us"> The module
    1292                                                   will register a notification function and calls
    1293                                                   the function when it is signaled.
    1294                                                   </xs:documentation>
    1295                                                   </xs:annotation>
     1259                                                    <xs:annotation>
     1260                                                        <xs:documentation xml:lang="en-us"> The module will register a
     1261                                                            notification function and calls the function when it is
     1262                                                            signaled. </xs:documentation>
     1263                                                    </xs:annotation>
    12961264                                                </xs:enumeration>
    12971265                                                <xs:enumeration value="SOMETIMES_CONSUMES">
    1298                                                   <xs:annotation>
    1299                                                   <xs:documentation xml:lang="en-us"> The module
    1300                                                   will register a notification function and calls
    1301                                                   the function when it is signaled on some execution
    1302                                                   paths. </xs:documentation>
    1303                                                   </xs:annotation>
     1266                                                    <xs:annotation>
     1267                                                        <xs:documentation xml:lang="en-us"> The module will register a
     1268                                                            notification function and calls the function when it is
     1269                                                            signaled on some execution paths. </xs:documentation>
     1270                                                    </xs:annotation>
    13041271                                                </xs:enumeration>
    13051272                                                <xs:enumeration value="PRODUCES">
    1306                                                   <xs:annotation>
    1307                                                   <xs:documentation xml:lang="en-us"> The module
    1308                                                   will signal all events in an event group.
    1309                                                   </xs:documentation>
    1310                                                   </xs:annotation>
     1273                                                    <xs:annotation>
     1274                                                        <xs:documentation xml:lang="en-us"> The module will signal all
     1275                                                            events in an event group. </xs:documentation>
     1276                                                    </xs:annotation>
    13111277                                                </xs:enumeration>
    13121278                                                <xs:enumeration value="SOMETIMES_PRODUCES">
    1313                                                   <xs:annotation>
    1314                                                   <xs:documentation xml:lang="en-us"> The module
    1315                                                   will signal all events in an event group under
    1316                                                   some execution paths. </xs:documentation>
    1317                                                   </xs:annotation>
     1279                                                    <xs:annotation>
     1280                                                        <xs:documentation xml:lang="en-us"> The module will signal all
     1281                                                            events in an event group under some execution paths.
     1282                                                        </xs:documentation>
     1283                                                    </xs:annotation>
    13181284                                                </xs:enumeration>
    13191285                                                <xs:enumeration value="UNDEFINED">
    1320                                                   <xs:annotation>
    1321                                                   <xs:documentation xml:lang="en-us"> The package
    1322                                                   creator does not know how an event is used.
    1323                                                   </xs:documentation>
    1324                                                   </xs:annotation>
     1286                                                    <xs:annotation>
     1287                                                        <xs:documentation xml:lang="en-us"> The package creator does not
     1288                                                            know how an event is used. </xs:documentation>
     1289                                                    </xs:annotation>
    13251290                                                </xs:enumeration>
    13261291                                            </xs:restriction>
     
    13381303
    13391304                                    </xs:attribute>
    1340                                     <xs:attribute name="SupArchList" type="ArchListType"
    1341                                         use="optional"/>
    1342                                     <xs:attribute name="FeatureFlag" type="xs:normalizedString"
    1343                                         use="optional"/>
    1344                                 </xs:complexType>
    1345                             </xs:element>
    1346 
    1347                             <xs:element minOccurs="0" maxOccurs="unbounded" name="HOB"
    1348                                 nillable="false">
    1349                                 <xs:annotation>
    1350                                     <xs:documentation xml:lang="en-us"> This is a list of non-GUIDed
    1351                                         Hand Off Blocks (HOBs) produced or consumed by this module.
    1352                                     </xs:documentation>
     1305                                    <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
     1306                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
     1307                                </xs:complexType>
     1308                            </xs:element>
     1309
     1310                            <xs:element minOccurs="0" maxOccurs="unbounded" name="HOB" nillable="false">
     1311                                <xs:annotation>
     1312                                    <xs:documentation xml:lang="en-us"> This is a list of non-GUIDed Hand Off Blocks
     1313                                        (HOBs) produced or consumed by this module. </xs:documentation>
    13531314                                </xs:annotation>
    13541315                                <xs:complexType>
    13551316                                    <xs:sequence>
    1356                                         <xs:element ref="HelpText" minOccurs="0"
    1357                                             maxOccurs="unbounded"/>
     1317                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
    13581318                                    </xs:sequence>
    13591319                                    <xs:attribute name="HobType" use="required">
     
    13731333                                            <xs:restriction base="xs:NCName">
    13741334                                                <xs:enumeration value="CONSUMES">
    1375                                                   <xs:annotation>
    1376                                                   <xs:documentation xml:lang="en-us"> A HOB must be
    1377                                                   present in the system. </xs:documentation>
    1378                                                   </xs:annotation>
     1335                                                    <xs:annotation>
     1336                                                        <xs:documentation xml:lang="en-us"> A HOB must be present in the
     1337                                                            system. </xs:documentation>
     1338                                                    </xs:annotation>
    13791339                                                </xs:enumeration>
    13801340                                                <xs:enumeration value="SOMETIMES_CONSUMES">
    1381                                                   <xs:annotation>
    1382                                                   <xs:documentation xml:lang="en-us"> If present,
    1383                                                   the HOB will be used. </xs:documentation>
    1384                                                   </xs:annotation>
     1341                                                    <xs:annotation>
     1342                                                        <xs:documentation xml:lang="en-us"> If present, the HOB will be
     1343                                                            used. </xs:documentation>
     1344                                                    </xs:annotation>
    13851345                                                </xs:enumeration>
    13861346                                                <xs:enumeration value="PRODUCES">
    1387                                                   <xs:annotation>
    1388                                                   <xs:documentation xml:lang="en-us"> The HOB is
    1389                                                   always produced by the module. </xs:documentation>
    1390                                                   </xs:annotation>
     1347                                                    <xs:annotation>
     1348                                                        <xs:documentation xml:lang="en-us"> The HOB is always produced
     1349                                                            by the module. </xs:documentation>
     1350                                                    </xs:annotation>
    13911351                                                </xs:enumeration>
    13921352                                                <xs:enumeration value="SOMETIMES_PRODUCES">
    1393                                                   <xs:annotation>
    1394                                                   <xs:documentation xml:lang="en-us"> The HOB may be
    1395                                                   produced by the module under some execution paths.
    1396                                                   </xs:documentation>
    1397                                                   </xs:annotation>
     1353                                                    <xs:annotation>
     1354                                                        <xs:documentation xml:lang="en-us"> The HOB may be produced by
     1355                                                            the module under some execution paths. </xs:documentation>
     1356                                                    </xs:annotation>
    13981357                                                </xs:enumeration>
    13991358                                                <xs:enumeration value="UNDEFINED">
    1400                                                   <xs:annotation>
    1401                                                   <xs:documentation xml:lang="en-us"> The package
    1402                                                   creator knows that a HOB is used, but does not
    1403                                                   know how it is used. </xs:documentation>
    1404                                                   </xs:annotation>
     1359                                                    <xs:annotation>
     1360                                                        <xs:documentation xml:lang="en-us"> The package creator knows
     1361                                                            that a HOB is used, but does not know how it is used.
     1362                                                        </xs:documentation>
     1363                                                    </xs:annotation>
    14051364                                                </xs:enumeration>
    14061365                                            </xs:restriction>
    14071366                                        </xs:simpleType>
    14081367                                    </xs:attribute>
    1409                                     <xs:attribute name="SupArchList" type="ArchListType"
    1410                                         use="optional"/>
    1411                                     <xs:attribute name="FeatureFlag" type="xs:normalizedString"
    1412                                         use="optional"/>
     1368                                    <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
     1369                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
    14131370                                </xs:complexType>
    14141371                            </xs:element>
     
    14221379                <xs:element minOccurs="0" maxOccurs="1" name="ClonedFrom">
    14231380                    <xs:annotation>
    1424                         <xs:documentation xml:lang="en-us"> This section may be included for Modules
    1425                             that are copied from a different module. </xs:documentation>
     1381                        <xs:documentation xml:lang="en-us"> This section may be included for Modules that are copied
     1382                            from a different module. </xs:documentation>
    14261383                    </xs:annotation>
    14271384                    <xs:complexType>
     
    14291386                            <xs:element minOccurs="1" maxOccurs="1" name="GUID">
    14301387                                <xs:annotation>
    1431                                     <xs:documentation xml:lang="en-us"> This GUID and the Version
    1432                                         attribute uniquely identify the Module that this Module was
    1433                                         copied from. </xs:documentation>
     1388                                    <xs:documentation xml:lang="en-us"> This GUID and the Version attribute uniquely
     1389                                        identify the Module that this Module was copied from. </xs:documentation>
    14341390                                </xs:annotation>
    14351391                                <xs:complexType>
    14361392                                    <xs:simpleContent>
    14371393                                        <xs:extension base="RegistryFormatGuid">
    1438                                             <xs:attribute name="Version" type="xs:decimal"
    1439                                                 use="required">
     1394                                            <xs:attribute name="Version" type="xs:decimal" use="required">
    14401395                                                <xs:annotation>
    1441                                                   <xs:documentation xml:lang="en-us"> This value,
    1442                                                   along with the GUID, is used to uniquely identify
    1443                                                   this object. </xs:documentation>
     1396                                                    <xs:documentation xml:lang="en-us"> This value, along with the GUID,
     1397                                                        is used to uniquely identify this object. </xs:documentation>
    14441398                                                </xs:annotation>
    14451399                                            </xs:attribute>
     
    14551409                <xs:element minOccurs="0" maxOccurs="1" name="LibraryClassDefinitions">
    14561410                    <xs:annotation>
    1457                         <xs:documentation xml:lang="en-us"> A list of the different Library Classes
    1458                             consumed by a driver, core and/or application module, or produced by a
    1459                             Library module. </xs:documentation>
     1411                        <xs:documentation xml:lang="en-us"> A list of the different Library Classes consumed by a
     1412                            driver, core and/or application module, or produced by a Library module. </xs:documentation>
    14601413                    </xs:annotation>
    14611414                    <xs:complexType>
     
    14641417                                <xs:complexType>
    14651418                                    <xs:sequence>
    1466                                         <xs:element minOccurs="1" maxOccurs="1" name="Keyword"
    1467                                             type="xs:NCName">
     1419                                        <xs:element minOccurs="1" maxOccurs="1" name="Keyword" type="xs:NCName">
    14681420                                            <xs:annotation>
    1469                                                 <xs:documentation xml:lang="en-us "> Used by tools
    1470                                                   to identify different instances of libraries that
    1471                                                   provide the library class. This keyword identifies
    1472                                                   the library class this module needs to be linked
    1473                                                   against. </xs:documentation>
     1421                                                <xs:documentation xml:lang="en-us "> Used by tools to identify different
     1422                                                    instances of libraries that provide the library class. This keyword
     1423                                                    identifies the library class this module needs to be linked against.
     1424                                                </xs:documentation>
    14741425                                            </xs:annotation>
    14751426                                        </xs:element>
    1476                                         <xs:element minOccurs="0" maxOccurs="1"
    1477                                             name="RecommendedInstance">
     1427                                        <xs:element minOccurs="0" maxOccurs="1" name="RecommendedInstance">
    14781428                                            <xs:complexType>
    14791429                                                <xs:all>
    1480                                                   <xs:element minOccurs="1" maxOccurs="1"
    1481                                                   name="GUID">
    1482                                                   <xs:annotation>
    1483                                                   <xs:documentation xml:lang="en-us"> This GUID and
    1484                                                   the Version attribute uniquely identify the
    1485                                                   recommended Library Instance for this module .
    1486                                                   </xs:documentation>
    1487                                                   </xs:annotation>
    1488                                                   <xs:complexType>
    1489                                                   <xs:simpleContent>
    1490                                                   <xs:extension base="RegistryFormatGuid">
    1491                                                   <xs:attribute name="Version" type="xs:decimal"
    1492                                                   use="optional">
    1493                                                   <xs:annotation>
    1494                                                   <xs:documentation xml:lang="en-us"> This value,
    1495                                                   along with the GUID, is used to uniquely identify
    1496                                                   this object. </xs:documentation>
    1497                                                   </xs:annotation>
    1498                                                   </xs:attribute>
    1499                                                   </xs:extension>
    1500                                                   </xs:simpleContent>
    1501                                                   </xs:complexType>
    1502                                                   </xs:element>
     1430                                                    <xs:element minOccurs="1" maxOccurs="1" name="GUID">
     1431                                                        <xs:annotation>
     1432                                                            <xs:documentation xml:lang="en-us"> This GUID and the
     1433                                                            Version attribute uniquely identify the recommended Library
     1434                                                            Instance for this module . </xs:documentation>
     1435                                                        </xs:annotation>
     1436                                                        <xs:complexType>
     1437                                                            <xs:simpleContent>
     1438                                                            <xs:extension base="RegistryFormatGuid">
     1439                                                            <xs:attribute name="Version" type="xs:decimal"
     1440                                                            use="optional">
     1441                                                            <xs:annotation>
     1442                                                            <xs:documentation xml:lang="en-us"> This value, along with
     1443                                                            the GUID, is used to uniquely identify this object.
     1444                                                            </xs:documentation>
     1445                                                            </xs:annotation>
     1446                                                            </xs:attribute>
     1447                                                            </xs:extension>
     1448                                                            </xs:simpleContent>
     1449                                                        </xs:complexType>
     1450                                                    </xs:element>
    15031451                                                </xs:all>
    15041452                                            </xs:complexType>
    15051453                                        </xs:element>
    1506                                         <xs:element ref="HelpText" minOccurs="0"
    1507                                             maxOccurs="unbounded"/>
     1454                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
    15081455                                    </xs:sequence>
    15091456                                    <xs:attribute name="Usage" use="required">
    15101457                                        <xs:simpleType>
    15111458                                            <xs:annotation>
    1512                                                 <xs:documentation xml:lang="en-us"> Library
    1513                                                   instances can provide code for a library class, or
    1514                                                   may require other library instances themselves.
    1515                                                   Since different execution paths in a library (or
    1516                                                   module) may need different library classes based
    1517                                                   on some setting, library classes may not alway be
    1518                                                   required. </xs:documentation>
     1459                                                <xs:documentation xml:lang="en-us"> Library instances can provide code
     1460                                                    for a library class, or may require other library instances
     1461                                                    themselves. Since different execution paths in a library (or module)
     1462                                                    may need different library classes based on some setting, library
     1463                                                    classes may not alway be required. </xs:documentation>
    15191464                                            </xs:annotation>
    15201465                                            <xs:restriction base="xs:NCName">
     
    15281473
    15291474                                    <xs:attributeGroup ref="SupportedArchMod"/>
    1530                                     <xs:attribute name="FeatureFlag" type="xs:normalizedString"
    1531                                         use="optional">
     1475                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional">
    15321476                                        <xs:annotation>
    1533                                             <xs:documentation xml:lang="en-us"> A FeatureFlag
    1534                                                 attribute must evaluate to either true or false - it
    1535                                                 may be a fixed value of true or false, a C name or
    1536                                                 an in-fix expression. </xs:documentation>
     1477                                            <xs:documentation xml:lang="en-us"> A FeatureFlag attribute must evaluate to
     1478                                                either true or false - it may be a fixed value of true or false, a C
     1479                                                name or an in-fix expression. </xs:documentation>
    15371480                                        </xs:annotation>
    15381481                                    </xs:attribute>
     
    15501493                                <xs:annotation>
    15511494                                    <xs:documentation xml:lang="en-us"> This is the module relative
    1552                                         (ModuleProperties.Path) path and filename location within
    1553                                         the ZIP file. </xs:documentation>
     1495                                        (ModuleProperties.Path) path and filename location within the ZIP file.
     1496                                    </xs:documentation>
    15541497                                </xs:annotation>
    15551498                                <xs:complexType>
    15561499                                    <xs:simpleContent>
    15571500                                        <xs:extension base="xs:anyURI">
    1558                                             <xs:attribute name="Family" type="FamilyTypes"
    1559                                                 use="optional">
     1501                                            <xs:attribute name="Family" type="FamilyTypes" use="optional">
    15601502                                                <xs:annotation>
    1561                                                   <xs:documentation xml:lang="en-us"> The Family
    1562                                                   attribute is used to restrict usage to a given
    1563                                                   family of compilers, such as GCC or MSFT. Since
    1564                                                   not all code processing tools use the same syntax,
    1565                                                   especially for assembly, this field can be used to
    1566                                                   identify different syntax. </xs:documentation>
     1503                                                    <xs:documentation xml:lang="en-us"> The Family attribute is used to
     1504                                                        restrict usage to a given family of compilers, such as GCC or
     1505                                                        MSFT. Since not all code processing tools use the same syntax,
     1506                                                        especially for assembly, this field can be used to identify
     1507                                                        different syntax. </xs:documentation>
    15671508                                                </xs:annotation>
    15681509                                            </xs:attribute>
    1569                                             <xs:attribute name="SupArchList" type="ArchListType"
    1570                                                 use="optional"/>
    1571                                             <xs:attribute name="SupModList" type="ModuleListType"
    1572                                                 use="optional"/>
    1573                                             <xs:attribute name="FeatureFlag"
    1574                                                 type="xs:normalizedString" use="optional"/>
     1510                                            <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
     1511                                            <xs:attribute name="SupModList" type="ModuleListType" use="optional"/>
     1512                                            <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
    15751513                                        </xs:extension>
    15761514                                    </xs:simpleContent>
     
    15891527                                <xs:complexType>
    15901528                                    <xs:sequence>
    1591                                         <xs:element minOccurs="1" maxOccurs="unbounded"
    1592                                             name="Filename">
     1529                                        <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename">
    15931530                                            <xs:annotation>
    1594                                                 <xs:documentation xml:lang="en-us"> This is the
    1595                                                   module relative (ModuleProperties.Path) path and
    1596                                                   filename location within the ZIP file.
    1597                                                 </xs:documentation>
     1531                                                <xs:documentation xml:lang="en-us"> This is the module relative
     1532                                                    (ModuleProperties.Path) path and filename location within the ZIP
     1533                                                    file. </xs:documentation>
    15981534                                            </xs:annotation>
    15991535                                            <xs:complexType>
    16001536                                                <xs:simpleContent>
    1601                                                   <xs:extension base="xs:anyURI">
    1602                                                   <xs:attribute name="FileType" use="optional">
    1603                                                   <xs:simpleType>
    1604                                                   <xs:restriction base="xs:NCName">
    1605                                                   <xs:annotation>
    1606                                                   <xs:documentation xml:lang="en-us"> Binary file
    1607                                                   distribution is limited to UEFI/PI FFS leaf
    1608                                                   section file types. </xs:documentation>
    1609                                                   </xs:annotation>
    1610                                                   <xs:enumeration value="GUID"/>
    1611                                                   <xs:enumeration value="FREEFORM"/>
    1612                                                   <xs:enumeration value="UEFI_IMAGE"/>
    1613                                                   <xs:enumeration value="PE32">
    1614                                                   <xs:annotation>
    1615                                                   <xs:documentation xml:lang="en-us"> A UEFI/PI FFS
    1616                                                   Leaf section file type, not a raw PE32 file.
    1617                                                   </xs:documentation>
    1618                                                   </xs:annotation>
    1619                                                   </xs:enumeration>
    1620                                                   <xs:enumeration value="PIC"/>
    1621                                                   <xs:enumeration value="PEI_DEPEX"/>
    1622                                                   <xs:enumeration value="DXE_DEPEX"/>
    1623                                                   <xs:enumeration value="SMM_DEPEX"/>
    1624                                                   <xs:enumeration value="COMPAT16"/>
    1625                                                   <xs:enumeration value="DISPOSABLE"/>
    1626                                                   <xs:enumeration value="TE"/>
    1627                                                   <xs:enumeration value="VER"/>
    1628                                                   <xs:enumeration value="UI"/>
    1629                                                   <xs:enumeration value="BIN"/>
    1630                                                   <xs:enumeration value="FV"/>
    1631                                                   </xs:restriction>
    1632                                                   </xs:simpleType>
    1633                                                   </xs:attribute>
    1634                                                   <xs:attribute name="SupArchList"
    1635                                                   type="ArchListType" use="optional"/>
    1636                                                   <xs:attribute name="SupModList"
    1637                                                   type="ModuleListType" use="optional"/>
    1638                                                   <xs:attribute name="FeatureFlag"
    1639                                                   type="xs:normalizedString" use="optional"/>
    1640                                                   </xs:extension>
     1537                                                    <xs:extension base="xs:anyURI">
     1538                                                        <xs:attribute name="FileType" use="optional">
     1539                                                            <xs:simpleType>
     1540                                                            <xs:restriction base="xs:NCName">
     1541                                                            <xs:annotation>
     1542                                                            <xs:documentation xml:lang="en-us"> Binary file distribution
     1543                                                            is limited to UEFI/PI FFS leaf section file types.
     1544                                                            </xs:documentation>
     1545                                                            </xs:annotation>
     1546                                                            <xs:enumeration value="GUID"/>
     1547                                                            <xs:enumeration value="FREEFORM"/>
     1548                                                            <xs:enumeration value="UEFI_IMAGE"/>
     1549                                                            <xs:enumeration value="PE32">
     1550                                                            <xs:annotation>
     1551                                                            <xs:documentation xml:lang="en-us"> A UEFI/PI FFS Leaf
     1552                                                            section file type, not a raw PE32 file. </xs:documentation>
     1553                                                            </xs:annotation>
     1554                                                            </xs:enumeration>
     1555                                                            <xs:enumeration value="PIC"/>
     1556                                                            <xs:enumeration value="PEI_DEPEX"/>
     1557                                                            <xs:enumeration value="DXE_DEPEX"/>
     1558                                                            <xs:enumeration value="SMM_DEPEX"/>
     1559                                                            <xs:enumeration value="COMPAT16"/>
     1560                                                            <xs:enumeration value="DISPOSABLE"/>
     1561                                                            <xs:enumeration value="TE"/>
     1562                                                            <xs:enumeration value="VER"/>
     1563                                                            <xs:enumeration value="UI"/>
     1564                                                            <xs:enumeration value="BIN"/>
     1565                                                            <xs:enumeration value="FV"/>
     1566                                                            </xs:restriction>
     1567                                                            </xs:simpleType>
     1568                                                        </xs:attribute>
     1569                                                        <xs:attribute name="GUID" use="optional"
     1570                                                            type="RegistryFormatGuid"/>
     1571                                                        <xs:attribute name="SupArchList" type="ArchListType"
     1572                                                            use="optional"/>
     1573                                                        <xs:attribute name="SupModList" type="ModuleListType"
     1574                                                            use="optional"/>
     1575                                                        <xs:attribute name="FeatureFlag" type="xs:normalizedString"
     1576                                                            use="optional"/>
     1577                                                    </xs:extension>
    16411578                                                </xs:simpleContent>
    16421579                                            </xs:complexType>
    16431580                                        </xs:element>
    1644                                         <xs:element minOccurs="0" maxOccurs="unbounded"
    1645                                             name="AsBuilt">
     1581                                        <xs:element minOccurs="0" maxOccurs="unbounded" name="AsBuilt">
    16461582                                            <xs:annotation>
    1647                                                 <xs:documentation xml:lang="en-us"> This section
    1648                                                   contains information about how the module was
    1649                                                   coded, such as Compiler Tools, Flags, PCDs (only
    1650                                                   PatchPcd and/or PcdEx) and Library Class Instances
    1651                                                   used to build the binary. </xs:documentation>
     1583                                                <xs:documentation xml:lang="en-us"> This section contains information
     1584                                                    about how the module was coded, such as Compiler Tools, Flags, PCDs
     1585                                                    (only PatchPcd and/or PcdEx) and Library Class Instances used to
     1586                                                    build the binary. </xs:documentation>
    16521587                                            </xs:annotation>
    16531588                                            <xs:complexType>
    16541589                                                <xs:sequence>
    16551590
    1656                                                   <xs:element minOccurs="0" maxOccurs="unbounded"
    1657                                                   name="PatchPcdValue">
    1658                                                   <xs:annotation>
    1659                                                   <xs:documentation xml:lang="en-us"> The element is
    1660                                                   the Patchable PCD Value that was used during the
    1661                                                   build. </xs:documentation>
    1662                                                   </xs:annotation>
    1663                                                   <xs:complexType>
    1664                                                   <xs:sequence>
    1665                                                   <xs:element minOccurs="1" maxOccurs="1"
    1666                                                   name="TokenSpaceGuidValue"
    1667                                                   type="RegistryFormatGuid"/>
    1668                                                   <xs:element minOccurs="1" maxOccurs="1"
    1669                                                   name="PcdCName" type="xs:NCName"/>
    1670                                                   <xs:element minOccurs="1" maxOccurs="1"
    1671                                                   name="Token">
    1672                                                   <xs:annotation>
    1673                                                   <xs:documentation xml:lang="en-us"> The minLength
    1674                                                   of 3 is required to handle the "0x" prefix to the
    1675                                                   hex number. </xs:documentation>
    1676                                                   </xs:annotation>
    1677                                                   <xs:simpleType>
    1678                                                   <xs:restriction base="HexNumber">
    1679                                                   <xs:minLength value="3"/>
    1680                                                   <xs:maxLength value="10"/>
    1681                                                   </xs:restriction>
    1682                                                   </xs:simpleType>
    1683                                                   </xs:element>
    1684                                                   <xs:element minOccurs="1" maxOccurs="1"
    1685                                                   name="DatumType" type="PcdDatumTypes"/>
    1686                                                   <xs:element minOccurs="0" maxOccurs="1"
    1687                                                   name="MaxDatumSize">
    1688                                                   <xs:annotation>
    1689                                                   <xs:documentation xml:lang="en-us"> This field is
    1690                                                   required if the Pcd Datum Type is VOID* </xs:documentation>
    1691                                                   <xs:documentation xml:lang="en-us"> The minLength
    1692                                                   of 3 is required to handle the "0x" prefix to the
    1693                                                   hex number. </xs:documentation>
    1694                                                   </xs:annotation>
    1695                                                   <xs:simpleType>
    1696                                                   <xs:restriction base="HexNumber">
    1697                                                   <xs:minLength value="3"/>
    1698                                                   </xs:restriction>
    1699                                                   </xs:simpleType>
    1700                                                   </xs:element>
    1701                                                   <xs:element minOccurs="1" maxOccurs="1"
    1702                                                   name="Value" type="xs:normalizedString"/>
    1703                                                   <xs:element minOccurs="1" maxOccurs="1"
    1704                                                   name="Offset">
    1705                                                   <xs:annotation>
    1706                                                   <xs:documentation xml:lang="en-us"> The minLength
    1707                                                   of 3 is required to handle the "0x" prefix to the
    1708                                                   hex number. </xs:documentation>
    1709                                                   </xs:annotation>
    1710                                                   <xs:simpleType>
    1711                                                   <xs:restriction base="HexNumber">
    1712                                                   <xs:minLength value="3"/>
    1713                                                   </xs:restriction>
    1714                                                   </xs:simpleType>
    1715                                                   </xs:element>
    1716                                                   <xs:element ref="HelpText" minOccurs="0"
    1717                                                   maxOccurs="unbounded"/>
    1718                                                   <xs:element minOccurs="0" maxOccurs="unbounded"
    1719                                                   name="PcdError">
    1720                                                   <xs:annotation>
    1721                                                   <xs:documentation xml:lang="en-us"> Error
    1722                                                   information implemented by the module.
    1723                                                   </xs:documentation>
    1724                                                   </xs:annotation>
    1725                                                   <xs:complexType>
    1726                                                   <xs:sequence>
    1727                                                   <xs:element minOccurs="1" maxOccurs="1"
    1728                                                   name="ErrorNumber">
    1729                                                   <xs:annotation>
    1730                                                   <xs:documentation xml:lang="en-us"> The minLength
    1731                                                   of 3 is required to handle the "0x" prefix to the
    1732                                                   hex number. </xs:documentation>
    1733                                                   </xs:annotation>
    1734                                                   <xs:simpleType>
    1735                                                   <xs:restriction base="HexNumber">
    1736                                                   <xs:minLength value="3"/>
    1737                                                   </xs:restriction>
    1738                                                   </xs:simpleType>
    1739                                                   </xs:element>
    1740                                                   <xs:element minOccurs="0" maxOccurs="unbounded"
    1741                                                   name="ErrorMessage">
    1742                                                   <xs:complexType>
    1743                                                   <xs:simpleContent>
    1744                                                   <xs:extension base="xs:string">
    1745                                                   <xs:attribute name="Lang" type="xs:language"
    1746                                                   default="en-us" use="optional"/>
    1747                                                   </xs:extension>
    1748                                                   </xs:simpleContent>
    1749                                                   </xs:complexType>
    1750                                                   </xs:element>
    1751                                                   </xs:sequence>
    1752                                                   </xs:complexType>
    1753                                                   </xs:element>
    1754                                                   </xs:sequence>
    1755                                                   </xs:complexType>
    1756                                                   </xs:element>
    1757 
    1758                                                   <xs:element minOccurs="0" maxOccurs="unbounded"
    1759                                                   name="PcdExValue">
    1760                                                   <xs:annotation>
    1761                                                   <xs:documentation xml:lang="en-us"> The element is
    1762                                                   the DynamicEx PCD Value that was used during the
    1763                                                   build. </xs:documentation>
    1764                                                   </xs:annotation>
    1765                                                   <xs:complexType>
    1766                                                   <xs:sequence>
    1767                                                   <xs:element minOccurs="1" maxOccurs="1"
    1768                                                   name="TokenSpaceGuidValue"
    1769                                                   type="RegistryFormatGuid"/>
    1770                                                   <xs:element minOccurs="1" maxOccurs="1"
    1771                                                   name="Token">
    1772                                                   <xs:annotation>
    1773                                                   <xs:documentation xml:lang="en-us"> The minLength
    1774                                                   of 3 is required to handle the "0x" prefix to the
    1775                                                   hex number. </xs:documentation>
    1776                                                   </xs:annotation>
    1777                                                   <xs:simpleType>
    1778                                                   <xs:restriction base="HexNumber">
    1779                                                   <xs:minLength value="3"/>
    1780                                                   <xs:maxLength value="10"/>
    1781                                                   </xs:restriction>
    1782                                                   </xs:simpleType>
    1783                                                   </xs:element>
    1784                                                   <xs:element minOccurs="1" maxOccurs="1"
    1785                                                   name="DatumType" type="PcdDatumTypes"/>
    1786                                                   <xs:element minOccurs="0" maxOccurs="1"
    1787                                                   name="MaxDatumSize">
    1788                                                   <xs:annotation>
    1789                                                   <xs:documentation xml:lang="en-us"> This field is
    1790                                                   required if the Pcd Datum Type is VOID*
    1791                                                   </xs:documentation>
    1792                                                   </xs:annotation>
    1793                                                   <xs:simpleType>
    1794                                                   <xs:restriction base="HexNumber">
    1795                                                   <xs:minLength value="3"/>
    1796                                                   </xs:restriction>
    1797                                                   </xs:simpleType>
    1798                                                   </xs:element>
    1799                                                   <xs:element minOccurs="1" maxOccurs="1"
    1800                                                   name="Value" type="xs:normalizedString"/>
    1801                                                   <xs:element ref="HelpText" minOccurs="0"
    1802                                                   maxOccurs="unbounded"/>
    1803                                                   <xs:element minOccurs="0" maxOccurs="unbounded"
    1804                                                   name="PcdError">
    1805                                                   <xs:annotation>
    1806                                                   <xs:documentation xml:lang="en-us"> Error
    1807                                                   information implemented by the module.
    1808                                                   </xs:documentation>
    1809                                                   </xs:annotation>
    1810                                                   <xs:complexType>
    1811                                                   <xs:sequence>
    1812                                                   <xs:element minOccurs="1" maxOccurs="1"
    1813                                                   name="ErrorNumber">
    1814                                                   <xs:annotation>
    1815                                                   <xs:documentation xml:lang="en-us"> The minLength
    1816                                                   of 3 is required to handle the "0x" prefix to the
    1817                                                   hex number. </xs:documentation>
    1818                                                   </xs:annotation>
    1819                                                   <xs:simpleType>
    1820                                                   <xs:restriction base="HexNumber">
    1821                                                   <xs:minLength value="3"/>
    1822                                                   </xs:restriction>
    1823                                                   </xs:simpleType>
    1824                                                   </xs:element>
    1825                                                   <xs:element minOccurs="0" maxOccurs="unbounded"
    1826                                                   name="ErrorMessage">
    1827                                                   <xs:complexType>
    1828                                                   <xs:simpleContent>
    1829                                                   <xs:extension base="xs:string">
    1830                                                   <xs:attribute name="Lang" type="xs:language"
    1831                                                   default="en-us" use="optional"/>
    1832                                                   </xs:extension>
    1833                                                   </xs:simpleContent>
    1834                                                   </xs:complexType>
    1835                                                   </xs:element>
    1836                                                   </xs:sequence>
    1837                                                   </xs:complexType>
    1838                                                   </xs:element>
    1839                                                   </xs:sequence>
    1840                                                   </xs:complexType>
    1841                                                   </xs:element>
    1842 
    1843                                                   <xs:element minOccurs="0" maxOccurs="1"
    1844                                                   name="LibraryInstances">
    1845                                                   <xs:annotation>
    1846                                                   <xs:documentation xml:lang="en-us"> This is the
    1847                                                   actual library instance that was used to link
    1848                                                   against the module. </xs:documentation>
    1849                                                   </xs:annotation>
    1850                                                   <xs:complexType>
    1851                                                   <xs:sequence>
    1852                                                   <xs:element minOccurs="1" maxOccurs="unbounded"
    1853                                                   name="GUID">
    1854                                                   <xs:annotation>
    1855                                                   <xs:documentation xml:lang="en-us"> This GUID and
    1856                                                   the Version attribute uniquely identify the actual
    1857                                                   Library Instance linked in this module.
    1858                                                   </xs:documentation>
    1859                                                   </xs:annotation>
    1860                                                   <xs:complexType>
    1861                                                   <xs:simpleContent>
    1862                                                   <xs:extension base="RegistryFormatGuid">
    1863                                                   <xs:attribute name="Version" type="xs:decimal"
    1864                                                   use="required">
    1865                                                   <xs:annotation>
    1866                                                   <xs:documentation xml:lang="en-us"> This value,
    1867                                                   along with the GUID, is used to uniquely identify
    1868                                                   this object. </xs:documentation>
    1869                                                   </xs:annotation>
    1870                                                   </xs:attribute>
    1871                                                   </xs:extension>
    1872                                                   </xs:simpleContent>
    1873                                                   </xs:complexType>
    1874                                                   </xs:element>
    1875                                                   </xs:sequence>
    1876                                                   </xs:complexType>
    1877                                                   </xs:element>
    1878 
    1879                                                   <xs:element minOccurs="0" maxOccurs="unbounded"
    1880                                                   name="BuildFlags">
    1881                                                   <xs:complexType mixed="true">
    1882                                                   <xs:simpleContent>
    1883                                                   <xs:annotation>
    1884                                                   <xs:documentation xml:lang="en-us"> Any
    1885                                                   description of OS, Tool, and flags for the
    1886                                                   individual tool can go in this section.
    1887                                                   </xs:documentation>
    1888                                                   </xs:annotation>
    1889                                                   <xs:extension base="xs:string">
    1890                                                   <xs:anyAttribute processContents="lax"/>
    1891                                                   </xs:extension>
    1892                                                   </xs:simpleContent>
    1893                                                   </xs:complexType>
    1894                                                   </xs:element>
     1591                                                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PatchPcdValue">
     1592                                                        <xs:annotation>
     1593                                                            <xs:documentation xml:lang="en-us"> The element is the
     1594                                                            Patchable PCD Value that was used during the build.
     1595                                                            </xs:documentation>
     1596                                                        </xs:annotation>
     1597                                                        <xs:complexType>
     1598                                                            <xs:sequence>
     1599                                                            <xs:element minOccurs="1" maxOccurs="1"
     1600                                                            name="TokenSpaceGuidValue" type="RegistryFormatGuid"/>
     1601                                                            <xs:element minOccurs="1" maxOccurs="1" name="PcdCName"
     1602                                                            type="xs:NCName"/>
     1603                                                            <xs:element minOccurs="1" maxOccurs="1" name="Token">
     1604                                                            <xs:annotation>
     1605                                                            <xs:documentation xml:lang="en-us"> The minLength of 3 is
     1606                                                            required to handle the "0x" prefix to the hex number.
     1607                                                            </xs:documentation>
     1608                                                            </xs:annotation>
     1609                                                            <xs:simpleType>
     1610                                                            <xs:restriction base="HexNumber">
     1611                                                            <xs:minLength value="3"/>
     1612                                                            <xs:maxLength value="10"/>
     1613                                                            </xs:restriction>
     1614                                                            </xs:simpleType>
     1615                                                            </xs:element>
     1616                                                            <xs:element minOccurs="1" maxOccurs="1" name="DatumType"
     1617                                                            type="PcdDatumTypes"/>
     1618                                                            <xs:element minOccurs="0" maxOccurs="1" name="MaxDatumSize">
     1619                                                            <xs:annotation>
     1620                                                            <xs:documentation xml:lang="en-us"> This field is required
     1621                                                            if the Pcd Datum Type is VOID* </xs:documentation>
     1622                                                            <xs:documentation xml:lang="en-us"> The minLength of 3 is
     1623                                                            required to handle the "0x" prefix to the hex number.
     1624                                                            </xs:documentation>
     1625                                                            </xs:annotation>
     1626                                                            <xs:simpleType>
     1627                                                            <xs:restriction base="HexNumber">
     1628                                                            <xs:minLength value="3"/>
     1629                                                            </xs:restriction>
     1630                                                            </xs:simpleType>
     1631                                                            </xs:element>
     1632                                                            <xs:element minOccurs="1" maxOccurs="1" name="Value"
     1633                                                            type="xs:normalizedString"/>
     1634                                                            <xs:element minOccurs="1" maxOccurs="1" name="Offset">
     1635                                                            <xs:annotation>
     1636                                                            <xs:documentation xml:lang="en-us"> The minLength of 3 is
     1637                                                            required to handle the "0x" prefix to the hex number.
     1638                                                            </xs:documentation>
     1639                                                            </xs:annotation>
     1640                                                            <xs:simpleType>
     1641                                                            <xs:restriction base="HexNumber">
     1642                                                            <xs:minLength value="3"/>
     1643                                                            </xs:restriction>
     1644                                                            </xs:simpleType>
     1645                                                            </xs:element>
     1646                                                            <xs:element ref="HelpText" minOccurs="0"
     1647                                                            maxOccurs="unbounded"/>
     1648                                                            <xs:element minOccurs="0" maxOccurs="unbounded"
     1649                                                            name="PcdError">
     1650                                                            <xs:annotation>
     1651                                                            <xs:documentation xml:lang="en-us"> Error information
     1652                                                            implemented by the module. </xs:documentation>
     1653                                                            </xs:annotation>
     1654                                                            <xs:complexType>
     1655                                                            <xs:sequence>
     1656                                                            <xs:choice>
     1657                                                              <xs:element minOccurs="0" maxOccurs="1" name="ValidValueList">
     1658                                                                <xs:complexType>
     1659                                                                  <xs:simpleContent>
     1660                                                                    <xs:extension base="xs:normalizedString">
     1661                                                                    <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"/>
     1662                                                                    </xs:extension>
     1663                                                                  </xs:simpleContent>
     1664                                                                </xs:complexType>
     1665                                                              </xs:element>
     1666                                                              <xs:element minOccurs="0" maxOccurs="1" name="ValidValueRange" type="xs:normalizedString"/>
     1667                                                              <xs:element minOccurs="0" maxOccurs="1" name="Expression" type="xs:normalizedString"/>
     1668                                                            </xs:choice>
     1669                                                            <xs:element minOccurs="1" maxOccurs="1" name="ErrorNumber">
     1670                                                            <xs:annotation>
     1671                                                            <xs:documentation xml:lang="en-us"> The minLength of 3 is
     1672                                                            required to handle the "0x" prefix to the hex number.
     1673                                                            </xs:documentation>
     1674                                                            </xs:annotation>
     1675                                                            <xs:simpleType>
     1676                                                            <xs:restriction base="HexNumber">
     1677                                                            <xs:minLength value="3"/>
     1678                                                            </xs:restriction>
     1679                                                            </xs:simpleType>
     1680                                                            </xs:element>
     1681                                                            <xs:element minOccurs="0" maxOccurs="unbounded"
     1682                                                            name="ErrorMessage">
     1683                                                            <xs:complexType>
     1684                                                            <xs:simpleContent>
     1685                                                            <xs:extension base="xs:string">
     1686                                                            <xs:attribute name="Lang" type="xs:language" default="en-us"
     1687                                                            use="optional"/>
     1688                                                            </xs:extension>
     1689                                                            </xs:simpleContent>
     1690                                                            </xs:complexType>
     1691                                                            </xs:element>
     1692                                                            </xs:sequence>
     1693                                                            </xs:complexType>
     1694                                                            </xs:element>
     1695                                                            </xs:sequence>
     1696                                                        </xs:complexType>
     1697                                                    </xs:element>
     1698
     1699                                                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PcdExValue">
     1700                                                        <xs:annotation>
     1701                                                            <xs:documentation xml:lang="en-us"> The element is the
     1702                                                            DynamicEx PCD Value that was used during the build.
     1703                                                            </xs:documentation>
     1704                                                        </xs:annotation>
     1705                                                        <xs:complexType>
     1706                                                            <xs:sequence>
     1707                                                            <xs:element minOccurs="1" maxOccurs="1"
     1708                                                            name="TokenSpaceGuidValue" type="RegistryFormatGuid"/>
     1709                                                            <xs:element minOccurs="1" maxOccurs="1" name="Token">
     1710                                                            <xs:annotation>
     1711                                                            <xs:documentation xml:lang="en-us"> The minLength of 3 is
     1712                                                            required to handle the "0x" prefix to the hex number.
     1713                                                            </xs:documentation>
     1714                                                            </xs:annotation>
     1715                                                            <xs:simpleType>
     1716                                                            <xs:restriction base="HexNumber">
     1717                                                            <xs:minLength value="3"/>
     1718                                                            <xs:maxLength value="10"/>
     1719                                                            </xs:restriction>
     1720                                                            </xs:simpleType>
     1721                                                            </xs:element>
     1722                                                            <xs:element minOccurs="1" maxOccurs="1" name="DatumType"
     1723                                                            type="PcdDatumTypes"/>
     1724                                                            <xs:element minOccurs="0" maxOccurs="1" name="MaxDatumSize">
     1725                                                            <xs:annotation>
     1726                                                            <xs:documentation xml:lang="en-us"> This field is required
     1727                                                            if the Pcd Datum Type is VOID* </xs:documentation>
     1728                                                            </xs:annotation>
     1729                                                            <xs:simpleType>
     1730                                                            <xs:restriction base="HexNumber">
     1731                                                            <xs:minLength value="3"/>
     1732                                                            </xs:restriction>
     1733                                                            </xs:simpleType>
     1734                                                            </xs:element>
     1735                                                            <xs:element minOccurs="1" maxOccurs="1" name="Value"
     1736                                                            type="xs:normalizedString"/>
     1737                                                            <xs:element ref="HelpText" minOccurs="0"
     1738                                                            maxOccurs="unbounded"/>
     1739                                                            <xs:element minOccurs="0" maxOccurs="unbounded"
     1740                                                            name="PcdError">
     1741                                                            <xs:annotation>
     1742                                                            <xs:documentation xml:lang="en-us"> Error information
     1743                                                            implemented by the module. </xs:documentation>
     1744                                                            </xs:annotation>
     1745                                                            <xs:complexType>
     1746                                                            <xs:sequence>
     1747                                                            <xs:choice>
     1748                                                              <xs:element minOccurs="0" maxOccurs="1" name="ValidValueList">
     1749                                                                <xs:complexType>
     1750                                                                  <xs:simpleContent>
     1751                                                                    <xs:extension base="xs:normalizedString">
     1752                                                                    <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"/>
     1753                                                                      </xs:extension>
     1754                                                                  </xs:simpleContent>
     1755                                                                </xs:complexType>
     1756                                                              </xs:element>
     1757                                                              <xs:element minOccurs="0" maxOccurs="1" name="ValidValueRange" type="xs:normalizedString"/>
     1758                                                              <xs:element minOccurs="0" maxOccurs="1" name="Expression" type="xs:normalizedString"/>
     1759                                                            </xs:choice>
     1760                                                            <xs:element minOccurs="1" maxOccurs="1" name="ErrorNumber">
     1761                                                            <xs:annotation>
     1762                                                            <xs:documentation xml:lang="en-us"> The minLength of 3 is
     1763                                                            required to handle the "0x" prefix to the hex number.
     1764                                                            </xs:documentation>
     1765                                                            </xs:annotation>
     1766                                                            <xs:simpleType>
     1767                                                            <xs:restriction base="HexNumber">
     1768                                                            <xs:minLength value="3"/>
     1769                                                            </xs:restriction>
     1770                                                            </xs:simpleType>
     1771                                                            </xs:element>
     1772                                                            <xs:element minOccurs="0" maxOccurs="unbounded"
     1773                                                            name="ErrorMessage">
     1774                                                            <xs:complexType>
     1775                                                            <xs:simpleContent>
     1776                                                            <xs:extension base="xs:string">
     1777                                                            <xs:attribute name="Lang" type="xs:language" default="en-us"
     1778                                                            use="optional"/>
     1779                                                            </xs:extension>
     1780                                                            </xs:simpleContent>
     1781                                                            </xs:complexType>
     1782                                                            </xs:element>
     1783                                                            </xs:sequence>
     1784                                                            </xs:complexType>
     1785                                                            </xs:element>
     1786                                                            </xs:sequence>
     1787                                                        </xs:complexType>
     1788                                                    </xs:element>
     1789
     1790                                                    <xs:element minOccurs="0" maxOccurs="1" name="LibraryInstances">
     1791                                                        <xs:annotation>
     1792                                                            <xs:documentation xml:lang="en-us"> This is the actual
     1793                                                            library instance that was used to link against the module.
     1794                                                            </xs:documentation>
     1795                                                        </xs:annotation>
     1796                                                        <xs:complexType>
     1797                                                            <xs:sequence>
     1798                                                            <xs:element minOccurs="1" maxOccurs="unbounded" name="GUID">
     1799                                                            <xs:annotation>
     1800                                                            <xs:documentation xml:lang="en-us"> This GUID and the
     1801                                                            Version attribute uniquely identify the actual Library
     1802                                                            Instance linked in this module. </xs:documentation>
     1803                                                            </xs:annotation>
     1804                                                            <xs:complexType>
     1805                                                            <xs:simpleContent>
     1806                                                            <xs:extension base="RegistryFormatGuid">
     1807                                                            <xs:attribute name="Version" type="xs:decimal"
     1808                                                            use="required">
     1809                                                            <xs:annotation>
     1810                                                            <xs:documentation xml:lang="en-us"> This value, along with
     1811                                                            the GUID, is used to uniquely identify this object.
     1812                                                            </xs:documentation>
     1813                                                            </xs:annotation>
     1814                                                            </xs:attribute>
     1815                                                            </xs:extension>
     1816                                                            </xs:simpleContent>
     1817                                                            </xs:complexType>
     1818                                                            </xs:element>
     1819                                                            </xs:sequence>
     1820                                                        </xs:complexType>
     1821                                                    </xs:element>
     1822
     1823                                                    <xs:element minOccurs="0" maxOccurs="unbounded" name="BuildFlags">
     1824                                                        <xs:complexType mixed="true">
     1825                                                            <xs:simpleContent>
     1826                                                            <xs:annotation>
     1827                                                            <xs:documentation xml:lang="en-us"> Any description of OS,
     1828                                                            Tool, and flags for the individual tool can go in this
     1829                                                            section. </xs:documentation>
     1830                                                            </xs:annotation>
     1831                                                            <xs:extension base="xs:string">
     1832                                                            <xs:anyAttribute processContents="lax"/>
     1833                                                            </xs:extension>
     1834                                                            </xs:simpleContent>
     1835                                                        </xs:complexType>
     1836                                                    </xs:element>
    18951837                                                </xs:sequence>
    18961838                                            </xs:complexType>
    18971839                                        </xs:element>
    18981840                                        <!-- End of AsBuilt -->
    1899                                         <xs:element ref="HelpText" minOccurs="0"
    1900                                             maxOccurs="unbounded"/>
     1841                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
    19011842                                    </xs:sequence>
    19021843                                </xs:complexType>
     
    19141855                                <xs:complexType>
    19151856                                    <xs:sequence>
    1916                                         <xs:element minOccurs="0" maxOccurs="unbounded"
    1917                                             name="Description">
     1857                                        <xs:element minOccurs="0" maxOccurs="unbounded" name="Description">
    19181858                                            <xs:complexType>
    19191859                                                <xs:simpleContent>
    1920                                                   <xs:extension base="xs:string">
    1921                                                   <xs:attribute name="Lang" type="xs:language"
    1922                                                   default="en-us" use="optional"/>
    1923                                                   </xs:extension>
     1860                                                    <xs:extension base="xs:string">
     1861                                                        <xs:attribute name="Lang" type="xs:language" default="en-us"
     1862                                                            use="optional"/>
     1863                                                    </xs:extension>
    19241864                                                </xs:simpleContent>
    19251865                                            </xs:complexType>
     
    19271867                                        <xs:element minOccurs="1" maxOccurs="1" name="GUID">
    19281868                                            <xs:annotation>
    1929                                                 <xs:documentation xml:lang="en-us"> This GUID and
    1930                                                   the Version attribute uniquely identify Package
    1931                                                   that this Module depends on. </xs:documentation>
     1869                                                <xs:documentation xml:lang="en-us"> This GUID and the Version attribute
     1870                                                    uniquely identify Package that this Module depends on.
     1871                                                </xs:documentation>
    19321872                                            </xs:annotation>
    19331873                                            <xs:complexType>
    19341874                                                <xs:simpleContent>
    1935                                                   <xs:extension base="RegistryFormatGuid">
    1936                                                   <xs:attribute name="Version" type="xs:decimal"
    1937                                                   use="optional">
    1938                                                   <xs:annotation>
    1939                                                   <xs:documentation xml:lang="en-us"> This value,
    1940                                                   along with the GUID, is used to uniquely identify
    1941                                                   this object. If the version attribute is not
    1942                                                   specified, the most recent version of the package
    1943                                                   can be used. </xs:documentation>
    1944                                                   </xs:annotation>
    1945                                                   </xs:attribute>
    1946                                                   </xs:extension>
     1875                                                    <xs:extension base="RegistryFormatGuid">
     1876                                                        <xs:attribute name="Version" type="xs:decimal" use="optional">
     1877                                                            <xs:annotation>
     1878                                                            <xs:documentation xml:lang="en-us"> This value, along with
     1879                                                            the GUID, is used to uniquely identify this object. If the
     1880                                                            version attribute is not specified, the most recent version
     1881                                                            of the package can be used. </xs:documentation>
     1882                                                            </xs:annotation>
     1883                                                        </xs:attribute>
     1884                                                    </xs:extension>
    19471885                                                </xs:simpleContent>
    19481886                                            </xs:complexType>
    19491887                                        </xs:element>
    19501888                                    </xs:sequence>
    1951                                     <xs:attribute name="SupArchList" type="ArchListType"
    1952                                         use="optional"/>
    1953                                     <xs:attribute name="SupModList" type="ModuleListType"
    1954                                         use="optional"/>
    1955                                     <xs:attribute name="FeatureFlag" type="xs:normalizedString"
    1956                                         use="optional"/>
     1889                                    <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
     1890                                    <xs:attribute name="SupModList" type="ModuleListType" use="optional"/>
     1891                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
    19571892                                </xs:complexType>
    19581893                            </xs:element>
     
    19681903                                <xs:complexType>
    19691904                                    <xs:sequence>
    1970                                         <xs:element minOccurs="1" maxOccurs="1" name="CName"
    1971                                             type="xs:NCName"/>
     1905                                        <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/>
     1906                                        <xs:element minOccurs="0" maxOccurs="1" name="GUID" type="RegistryFormatGuid"/>
    19721907                                        <xs:element minOccurs="0" maxOccurs="1" name="VariableName"
    19731908                                            type="xs:normalizedString">
    19741909                                            <xs:annotation>
    1975                                                 <xs:documentation xml:lang="en-us"> Only valid for
    1976                                                   Variable GUID types. </xs:documentation>
    1977                                                 <xs:documentation> This can be either a Hex Array or
    1978                                                   C string in unicode format: L"string" Data.
    1979                                                 </xs:documentation>
     1910                                                <xs:documentation xml:lang="en-us"> Only valid for Variable GUID types. </xs:documentation>
     1911                                                <xs:documentation> This can be either a Hex Array or C string in unicode
     1912                                                    format: L"string" Data. </xs:documentation>
    19801913                                            </xs:annotation>
    19811914                                        </xs:element>
    1982                                         <xs:element ref="HelpText" minOccurs="0"
    1983                                             maxOccurs="unbounded"/>
     1915                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
    19841916                                    </xs:sequence>
    19851917                                    <xs:attribute name="Usage" use="required">
     
    19871919                                            <xs:restriction base="xs:NCName">
    19881920                                                <xs:enumeration value="CONSUMES">
    1989                                                   <xs:annotation>
    1990                                                   <xs:documentation xml:lang="en-us">The module does
    1991                                                   not install the GUID, and the GUID must be present
    1992                                                   for the module to execute. </xs:documentation>
    1993                                                   </xs:annotation>
     1921                                                    <xs:annotation>
     1922                                                        <xs:documentation xml:lang="en-us">The module does not install
     1923                                                            the GUID, and the GUID must be present for the module to
     1924                                                            execute. </xs:documentation>
     1925                                                    </xs:annotation>
    19941926                                                </xs:enumeration>
    19951927                                                <xs:enumeration value="SOMETIMES_CONSUMES">
    1996                                                   <xs:annotation>
    1997                                                   <xs:documentation xml:lang="en-us"> The module
    1998                                                   does not install the GUID, however, the GUID will
    1999                                                   be used if it is present. </xs:documentation>
    2000                                                   </xs:annotation>
     1928                                                    <xs:annotation>
     1929                                                        <xs:documentation xml:lang="en-us"> The module does not install
     1930                                                            the GUID, however, the GUID will be used if it is present.
     1931                                                        </xs:documentation>
     1932                                                    </xs:annotation>
    20011933                                                </xs:enumeration>
    20021934                                                <xs:enumeration value="PRODUCES">
    2003                                                   <xs:annotation>
    2004                                                   <xs:documentation xml:lang="en-us"> The module
    2005                                                   always installs the GUID. </xs:documentation>
    2006                                                   </xs:annotation>
     1935                                                    <xs:annotation>
     1936                                                        <xs:documentation xml:lang="en-us"> The module always installs
     1937                                                            the GUID. </xs:documentation>
     1938                                                    </xs:annotation>
    20071939                                                </xs:enumeration>
    20081940                                                <xs:enumeration value="SOMETIMES_PRODUCES">
    2009                                                   <xs:annotation>
    2010                                                   <xs:documentation xml:lang="en-us"> The Module
    2011                                                   will install the GUID under certain execution
    2012                                                   paths. </xs:documentation>
    2013                                                   </xs:annotation>
     1941                                                    <xs:annotation>
     1942                                                        <xs:documentation xml:lang="en-us"> The Module will install the
     1943                                                            GUID under certain execution paths. </xs:documentation>
     1944                                                    </xs:annotation>
    20141945                                                </xs:enumeration>
    20151946                                                <xs:enumeration value="UNDEFINED">
    2016                                                   <xs:annotation>
    2017                                                   <xs:documentation xml:lang="en-us"> The package
    2018                                                   creator knows that a GUID is used, but does not
    2019                                                   know how it is used. </xs:documentation>
    2020                                                   </xs:annotation>
     1947                                                    <xs:annotation>
     1948                                                        <xs:documentation xml:lang="en-us"> The package creator knows
     1949                                                            that a GUID is used, but does not know how it is used.
     1950                                                        </xs:documentation>
     1951                                                    </xs:annotation>
    20211952                                                </xs:enumeration>
    20221953                                            </xs:restriction>
     
    20241955                                    </xs:attribute>
    20251956                                    <xs:attribute name="GuidType" type="GuidListType" use="required"/>
    2026                                     <xs:attribute name="SupArchList" type="ArchListType"
    2027                                         use="optional"/>
    2028                                     <xs:attribute name="SupModList" type="ModuleListType"
    2029                                         use="optional"/>
    2030                                     <xs:attribute name="FeatureFlag" type="xs:normalizedString"
    2031                                         use="optional"/>
     1957                                    <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
     1958                                    <xs:attribute name="SupModList" type="ModuleListType" use="optional"/>
     1959                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
    20321960                                </xs:complexType>
    20331961                            </xs:element>
     
    20391967                <xs:element minOccurs="0" maxOccurs="1" name="Protocols">
    20401968                    <xs:annotation>
    2041                         <xs:documentation xml:lang="en-us"> A listing of protocols required or
    2042                             produced by this module. </xs:documentation>
    2043                     </xs:annotation>
    2044                     <xs:complexType>
    2045                         <xs:sequence>
    2046                             <xs:element minOccurs="1" maxOccurs="unbounded" name="Protocol"
    2047                                 nillable="true">
     1969                        <xs:documentation xml:lang="en-us"> A listing of protocols required or produced by this module.
     1970                        </xs:documentation>
     1971                    </xs:annotation>
     1972                    <xs:complexType>
     1973                        <xs:sequence>
     1974                            <xs:element minOccurs="1" maxOccurs="unbounded" name="Protocol" nillable="true">
    20481975                                <xs:complexType>
    20491976                                    <xs:sequence>
    2050                                         <xs:element minOccurs="1" maxOccurs="1" name="CName"
    2051                                             type="xs:NCName"/>
    2052                                         <xs:element ref="HelpText" minOccurs="0"
    2053                                             maxOccurs="unbounded"/>
     1977                                        <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/>
     1978                                        <xs:element minOccurs="0" maxOccurs="1" name="GUID" type="RegistryFormatGuid"/>                                       
     1979                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
    20541980                                    </xs:sequence>
    20551981                                    <xs:attribute name="Usage" use="required">
     
    20671993                                    </xs:attribute>
    20681994                                    <xs:attribute name="Notify" type="xs:boolean" use="optional"/>
    2069                                     <xs:attribute name="SupArchList" type="ArchListType"
    2070                                         use="optional"/>
    2071                                     <xs:attribute name="SupModList" type="ModuleListType"
    2072                                         use="optional"/>
    2073                                     <xs:attribute name="FeatureFlag" type="xs:normalizedString"
    2074                                         use="optional"/>
     1995                                    <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
     1996                                    <xs:attribute name="SupModList" type="ModuleListType" use="optional"/>
     1997                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
    20751998                                </xs:complexType>
    20761999                            </xs:element>
     
    20822005                <xs:element minOccurs="0" maxOccurs="1" name="PPIs">
    20832006                    <xs:annotation>
    2084                         <xs:documentation xml:lang="en-us"> A listing of PPIs required or produced
    2085                             by this module. </xs:documentation>
    2086                     </xs:annotation>
    2087                     <xs:complexType>
    2088                         <xs:sequence>
    2089                             <xs:element minOccurs="1" maxOccurs="unbounded" name="Ppi"
    2090                                 nillable="true">
     2007                        <xs:documentation xml:lang="en-us"> A listing of PPIs required or produced by this module.
     2008                        </xs:documentation>
     2009                    </xs:annotation>
     2010                    <xs:complexType>
     2011                        <xs:sequence>
     2012                            <xs:element minOccurs="1" maxOccurs="unbounded" name="Ppi" nillable="true">
    20912013                                <xs:complexType>
    20922014                                    <xs:sequence>
    2093                                         <xs:element minOccurs="1" maxOccurs="1" name="CName"
    2094                                             type="xs:NCName"/>
    2095                                         <xs:element ref="HelpText" minOccurs="0"
    2096                                             maxOccurs="unbounded"/>
     2015                                        <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/>
     2016                                        <xs:element minOccurs="0" maxOccurs="1" name="GUID" type="RegistryFormatGuid"/>                                       
     2017                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
    20972018                                    </xs:sequence>
    20982019                                    <xs:attribute name="Usage" use="required">
     
    21082029                                    </xs:attribute>
    21092030                                    <xs:attribute name="Notify" type="xs:boolean" use="optional"/>
    2110                                     <xs:attribute name="SupArchList" type="ArchListType"
    2111                                         use="optional"/>
    2112                                     <xs:attribute name="SupModList" type="ModuleListType"
    2113                                         use="optional"/>
    2114                                     <xs:attribute name="FeatureFlag" type="xs:normalizedString"
    2115                                         use="optional"/>
     2031                                    <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
     2032                                    <xs:attribute name="SupModList" type="ModuleListType" use="optional"/>
     2033                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
    21162034                                </xs:complexType>
    21172035                            </xs:element>
     
    21232041                <xs:element minOccurs="0" maxOccurs="1" name="Externs">
    21242042                    <xs:annotation>
    2125                         <xs:documentation xml:lang="en-us"> These elements specify additional
    2126                             information about the module. This area may be used by tools to generate
    2127                             code. </xs:documentation>
     2043                        <xs:documentation xml:lang="en-us"> These elements specify additional information about the
     2044                            module. This area may be used by tools to generate code. </xs:documentation>
    21282045                    </xs:annotation>
    21292046                    <xs:complexType>
     
    21342051                                        <xs:choice minOccurs="1">
    21352052                                            <xs:sequence>
    2136                                                 <xs:element minOccurs="0" maxOccurs="1"
    2137                                                   name="EntryPoint" type="xs:NCName"/>
    2138                                                 <xs:element minOccurs="0" maxOccurs="1"
    2139                                                   name="UnloadImage" type="xs:NCName"/>
     2053                                                <xs:element minOccurs="0" maxOccurs="1" name="EntryPoint"
     2054                                                    type="xs:NCName"/>
     2055                                                <xs:element minOccurs="0" maxOccurs="1" name="UnloadImage"
     2056                                                    type="xs:NCName"/>
    21402057                                            </xs:sequence>
    21412058                                            <xs:sequence>
    2142                                                 <xs:element minOccurs="0" maxOccurs="1"
    2143                                                   name="Constructor" type="xs:NCName"/>
    2144                                                 <xs:element minOccurs="0" maxOccurs="1"
    2145                                                   name="Destructor" type="xs:NCName"/>
     2059                                                <xs:element minOccurs="0" maxOccurs="1" name="Constructor"
     2060                                                    type="xs:NCName"/>
     2061                                                <xs:element minOccurs="0" maxOccurs="1" name="Destructor"
     2062                                                    type="xs:NCName"/>
    21462063                                            </xs:sequence>
    21472064                                        </xs:choice>
    21482065                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="1"/>
    21492066                                    </xs:sequence>
    2150                                     <xs:attribute name="SupArchList" type="ArchListType"
    2151                                         use="optional"/>
    2152                                     <xs:attribute name="SupModList" type="ModuleListType"
    2153                                         use="optional"/>
    2154                                     <xs:attribute name="FeatureFlag" type="xs:normalizedString"
    2155                                         use="optional"/>
     2067                                    <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
     2068                                    <xs:attribute name="SupModList" type="ModuleListType" use="optional"/>
     2069                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
    21562070                                </xs:complexType>
    21572071                            </xs:element>
     
    21632077                <xs:element minOccurs="0" maxOccurs="1" name="PcdCoded">
    21642078                    <xs:annotation>
    2165                         <xs:documentation xml:lang="en-us"> This section describes how a platform is
    2166                             coded with respect to the platform configuration knobs.
    2167                         </xs:documentation>
     2079                        <xs:documentation xml:lang="en-us"> This section describes how a platform is coded with respect
     2080                            to the platform configuration knobs. </xs:documentation>
    21682081                    </xs:annotation>
    21692082                    <xs:complexType>
     
    21722085                                <xs:complexType>
    21732086                                    <xs:sequence>
    2174                                         <xs:element minOccurs="1" maxOccurs="1" name="CName"
     2087                                        <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/>
     2088                                        <xs:element minOccurs="1" maxOccurs="1" name="TokenSpaceGuidCName"
    21752089                                            type="xs:NCName"/>
    2176                                         <xs:element minOccurs="1" maxOccurs="1"
    2177                                             name="TokenSpaceGuidCName" type="xs:NCName"/>
    21782090                                        <xs:element minOccurs="0" maxOccurs="1" name="DefaultValue"
    21792091                                            type="xs:normalizedString"/>
    2180                                         <xs:element ref="HelpText" minOccurs="0"
    2181                                             maxOccurs="unbounded"/>
     2092                                        <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
    21822093                                    </xs:sequence>
    2183                                     <xs:attribute name="PcdItemType" type="PcdItemTypes"
    2184                                         use="required"/>
     2094                                    <xs:attribute name="PcdItemType" type="PcdItemTypes" use="required"/>
    21852095                                    <xs:attribute name="PcdUsage" use="required">
    21862096                                        <xs:simpleType>
     
    21962106
    21972107                                    </xs:attribute>
    2198                                     <xs:attribute name="SupArchList" type="ArchListType"
    2199                                         use="optional"/>
    2200                                     <xs:attribute name="SupModList" type="ModuleListType"
    2201                                         use="optional"/>
    2202                                     <xs:attribute name="FeatureFlag" type="xs:normalizedString"
    2203                                         use="optional"/>
     2108                                    <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
     2109                                    <xs:attribute name="SupModList" type="ModuleListType" use="optional"/>
     2110                                    <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
    22042111                                </xs:complexType>
    22052112                            </xs:element>
     
    22112118                <xs:element minOccurs="0" maxOccurs="unbounded" name="PeiDepex">
    22122119                    <xs:annotation>
    2213                         <xs:documentation xml:lang="en-us"> This is the PEI dependency expression
    2214                             for a Dependency Section. </xs:documentation>
    2215                     </xs:annotation>
    2216                     <xs:complexType>
    2217                         <xs:sequence>
    2218                             <xs:element name="Expression" type="xs:string" minOccurs="1"
    2219                                 maxOccurs="1">
    2220                                 <xs:annotation>
    2221                                     <xs:documentation xml:lang="en-us"> An in-fix expression, of C
    2222                                         identifiers and TRUE, FALSE, AND, OR, NOT, BEFORE, and AFTER
    2223                                         as well as parenthesis () in the in-fix notation. The
    2224                                         operators are restricted to grammar defined in the PI
     2120                        <xs:documentation xml:lang="en-us"> This is the PEI dependency expression for a Dependency
     2121                            Section. </xs:documentation>
     2122                    </xs:annotation>
     2123                    <xs:complexType>
     2124                        <xs:sequence>
     2125                            <xs:element name="Expression" type="xs:string" minOccurs="1" maxOccurs="1">
     2126                                <xs:annotation>
     2127                                    <xs:documentation xml:lang="en-us"> An in-fix expression, of C identifiers and TRUE,
     2128                                        FALSE, AND, OR, NOT, BEFORE, and AFTER as well as parenthesis () in the in-fix
     2129                                        notation. The operators are restricted to grammar defined in the PI
    22252130                                        specification. </xs:documentation>
    22262131                                </xs:annotation>
     
    22372142                <xs:element minOccurs="0" maxOccurs="unbounded" name="DxeDepex">
    22382143                    <xs:annotation>
    2239                         <xs:documentation xml:lang="en-us"> This is the DXE dependency expression
    2240                             for a Dependency Section. </xs:documentation>
    2241                     </xs:annotation>
    2242                     <xs:complexType>
    2243                         <xs:sequence>
    2244                             <xs:element name="Expression" type=" xs:string " minOccurs="1"
    2245                                 maxOccurs="1">
    2246                                 <xs:annotation>
    2247                                     <xs:documentation xml:lang="en-us"> An in-fix expression, of C
    2248                                         identifiers and TRUE, FALSE, AND, OR, NOT, BEFORE, and AFTER
    2249                                         as well as parenthesis () in the in-fix notation. The
    2250                                         operators are restricted to grammar defined in the PI
     2144                        <xs:documentation xml:lang="en-us"> This is the DXE dependency expression for a Dependency
     2145                            Section. </xs:documentation>
     2146                    </xs:annotation>
     2147                    <xs:complexType>
     2148                        <xs:sequence>
     2149                            <xs:element name="Expression" type=" xs:string " minOccurs="1" maxOccurs="1">
     2150                                <xs:annotation>
     2151                                    <xs:documentation xml:lang="en-us"> An in-fix expression, of C identifiers and TRUE,
     2152                                        FALSE, AND, OR, NOT, BEFORE, and AFTER as well as parenthesis () in the in-fix
     2153                                        notation. The operators are restricted to grammar defined in the PI
    22512154                                        specification. </xs:documentation>
    22522155                                </xs:annotation>
     
    22632166                <xs:element minOccurs="0" maxOccurs="unbounded" name="SmmDepex">
    22642167                    <xs:annotation>
    2265                         <xs:documentation xml:lang="en-us"> This is the SMM dependency expression
    2266                             for a Dependency Section. </xs:documentation>
    2267                     </xs:annotation>
    2268                     <xs:complexType>
    2269                         <xs:sequence>
    2270                             <xs:element name="Expression" type=" xs:string " minOccurs="1"
    2271                                 maxOccurs="1">
    2272                                 <xs:annotation>
    2273                                     <xs:documentation xml:lang="en-us"> An in-fix expression, of C
    2274                                         identifiers and TRUE, FALSE, AND, OR, NOT, BEFORE, and AFTER
    2275                                         as well as parenthesis () in the in-fix notation. The
    2276                                         operators are restricted to grammar defined in the PI
     2168                        <xs:documentation xml:lang="en-us"> This is the SMM dependency expression for a Dependency
     2169                            Section. </xs:documentation>
     2170                    </xs:annotation>
     2171                    <xs:complexType>
     2172                        <xs:sequence>
     2173                            <xs:element name="Expression" type=" xs:string " minOccurs="1" maxOccurs="1">
     2174                                <xs:annotation>
     2175                                    <xs:documentation xml:lang="en-us"> An in-fix expression, of C identifiers and TRUE,
     2176                                        FALSE, AND, OR, NOT, BEFORE, and AFTER as well as parenthesis () in the in-fix
     2177                                        notation. The operators are restricted to grammar defined in the PI
    22772178                                        specification. </xs:documentation>
    22782179                                </xs:annotation>
     
    22902191                <xs:element minOccurs="0" maxOccurs="1" name="MiscellaneousFiles">
    22912192                    <xs:annotation>
    2292                         <xs:documentation xml:lang="en-us"> This section is used to provide comments
    2293                             and/or list auxiliary files, such as pdb or map files.
    2294                         </xs:documentation>
     2193                        <xs:documentation xml:lang="en-us"> This section is used to provide comments and/or list
     2194                            auxiliary files, such as pdb or map files. </xs:documentation>
    22952195                    </xs:annotation>
    22962196                    <xs:complexType>
     
    23002200                                    <xs:simpleContent>
    23012201                                        <xs:extension base="xs:string">
    2302                                             <xs:attribute name="Lang" type="xs:language"
    2303                                                 default="en-us" use="optional"/>
     2202                                            <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"
     2203                                            />
    23042204                                        </xs:extension>
    23052205                                    </xs:simpleContent>
     
    23082208                            <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename">
    23092209                                <xs:annotation>
    2310                                     <xs:documentation xml:lang="en-us"> This is the path and
    2311                                         filename location within the ZIP file. </xs:documentation>
     2210                                    <xs:documentation xml:lang="en-us"> This is the path and filename location within
     2211                                        the ZIP file. </xs:documentation>
    23122212                                </xs:annotation>
    23132213                                <xs:complexType>
    23142214                                    <xs:simpleContent>
    23152215                                        <xs:extension base="xs:anyURI">
    2316                                             <xs:attribute name="Executable" type="xs:boolean"
    2317                                                 default="false" use="optional">
     2216                                            <xs:attribute name="Executable" type="xs:boolean" default="false"
     2217                                                use="optional">
    23182218                                                <xs:annotation>
    2319                                                   <xs:documentation xml:lang="en-us"> If true, used
    2320                                                   by installation tools to ensure that a file that
    2321                                                   must be executable has the correct properties to
    2322                                                   permit execution. </xs:documentation>
     2219                                                    <xs:documentation xml:lang="en-us"> If true, used by installation
     2220                                                        tools to ensure that a file that must be executable has the
     2221                                                        correct properties to permit execution. </xs:documentation>
    23232222                                                </xs:annotation>
    23242223                                            </xs:attribute>
     
    23342233                <xs:element minOccurs="0" maxOccurs="unbounded" name="UserExtensions">
    23352234                    <xs:annotation>
    2336                         <xs:documentation xml:lang="en-us"> This section is used for any processing
    2337                             instructions that may be custom to the content provided by the
    2338                             distribution that are common to module. </xs:documentation>
     2235                        <xs:documentation xml:lang="en-us"> This section is used for any processing instructions that
     2236                            may be custom to the content provided by the distribution that are common to module. </xs:documentation>
    23392237                        <xs:documentation xml:lang="en-us"> The content is vendor specific. </xs:documentation>
    2340                         <xs:documentation xml:lang="en-us"> The content can be plain text as well as
    2341                             any user-defined, properly formatted XML structure. </xs:documentation>
     2238                        <xs:documentation xml:lang="en-us"> The content can be plain text as well as any user-defined,
     2239                            properly formatted XML structure. </xs:documentation>
    23422240                    </xs:annotation>
    23432241                    <xs:complexType mixed="true">
    23442242                        <xs:attribute name="UserId" type="xs:NCName" use="required">
    23452243                            <xs:annotation>
    2346                                 <xs:documentation xml:lang="en-us"> This is a single word identifier
    2347                                     for grouping similar content. For example, ReferenceBuild might
    2348                                     be used to identify non-PI compliant build steps, with two
    2349                                     different UserExtensions sections, one with an Identifier of
    2350                                     Prebuild, and another of PostBuild. Both UserExtensions sections
    2351                                     would use the same UserId. </xs:documentation>
     2244                                <xs:documentation xml:lang="en-us"> This is a single word identifier for grouping
     2245                                    similar content. For example, ReferenceBuild might be used to identify non-PI
     2246                                    compliant build steps, with two different UserExtensions sections, one with an
     2247                                    Identifier of Prebuild, and another of PostBuild. Both UserExtensions sections would
     2248                                    use the same UserId. </xs:documentation>
    23522249                            </xs:annotation>
    23532250                        </xs:attribute>
    23542251                        <xs:attribute name="Identifier" type="xs:string" use="required">
    23552252                            <xs:annotation>
    2356                                 <xs:documentation xml:lang="en-us"> This can be any string used to
    2357                                     differentiate or identify this section from other UserExtensions
    2358                                     sections. </xs:documentation>
    2359                                 <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS
    2360                                     Identifier might indicate specific steps and tools required
    2361                                     before processing module content, while a different
    2362                                     UserExtensions section with a POST_PROCESS Identifier might
    2363                                     describe steps that need to be executed after operations on this
    2364                                     module. </xs:documentation>
     2253                                <xs:documentation xml:lang="en-us"> This can be any string used to differentiate or
     2254                                    identify this section from other UserExtensions sections. </xs:documentation>
     2255                                <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS Identifier might indicate
     2256                                    specific steps and tools required before processing module content, while a
     2257                                    different UserExtensions section with a POST_PROCESS Identifier might describe steps
     2258                                    that need to be executed after operations on this module. </xs:documentation>
    23652259                            </xs:annotation>
    23662260                        </xs:attribute>
     
    23732267            <xs:attribute name="BinaryModule" type="xs:boolean" default="false" use="optional">
    23742268                <xs:annotation>
    2375                     <xs:documentation xml:lang="en-us"> This attribute is used when the binaries are
    2376                         distributed for this module and no code generation from source files is
    2377                         required. If set, then the BinaryFiles section should be used, and any files
    2378                         listed in the SourceFiles section do not have to be built. Additionally, the
    2379                         AsBuilt section for each binary file must be included. </xs:documentation>
     2269                    <xs:documentation xml:lang="en-us"> This attribute is used when the binaries are distributed for
     2270                        this module and no code generation from source files is required. If set, then the BinaryFiles
     2271                        section should be used, and any files listed in the SourceFiles section do not have to be built.
     2272                        Additionally, the AsBuilt section for each binary file must be included. </xs:documentation>
    23802273                </xs:annotation>
    23812274            </xs:attribute>
     
    23912284                    <xs:complexType>
    23922285                        <xs:sequence>
    2393                             <xs:element minOccurs="1" maxOccurs="1" name="Name"
    2394                                 type="xs:normalizedString">
    2395                                 <xs:annotation>
    2396                                     <xs:documentation xml:lang="en-us">This is the User Interface
    2397                                         Name for this Tools Distribution.</xs:documentation>
    2398                                 </xs:annotation>
    2399                             </xs:element>
    2400                             <xs:element minOccurs="0" maxOccurs="1" name="Copyright"
    2401                                 type="xs:string">
    2402                                 <xs:annotation>
    2403                                     <xs:documentation xml:lang="en-us"> This is only required if the
    2404                                         Copyright is different from the Distribution Package
    2405                                         copyright. </xs:documentation>
     2286                            <xs:element minOccurs="1" maxOccurs="1" name="Name" type="xs:normalizedString">
     2287                                <xs:annotation>
     2288                                    <xs:documentation xml:lang="en-us">This is the User Interface Name for this Tools
     2289                                        Distribution.</xs:documentation>
     2290                                </xs:annotation>
     2291                            </xs:element>
     2292                            <xs:element minOccurs="0" maxOccurs="1" name="Copyright" type="xs:string">
     2293                                <xs:annotation>
     2294                                    <xs:documentation xml:lang="en-us"> This is only required if the Copyright is
     2295                                        different from the Distribution Package copyright. </xs:documentation>
    24062296                                </xs:annotation>
    24072297                            </xs:element>
    24082298                            <xs:element minOccurs="0" maxOccurs="1" name="License" type="xs:string">
    24092299                                <xs:annotation>
    2410                                     <xs:documentation xml:lang="en-us"> This is only required if the
    2411                                         License is different from the Distribution Package license.
    2412                                     </xs:documentation>
    2413                                 </xs:annotation>
    2414                             </xs:element>
    2415                             <xs:element minOccurs="0" maxOccurs="1" name="Abstract"
    2416                                 type="xs:normalizedString">
    2417                                 <xs:annotation>
    2418                                     <xs:documentation xml:lang="en-us"> This is only required if the
    2419                                         Abstract is different from the Distribution Package
    2420                                         Abstract. </xs:documentation>
    2421                                 </xs:annotation>
    2422                             </xs:element>
    2423                             <xs:element minOccurs="0" maxOccurs="1" name="Description"
    2424                                 type="xs:string">
    2425                                 <xs:annotation>
    2426                                     <xs:documentation xml:lang="en-us"> This is only required if the
    2427                                         Description is different from the Distribution Package
    2428                                         Description. </xs:documentation>
    2429                                 </xs:annotation>
     2300                                    <xs:documentation xml:lang="en-us"> This is only required if the License is
     2301                                        different from the Distribution Package license. </xs:documentation>
     2302                                </xs:annotation>
     2303                            </xs:element>
     2304                            <xs:element minOccurs="0" maxOccurs="1" name="Abstract">
     2305                                <xs:annotation>
     2306                                    <xs:documentation xml:lang="en-us"> This is only required if the Abstract is
     2307                                        different from the Distribution Package Abstract. </xs:documentation>
     2308                                </xs:annotation>
     2309                                <xs:complexType>
     2310                                    <xs:simpleContent>
     2311                                        <xs:extension base="xs:normalizedString">
     2312                                            <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"/>
     2313                                        </xs:extension>                                       
     2314                                    </xs:simpleContent>
     2315                                </xs:complexType>
     2316                            </xs:element>
     2317                            <xs:element minOccurs="0" maxOccurs="1" name="Description">
     2318                                <xs:annotation>
     2319                                    <xs:documentation xml:lang="en-us"> This is only required if the Description is
     2320                                        different from the Distribution Package Description. </xs:documentation>
     2321                                </xs:annotation>
     2322                                <xs:complexType>
     2323                                    <xs:simpleContent>
     2324                                        <xs:extension base="xs:string">
     2325                                            <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"/>
     2326                                        </xs:extension>                                       
     2327                                    </xs:simpleContent>
     2328                                </xs:complexType>
     2329                               
    24302330                            </xs:element>
    24312331                        </xs:sequence>
     
    24342334                <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename">
    24352335                    <xs:annotation>
    2436                         <xs:documentation xml:lang="en-us"> This is the path and filename location
    2437                             within the ZIP file. </xs:documentation>
     2336                        <xs:documentation xml:lang="en-us"> This is the path and filename location within the ZIP file.
     2337                        </xs:documentation>
    24382338                    </xs:annotation>
    24392339                    <xs:complexType>
     
    24422342                                <xs:attribute name="OS" type="SupportedOs" use="optional">
    24432343                                    <xs:annotation>
    2444                                         <xs:documentation xml:lang="en-us"> This is required for
    2445                                             tools that execute; it should not be used for
    2446                                             configuration files. </xs:documentation>
     2344                                        <xs:documentation xml:lang="en-us"> This is required for tools that execute; it
     2345                                            should not be used for configuration files. </xs:documentation>
    24472346                                    </xs:annotation>
    24482347                                </xs:attribute>
    2449                                 <xs:attribute name="Executable" type="xs:boolean" default="false"
    2450                                     use="optional">
     2348                                <xs:attribute name="Executable" type="xs:boolean" default="false" use="optional">
    24512349                                    <xs:annotation>
    2452                                         <xs:documentation xml:lang="en-us"> If true, used by
    2453                                             installation tools to ensure that a file that must be
    2454                                             executable has the correct properties to permit
    2455                                             execution. </xs:documentation>
     2350                                        <xs:documentation xml:lang="en-us"> If true, used by installation tools to
     2351                                            ensure that a file that must be executable has the correct properties to
     2352                                            permit execution. </xs:documentation>
    24562353                                    </xs:annotation>
    24572354                                </xs:attribute>
     
    24672364    <xs:element name="MiscellaneousFiles">
    24682365        <xs:annotation>
    2469             <xs:documentation xml:lang="en-us"> This section contains a list of files that are not
    2470                 part of the code distributed with modules, packages or tools. </xs:documentation>
     2366            <xs:documentation xml:lang="en-us"> This section contains a list of files that are not part of the code
     2367                distributed with modules, packages or tools. </xs:documentation>
    24712368        </xs:annotation>
    24722369        <xs:complexType>
     
    24752372                    <xs:complexType>
    24762373                        <xs:sequence>
    2477                             <xs:element minOccurs="0" maxOccurs="1" name="Name"
    2478                                 type="xs:normalizedString">
    2479                                 <xs:annotation>
    2480                                     <xs:documentation xml:lang="en-us"> The User interface name for
    2481                                         this content. </xs:documentation>
    2482                                 </xs:annotation>
    2483                             </xs:element>
    2484                             <xs:element minOccurs="0" maxOccurs="1" name="Copyright"
    2485                                 type="xs:string">
    2486                                 <xs:annotation>
    2487                                     <xs:documentation xml:lang="en-us"> This is only required if the
    2488                                         Copyright is different from the Distribution Package
    2489                                         Copyright. </xs:documentation>
     2374                            <xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:normalizedString">
     2375                                <xs:annotation>
     2376                                    <xs:documentation xml:lang="en-us"> The User interface name for this content.
     2377                                    </xs:documentation>
     2378                                </xs:annotation>
     2379                            </xs:element>
     2380                            <xs:element minOccurs="0" maxOccurs="1" name="Copyright" type="xs:string">
     2381                                <xs:annotation>
     2382                                    <xs:documentation xml:lang="en-us"> This is only required if the Copyright is
     2383                                        different from the Distribution Package Copyright. </xs:documentation>
    24902384                                </xs:annotation>
    24912385                            </xs:element>
    24922386                            <xs:element minOccurs="0" maxOccurs="1" name="License" type="xs:string">
    24932387                                <xs:annotation>
    2494                                     <xs:documentation xml:lang="en-us"> This is only required if the
    2495                                         License is different from the Distribution Package License.
    2496                                     </xs:documentation>
    2497                                 </xs:annotation>
    2498                             </xs:element>
    2499                             <xs:element minOccurs="0" maxOccurs="1" name="Abstract"
    2500                                 type="xs:normalizedString"/>
     2388                                    <xs:documentation xml:lang="en-us"> This is only required if the License is
     2389                                        different from the Distribution Package License. </xs:documentation>
     2390                                </xs:annotation>
     2391                            </xs:element>
     2392                            <xs:element minOccurs="0" maxOccurs="1" name="Abstract" type="xs:normalizedString"/>
    25012393                            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description">
    25022394                                <xs:complexType>
    25032395                                    <xs:simpleContent>
    25042396                                        <xs:extension base="xs:string">
    2505                                             <xs:attribute name="Lang" type="xs:language"
    2506                                                 default="en-us" use="optional"/>
     2397                                            <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"
     2398                                            />
    25072399                                        </xs:extension>
    25082400                                    </xs:simpleContent>
     
    25142406                <xs:element minOccurs="0" maxOccurs="unbounded" name="Filename">
    25152407                    <xs:annotation>
    2516                         <xs:documentation xml:lang="en-us"> This is the path and filename location
    2517                             within the ZIP file. </xs:documentation>
     2408                        <xs:documentation xml:lang="en-us"> This is the path and filename location within the ZIP file.
     2409                        </xs:documentation>
    25182410                    </xs:annotation>
    25192411                    <xs:complexType>
    25202412                        <xs:simpleContent>
    25212413                            <xs:extension base="xs:anyURI">
    2522                                 <xs:attribute name="Executable" type="xs:boolean" default="false"
    2523                                     use="optional">
     2414                                <xs:attribute name="Executable" type="xs:boolean" default="false" use="optional">
    25242415                                    <xs:annotation>
    2525                                         <xs:documentation xml:lang="en-us"> If true, used by
    2526                                             installation tools to ensure that a file that must be
    2527                                             executable has the correct properties to permit
    2528                                             execution. </xs:documentation>
     2416                                        <xs:documentation xml:lang="en-us"> If true, used by installation tools to
     2417                                            ensure that a file that must be executable has the correct properties to
     2418                                            permit execution. </xs:documentation>
    25292419                                    </xs:annotation>
    25302420                                </xs:attribute>
     
    25452435            <xs:attribute name="UserId" type="xs:NCName" use="required">
    25462436                <xs:annotation>
    2547                     <xs:documentation xml:lang="en-us"> This is a single word identifier for
    2548                         grouping similar content. For example, ReferenceBuild might be used to
    2549                         identify non-PI compliant build steps, with two different UserExtensions
    2550                         sections, one with an Identifier of Prebuild, and another of PostBuild. Both
    2551                         UserExtensions sections would use the same UserId. </xs:documentation>
     2437                    <xs:documentation xml:lang="en-us"> This is a single word identifier for grouping similar content.
     2438                        For example, ReferenceBuild might be used to identify non-PI compliant build steps, with two
     2439                        different UserExtensions sections, one with an Identifier of Prebuild, and another of PostBuild.
     2440                        Both UserExtensions sections would use the same UserId. </xs:documentation>
    25522441                </xs:annotation>
    25532442            </xs:attribute>
    25542443            <xs:attribute name="Identifier" type="xs:string" use="optional">
    25552444                <xs:annotation>
    2556                     <xs:documentation xml:lang="en-us"> This can be any string used to differentiate
    2557                         or identify this section from other UserExtensions sections. </xs:documentation>
    2558                     <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS Identifier might
    2559                         indicate specific steps and tools required before processing distribution
    2560                         package content, while a different UserExtensions section with a
    2561                         POST_PROCESS Identifier might describe steps that need to be executed after
    2562                         operations on this content. </xs:documentation>
     2445                    <xs:documentation xml:lang="en-us"> This can be any string used to differentiate or identify this
     2446                        section from other UserExtensions sections. </xs:documentation>
     2447                    <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS Identifier might indicate specific
     2448                        steps and tools required before processing distribution package content, while a different
     2449                        UserExtensions section with a POST_PROCESS Identifier might describe steps that need to be
     2450                        executed after operations on this content. </xs:documentation>
    25632451                </xs:annotation>
    25642452            </xs:attribute>
     
    25972485            <xs:enumeration value="IPF"/>
    25982486            <xs:enumeration value="EBC"/>
     2487            <xs:enumeration value="ARM"/>
    25992488            <xs:pattern value="([A-Z])([a-zA-Z0-9])*">
    26002489                <xs:annotation>
    2601                     <xs:documentation xml:lang="en-us"> Any processor architecture not listed above.
    2602                         The Architecture must be a target architecture of one or more compiler tool
    2603                         chains. </xs:documentation>
     2490                    <xs:documentation xml:lang="en-us"> Any processor architecture not listed above. The Architecture
     2491                        must be a target architecture of one or more compiler tool chains. </xs:documentation>
    26042492                </xs:annotation>
    26052493            </xs:pattern>
     
    26142502            <xs:pattern value="[A-Z][a-zA-Z0-9]*">
    26152503                <xs:annotation>
    2616                     <xs:documentation xml:lang="en-us"> Any other family of build utilities for
    2617                         which compiler tools exist. </xs:documentation>
     2504                    <xs:documentation xml:lang="en-us"> Any other family of build utilities for which compiler tools
     2505                        exist. </xs:documentation>
    26182506                </xs:annotation>
    26192507            </xs:pattern>
     
    26312519            <xs:enumeration value="FV"/>
    26322520            <xs:enumeration value="GUID"/>
     2521            <xs:enumeration value="HII"/>
    26332522            <xs:enumeration value="Hii"/>
    26342523            <xs:enumeration value="HOB"/>
     
    26582547    <xs:simpleType name="ModuleTypes">
    26592548        <xs:annotation>
    2660             <xs:documentation xml:lang="en-us"> The following module types are defined by
    2661                 specifications. </xs:documentation>
    2662             <xs:documentation xml:lang="en-us"> Module types for components and libraries defined
    2663                 for this distribution mechanism. </xs:documentation>
     2549            <xs:documentation xml:lang="en-us"> The following module types are defined by specifications. </xs:documentation>
     2550            <xs:documentation xml:lang="en-us"> Module types for components and libraries defined for this distribution
     2551                mechanism. </xs:documentation>
    26642552        </xs:annotation>
    26652553        <xs:restriction base="xs:NCName">
    26662554            <xs:enumeration value="BASE ">
    26672555                <xs:annotation>
    2668                     <xs:documentation xml:lang="en-us"> Use of this module is not restricted.
    2669                     </xs:documentation>
     2556                    <xs:documentation xml:lang="en-us"> Use of this module is not restricted. </xs:documentation>
    26702557                </xs:annotation>
    26712558            </xs:enumeration>
    26722559            <xs:enumeration value="DXE_CORE">
    26732560                <xs:annotation>
    2674                     <xs:documentation xml:lang="en-us"> This module is only applicable to the DXE
    2675                         core. </xs:documentation>
     2561                    <xs:documentation xml:lang="en-us"> This module is only applicable to the DXE core.
     2562                    </xs:documentation>
    26762563                </xs:annotation>
    26772564            </xs:enumeration>
    26782565            <xs:enumeration value="DXE_DRIVER">
    26792566                <xs:annotation>
    2680                     <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE
    2681                         driver. </xs:documentation>
     2567                    <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE driver.
     2568                    </xs:documentation>
    26822569                </xs:annotation>
    26832570            </xs:enumeration>
    26842571            <xs:enumeration value="DXE_RUNTIME_DRIVER">
    26852572                <xs:annotation>
    2686                     <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE
    2687                         runtime driver. </xs:documentation>
     2573                    <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE runtime driver.
     2574                    </xs:documentation>
    26882575                </xs:annotation>
    26892576            </xs:enumeration>
    26902577            <xs:enumeration value="DXE_SAL_DRIVER">
    26912578                <xs:annotation>
    2692                     <xs:documentation xml:lang="en-us"> This module is only applicable to an IPF DXE
    2693                         runtime driver. </xs:documentation>
     2579                    <xs:documentation xml:lang="en-us"> This module is only applicable to an IPF DXE runtime driver.
     2580                    </xs:documentation>
    26942581                </xs:annotation>
    26952582            </xs:enumeration>
    26962583            <xs:enumeration value="DXE_SMM_DRIVER">
    26972584                <xs:annotation>
    2698                     <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE SMM
    2699                         driver. </xs:documentation>
     2585                    <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE SMM driver.
     2586                    </xs:documentation>
    27002587                </xs:annotation>
    27012588            </xs:enumeration>
    27022589            <xs:enumeration value="PEI_CORE">
    27032590                <xs:annotation>
    2704                     <xs:documentation xml:lang="en-us"> This module is only applicable to the PEI
    2705                         core. </xs:documentation>
     2591                    <xs:documentation xml:lang="en-us"> This module is only applicable to the PEI core.
     2592                    </xs:documentation>
    27062593                </xs:annotation>
    27072594            </xs:enumeration>
    27082595            <xs:enumeration value="PEIM">
    27092596                <xs:annotation>
    2710                     <xs:documentation xml:lang="en-us"> This module is only valid for PEI modules.
    2711                     </xs:documentation>
     2597                    <xs:documentation xml:lang="en-us"> This module is only valid for PEI modules. </xs:documentation>
    27122598                </xs:annotation>
    27132599            </xs:enumeration>
    27142600            <xs:enumeration value="SEC">
    27152601                <xs:annotation>
    2716                     <xs:documentation xml:lang="en-us"> This module is only applicable to Security
    2717                         phase. </xs:documentation>
     2602                    <xs:documentation xml:lang="en-us"> This module is only applicable to Security phase.
     2603                    </xs:documentation>
    27182604                </xs:annotation>
    27192605            </xs:enumeration>
    27202606            <xs:enumeration value="UEFI_DRIVER">
    27212607                <xs:annotation>
    2722                     <xs:documentation xml:lang="en-us"> This module is only valid for UEFI drivers.
    2723                     </xs:documentation>
     2608                    <xs:documentation xml:lang="en-us"> This module is only valid for UEFI drivers. </xs:documentation>
    27242609                </xs:annotation>
    27252610            </xs:enumeration>
     
    27322617            <xs:enumeration value="UEFI_APPLICATION">
    27332618                <xs:annotation>
    2734                     <xs:documentation xml:lang="en-us"> This module is only valid for UEFI
    2735                         applications. </xs:documentation>
     2619                    <xs:documentation xml:lang="en-us"> This module is only valid for UEFI applications.
     2620                    </xs:documentation>
    27362621                </xs:annotation>
    27372622            </xs:enumeration>
     
    27442629            <xs:enumeration value="USER_DEFINED">
    27452630                <xs:annotation>
    2746                     <xs:documentation xml:lang="en-us"> This content is restricted to a specific
    2747                         implementation. </xs:documentation>
     2631                    <xs:documentation xml:lang="en-us"> This content is restricted to a specific implementation.
     2632                    </xs:documentation>
    27482633                </xs:annotation>
    27492634            </xs:enumeration>
    27502635            <xs:enumeration value="UNDEFINED">
    27512636                <xs:annotation>
    2752                     <xs:documentation xml:lang="en-us"> This enumeration is for use in a list that
    2753                         where the package creator does not know the what module types are supported
    2754                         by a module. </xs:documentation>
     2637                    <xs:documentation xml:lang="en-us"> This enumeration is for use in a list that where the package
     2638                        creator does not know the what module types are supported by a module. </xs:documentation>
    27552639                </xs:annotation>
    27562640            </xs:enumeration>
    27572641            <xs:pattern value="([A-Z])([a-zA-Z0-9])*">
    27582642                <xs:annotation>
    2759                     <xs:documentation xml:lang="en-us"> This pattern has been added for use in a
    2760                         module lists - for future expansion. </xs:documentation>
     2643                    <xs:documentation xml:lang="en-us"> This pattern has been added for use in a module lists - for
     2644                        future expansion. </xs:documentation>
    27612645                </xs:annotation>
    27622646            </xs:pattern>
     
    27662650    <xs:simpleType name="PcdDatumTypes">
    27672651        <xs:annotation>
    2768             <xs:documentation xml:lang="en-us"> The following data types are defined by the PCD
    2769                 specification (or PCD section of the UEFI/PI specifications.) </xs:documentation>
     2652            <xs:documentation xml:lang="en-us"> The following data types are defined by the PCD specification (or PCD
     2653                section of the UEFI/PI specifications.) </xs:documentation>
    27702654        </xs:annotation>
    27712655        <xs:restriction base="xs:normalizedString">
     
    27872671            <xs:enumeration value="FeaturePcd">
    27882672                <xs:annotation>
    2789                     <xs:documentation xml:lang="en-us"> The Feature PCD is a binary, evaluating to
    2790                         either true or false. This is used during build to include/exclude content.
    2791                         It can also be used during execution to force execution paths within
    2792                         drivers, or to enable/disable features within a driver for a given platform.
    2793                     </xs:documentation>
     2673                    <xs:documentation xml:lang="en-us"> The Feature PCD is a binary, evaluating to either true or false.
     2674                        This is used during build to include/exclude content. It can also be used during execution to
     2675                        force execution paths within drivers, or to enable/disable features within a driver for a given
     2676                        platform. </xs:documentation>
    27942677                </xs:annotation>
    27952678            </xs:enumeration>
    27962679            <xs:enumeration value="FixedPcd">
    27972680                <xs:annotation>
    2798                     <xs:documentation xml:lang="en-us"> The Fixed PCD is a #define value that is set
    2799                         at build time. </xs:documentation>
     2681                    <xs:documentation xml:lang="en-us"> The Fixed PCD is a #define value that is set at build time.
     2682                    </xs:documentation>
    28002683                </xs:annotation>
    28012684            </xs:enumeration>
    28022685            <xs:enumeration value="PatchPcd">
    28032686                <xs:annotation>
    2804                     <xs:documentation xml:lang="en-us"> The Patch PCD is a #define that is set at
    2805                         build time, and that can be modified within a binary file. Additional
    2806                         information, such as the offset location of the value, along with it's
    2807                         length may need to be provided.</xs:documentation>
     2687                    <xs:documentation xml:lang="en-us"> The Patch PCD is a #define that is set at build time, and that
     2688                        can be modified within a binary file. Additional information, such as the offset location of the
     2689                        value, along with it's length may need to be provided.</xs:documentation>
    28082690                </xs:annotation>
    28092691            </xs:enumeration>
    28102692            <xs:enumeration value="Pcd">
    28112693                <xs:annotation>
    2812                     <xs:documentation xml:lang="en-us"> This PCD type has an overloaded definition.
    2813                         Prior to build, the platform integrator may choose to implement a PCD as
    2814                         Fixed, Patchable or a Dynamic PCD. If the platform integrator choose to use
    2815                         the PCD as dynamic, then a PCD driver is required in the platform
    2816                         (PEI/DXE/both) to track the PCD in some sort of 'database' of these items.
    2817                         For Dynamic PCDs, the PcdGet* must pass in the token space guid and the
    2818                         token number to retrieve data (PcdSet* also needs these values.)
    2819                     </xs:documentation>
     2694                    <xs:documentation xml:lang="en-us"> This PCD type has an overloaded definition. Prior to build, the
     2695                        platform integrator may choose to implement a PCD as Fixed, Patchable or a Dynamic PCD. If the
     2696                        platform integrator choose to use the PCD as dynamic, then a PCD driver is required in the
     2697                        platform (PEI/DXE/both) to track the PCD in some sort of 'database' of these items. For Dynamic
     2698                        PCDs, the PcdGet* must pass in the token space guid and the token number to retrieve data
     2699                        (PcdSet* also needs these values.) </xs:documentation>
    28202700                </xs:annotation>
    28212701            </xs:enumeration>
    28222702            <xs:enumeration value="PcdEx">
    28232703                <xs:annotation>
    2824                     <xs:documentation xml:lang="en-us"> The PCD can only be used as Dynamic, and the
    2825                         platform firmware must contain a driver to maintain a 'database' of these
    2826                         items. For Dynamic PCDs, the PcdGet* must pass in the token space guid and
    2827                         the token number to retrieve data (PcdSet* also needs these values.)
    2828                     </xs:documentation>
     2704                    <xs:documentation xml:lang="en-us"> The PCD can only be used as Dynamic, and the platform firmware
     2705                        must contain a driver to maintain a 'database' of these items. For Dynamic PCDs, the PcdGet*
     2706                        must pass in the token space guid and the token number to retrieve data (PcdSet* also needs
     2707                        these values.) </xs:documentation>
    28292708                </xs:annotation>
    28302709            </xs:enumeration>
     
    28322711    </xs:simpleType>
    28332712
    2834 
    2835 
    28362713    <xs:simpleType name="RegistryFormatGuid">
    28372714        <xs:annotation>
    2838             <xs:documentation xml:lang="en-us"> A GUID must contain five different Hexadecimal
    2839                 character sets that are separated by a dash (-) character. </xs:documentation>
     2715            <xs:documentation xml:lang="en-us"> A GUID must contain five different Hexadecimal character sets that are
     2716                separated by a dash (-) character. </xs:documentation>
    28402717        </xs:annotation>
    28412718        <xs:restriction base="xs:string">
    2842             <xs:pattern
    2843                 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*"
    2844             />
     2719            <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*"/>
    28452720        </xs:restriction>
    28462721    </xs:simpleType>
     
    28482723    <xs:simpleType name="SupportedOs">
    28492724        <xs:annotation>
    2850             <xs:documentation xml:lang="en-us"> The EDK II build system supports workstations
    2851                 running one of the following supported operating systems. This is the OS for the
    2852                 developer's workstation, not the target platform. </xs:documentation>
     2725            <xs:documentation xml:lang="en-us"> The EDK II build system supports workstations running one of the
     2726                following supported operating systems. This is the OS for the developer's workstation, not the target
     2727                platform. </xs:documentation>
    28532728        </xs:annotation>
    28542729        <xs:restriction base="xs:string">
    28552730            <xs:enumeration value="Win32">
    28562731                <xs:annotation>
    2857                     <xs:documentation xml:lang="en-us"> For Windows 2003, Windows XP and Windows
    2858                         Vista. </xs:documentation>
     2732                    <xs:documentation xml:lang="en-us"> For Windows 2003, Windows XP and Windows Vista.
     2733                    </xs:documentation>
    28592734                </xs:annotation>
    28602735            </xs:enumeration>
    28612736            <xs:enumeration value="Win64">
    28622737                <xs:annotation>
    2863                     <xs:documentation xml:lang="en-us"> For Windows 2003, Windows XP and Windows
    2864                         Vista. </xs:documentation>
     2738                    <xs:documentation xml:lang="en-us"> For Windows 2003, Windows XP and Windows Vista.
     2739                    </xs:documentation>
    28652740                </xs:annotation>
    28662741            </xs:enumeration>
     2742            <xs:enumeration value="RedHat32"/>
     2743            <xs:enumeration value="RedHat64"/>
     2744            <xs:enumeration value="SuSE32"/>
     2745            <xs:enumeration value="SuSE64"/>
    28672746            <xs:enumeration value="Linux32"/>
    28682747            <xs:enumeration value="Linux64"/>
    28692748            <xs:enumeration value="OS/X32"/>
    28702749            <xs:enumeration value="OS/X64"/>
     2750            <xs:enumeration value="Generic"/>
    28712751            <xs:enumeration value="GenericWin">
    28722752                <xs:annotation>
    2873                     <xs:documentation xml:lang="en-us"> Typically, this is used for Windows Batch
    2874                         files. </xs:documentation>
     2753                    <xs:documentation xml:lang="en-us"> Typically, this is used for Windows Batch files.
     2754                    </xs:documentation>
    28752755                </xs:annotation>
    28762756            </xs:enumeration>
    28772757            <xs:enumeration value="GenericNix">
    28782758                <xs:annotation>
    2879                     <xs:documentation xml:lang="en-us"> Typically use for shell scripts - valid for
    2880                         any Linux and Mac OS/X. </xs:documentation>
     2759                    <xs:documentation xml:lang="en-us"> Typically use for shell scripts - valid for any Linux and Mac
     2760                        OS/X. </xs:documentation>
    28812761                </xs:annotation>
    28822762            </xs:enumeration>
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette