diff options
author | Liming Gao <liming.gao@intel.com> | 2013-08-23 02:18:16 +0000 |
---|---|---|
committer | lgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524> | 2013-08-23 02:18:16 +0000 |
commit | 4afd3d042215afe68d00b9ab8c32f063a3a1c03f (patch) | |
tree | b5190bd11547ac22fe35eeceee85ef42bfe6eea5 /BaseTools/Conf/XMLSchema | |
parent | a365eed476687881ce0ed49af7d483fd3cb0c491 (diff) | |
download | edk2-4afd3d042215afe68d00b9ab8c32f063a3a1c03f.zip edk2-4afd3d042215afe68d00b9ab8c32f063a3a1c03f.tar.gz edk2-4afd3d042215afe68d00b9ab8c32f063a3a1c03f.tar.bz2 |
Sync BaseTool trunk (version r2599) into EDKII BaseTools.
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Heshen Chen <chen.heshen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14591 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'BaseTools/Conf/XMLSchema')
-rw-r--r-- | BaseTools/Conf/XMLSchema/DistributionPackage.xsd | 2736 |
1 files changed, 1283 insertions, 1453 deletions
diff --git a/BaseTools/Conf/XMLSchema/DistributionPackage.xsd b/BaseTools/Conf/XMLSchema/DistributionPackage.xsd index 8f136ae..5ae85f2 100644 --- a/BaseTools/Conf/XMLSchema/DistributionPackage.xsd +++ b/BaseTools/Conf/XMLSchema/DistributionPackage.xsd @@ -2,7 +2,7 @@ <!-- Filename: DistributionPackage.xsd -Copyright (c) 2008 - 2011, Intel Corporation. All rights reserved. +Copyright (c) 2008 - 2012, Intel Corporation. All rights reserved. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which may be found at @@ -13,108 +13,96 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" - targetNamespace="http://www.uefi.org/2011/1.1" xmlns="http://www.uefi.org/2011/1.1"> + targetNamespace="http://www.uefi.org/2012/1.0" xmlns="http://www.uefi.org/2012/1.0"> <xs:element name="DistributionPackage"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This schema defines the UEFI/PI Distribution Package - description (PKG) file. It describes the content of:</xs:documentation> - <xs:documentation xml:lang="en-us"> 1) Package descriptions with definitions and - headers.</xs:documentation> - <xs:documentation xml:lang="en-us"> 2) Modules in either source or binary format. (Note - that Binary format is for FFS leaf section file types only, complete FFS files - cannot be distributed using this distribution format.) </xs:documentation> - <xs:documentation xml:lang="en-us"> 3) The distribution of custom tools used to modify - the binary images to create UEFI/PI compliant images. </xs:documentation> - <xs:documentation xml:lang="en-us"> 4) Finally, it can be used to distribute other - miscellaneous content that is not specific to UEFI/PI images. </xs:documentation> - <xs:documentation xml:lang="en-us"> The Package Surface Area describes the content of - packages, while the Module Surface Area provides information relevant to source - and/or binary distributions. </xs:documentation> + <xs:documentation xml:lang="en-us"> This schema defines the UEFI/PI Distribution Package description (PKG) + file. It describes the content of:</xs:documentation> + <xs:documentation xml:lang="en-us"> 1) Package descriptions with definitions and headers.</xs:documentation> + <xs:documentation xml:lang="en-us"> 2) Modules in either source or binary format. (Note that Binary format + is for FFS leaf section file types only, complete FFS files cannot be distributed using this + distribution format.) </xs:documentation> + <xs:documentation xml:lang="en-us"> 3) The distribution of custom tools used to modify the binary images to + create UEFI/PI compliant images. </xs:documentation> + <xs:documentation xml:lang="en-us"> 4) Finally, it can be used to distribute other miscellaneous content + that is not specific to UEFI/PI images. </xs:documentation> + <xs:documentation xml:lang="en-us"> The Package Surface Area describes the content of packages, while the + Module Surface Area provides information relevant to source and/or binary distributions. + </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element ref="DistributionHeader" minOccurs="1" maxOccurs="1"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This header contains (legal) information - usually required for distributing both binary and/or source code. - </xs:documentation> + <xs:documentation xml:lang="en-us"> This header contains (legal) information usually required + for distributing both binary and/or source code. </xs:documentation> </xs:annotation> </xs:element> <xs:element ref="PackageSurfaceArea" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> - <xs:documentation xml:lang="en-us"> The list of packages in this - distribution. </xs:documentation> - <xs:documentation xml:lang="en-us"> Packages are groups of files and/or - modules that are similar in nature.</xs:documentation> - <xs:documentation xml:lang="en-us"> Packages are uniquely identified by a - package GUID and a package version. </xs:documentation> - <xs:documentation xml:lang="en-us"> A package can declare public mappings of - C names to GUID values. </xs:documentation> - <xs:documentation xml:lang="en-us"> A package can provide header files for - library classes and/or other industry standard definitions. </xs:documentation> - <xs:documentation xml:lang="en-us"> A package can also declare public - mappings of platform configuration database (PCD) "knobs" to - control features and operation of modules within a platform. </xs:documentation> - <xs:documentation xml:lang="en-us"> Finally, a package lists the library - instances and/or modules that are provided in a distribution package. - </xs:documentation> + <xs:documentation xml:lang="en-us"> The list of packages in this distribution. </xs:documentation> + <xs:documentation xml:lang="en-us"> Packages are groups of files and/or modules that are similar + in nature.</xs:documentation> + <xs:documentation xml:lang="en-us"> Packages are uniquely identified by a package GUID and a + package version. </xs:documentation> + <xs:documentation xml:lang="en-us"> A package can declare public mappings of C names to GUID + values. </xs:documentation> + <xs:documentation xml:lang="en-us"> A package can provide header files for library classes + and/or other industry standard definitions. </xs:documentation> + <xs:documentation xml:lang="en-us"> A package can also declare public mappings of platform + configuration database (PCD) "knobs" to control features and operation of modules + within a platform. </xs:documentation> + <xs:documentation xml:lang="en-us"> Finally, a package lists the library instances and/or + modules that are provided in a distribution package. </xs:documentation> </xs:annotation> </xs:element> <xs:element ref="ModuleSurfaceArea" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> - <xs:documentation xml:lang="en-us"> The listing of UEFI/PI compliant modules - in this distribution that are NOT part of a Package. Every module that - is provided as part of a package needs to be described in a - PackageSurfaceArea.Modules section. </xs:documentation> - <xs:documentation xml:lang="en-us"> The ModuleSurfaceArea section describes - how each module in a distribution is coded, or, in the case of a binary - module distribution, how it was built. </xs:documentation> - <xs:documentation xml:lang="en-us"> UEFI/PI compliant libraries and modules - are uniquely identified by the Module's GUID and version number. </xs:documentation> - <xs:documentation xml:lang="en-us"> This section will typically be used for - modules that don't require any additional files that would be included - in a package. For example, the Enhanced FAT driver binary does not need - to have a package description, as no additional files are provided. - </xs:documentation> + <xs:documentation xml:lang="en-us"> The listing of UEFI/PI compliant modules in this + distribution that are NOT part of a Package. Every module that is provided as part of a + package needs to be described in a PackageSurfaceArea.Modules section. </xs:documentation> + <xs:documentation xml:lang="en-us"> The ModuleSurfaceArea section describes how each module in a + distribution is coded, or, in the case of a binary module distribution, how it was built. </xs:documentation> + <xs:documentation xml:lang="en-us"> UEFI/PI compliant libraries and modules are uniquely + identified by the Module's GUID and version number. </xs:documentation> + <xs:documentation xml:lang="en-us"> This section will typically be used for modules that don't + require any additional files that would be included in a package. For example, the Enhanced + FAT driver binary does not need to have a package description, as no additional files are + provided. </xs:documentation> </xs:annotation> </xs:element> <xs:element ref="Tools" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This section is for distributing vendor - specific executable tools, tool source code and/or configuration files. - These tools are primarily for manipulating code and/or binary images. </xs:documentation> - <xs:documentation xml:lang="en-us"> Tools in this section - can:</xs:documentation> - <xs:documentation xml:lang="en-us"> 1) Parse build meta-data files to create - source code files and build scripts. </xs:documentation> - <xs:documentation xml:lang="en-us"> 2) Modify image files to conform to - UEFI/PI specifications. </xs:documentation> - <xs:documentation xml:lang="en-us"> 3) Generate binary files from certain - types of text/unicode files. </xs:documentation> - <xs:documentation xml:lang="en-us"> 4) Generate PCI Option Roms or Firmware - Device images. </xs:documentation> - <xs:documentation xml:lang="en-us"> 5) Implement external - encoding/decoding/signature/GUIDed tools. </xs:documentation> - <xs:documentation xml:lang="en-us"> 6) Distribution Package - create/install/remove tools. </xs:documentation> + <xs:documentation xml:lang="en-us"> This section is for distributing vendor specific executable + tools, tool source code and/or configuration files. These tools are primarily for + manipulating code and/or binary images. </xs:documentation> + <xs:documentation xml:lang="en-us"> Tools in this section can:</xs:documentation> + <xs:documentation xml:lang="en-us"> 1) Parse build meta-data files to create source code files + and build scripts. </xs:documentation> + <xs:documentation xml:lang="en-us"> 2) Modify image files to conform to UEFI/PI specifications. </xs:documentation> + <xs:documentation xml:lang="en-us"> 3) Generate binary files from certain types of text/unicode + files. </xs:documentation> + <xs:documentation xml:lang="en-us"> 4) Generate PCI Option Roms or Firmware Device images. </xs:documentation> + <xs:documentation xml:lang="en-us"> 5) Implement external encoding/decoding/signature/GUIDed + tools. </xs:documentation> + <xs:documentation xml:lang="en-us"> 6) Distribution Package create/install/remove tools. + </xs:documentation> </xs:annotation> </xs:element> <xs:element ref="MiscellaneousFiles" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> - <xs:documentation xml:lang="en-us"> The list of miscellaneous files in this - distribution. Any files that are not listed in either the Package, - Module or Tools sections can be listed here. This section can be used to - distribute specifications for packages and modules that are not - "industry standards" such as a specification for a chipset or - a video device. </xs:documentation> + <xs:documentation xml:lang="en-us"> The list of miscellaneous files in this distribution. Any + files that are not listed in either the Package, Module or Tools sections can be listed + here. This section can be used to distribute specifications for packages and modules that + are not "industry standards" such as a specification for a chipset or a video + device. </xs:documentation> </xs:annotation> </xs:element> <xs:element ref="UserExtensions" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> - <xs:documentation xml:lang="en-us"> The UserExtensions section is used to - disseminate processing instructions that may be custom to the content - provided by the distribution. This section contains information that is - common to all aspects of this disribution. </xs:documentation> + <xs:documentation xml:lang="en-us"> The UserExtensions section is used to disseminate processing + instructions that may be custom to the content provided by the distribution. This section + contains information that is common to all aspects of this disribution. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> @@ -125,31 +113,30 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element name="DistributionHeader"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This section defines the content of the UEIF/PI - compliant Distribution Package Header. This is the only required element of a - UEFI/PI compliant distribution package. </xs:documentation> + <xs:documentation xml:lang="en-us"> This section defines the content of the UEIF/PI compliant Distribution + Package Header. This is the only required element of a UEFI/PI compliant distribution package. + </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element minOccurs="1" maxOccurs="1" name="Name"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is the User Interface Name for this - Distribution Package. </xs:documentation> - <xs:documentation xml:lang="en-us"> Each Distribution Package is uniquely - identified by it's GUID and Version number. </xs:documentation> + <xs:documentation xml:lang="en-us"> This is the User Interface Name for this Distribution + Package. </xs:documentation> + <xs:documentation xml:lang="en-us"> Each Distribution Package is uniquely identified by it's + GUID and Version number. </xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:normalizedString"> <xs:attribute name="BaseName" type="xs:NMTOKEN" use="optional"> <xs:annotation> - <xs:documentation xml:lang="en-us"> The reference name of - the Distribution Package file. This single word name can - be used by tools as a keyword or for directory and/or - file creation. </xs:documentation> - <xs:documentation xml:lang="en-us"> White space and special - characters (dash and underscore characters may be used) - are not permitted in this name. </xs:documentation> + <xs:documentation xml:lang="en-us"> The reference name of the Distribution + Package file. This single word name can be used by tools as a keyword or for + directory and/or file creation. </xs:documentation> + <xs:documentation xml:lang="en-us"> White space and special characters (dash and + underscore characters may be used) are not permitted in this name. + </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> @@ -158,22 +145,20 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. </xs:element> <xs:element minOccurs="1" maxOccurs="1" name="GUID"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This 128-bit GUID and the Version - attribute uniquely identify this Distribution Package. </xs:documentation> - <xs:documentation xml:lang="en-us"> Backward compatible releases of a - distribution package need only change the version number, while - non-backward compatible changes require the GUID to change (resetting - the version number to 1.0 is optional.) </xs:documentation> + <xs:documentation xml:lang="en-us"> This 128-bit GUID and the Version attribute uniquely + identify this Distribution Package. </xs:documentation> + <xs:documentation xml:lang="en-us"> Backward compatible releases of a distribution package need + only change the version number, while non-backward compatible changes require the GUID to + change (resetting the version number to 1.0 is optional.) </xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="RegistryFormatGuid"> <xs:attribute name="Version" type="xs:decimal" use="required"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This value, along with - the GUID, is used to uniquely identify this object. The - higher the number, the more recent the content. - </xs:documentation> + <xs:documentation xml:lang="en-us"> This value, along with the GUID, is used to + uniquely identify this object. The higher the number, the more recent the + content. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> @@ -182,97 +167,116 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. </xs:element> <xs:element minOccurs="1" maxOccurs="1" name="Vendor" type="xs:normalizedString"> <xs:annotation> - <xs:documentation xml:lang="en-us"> A string identifying who created this - distribution package. </xs:documentation> + <xs:documentation xml:lang="en-us"> A string identifying who created this distribution package. + </xs:documentation> </xs:annotation> </xs:element> <xs:element minOccurs="1" maxOccurs="1" name="Date" type="xs:dateTime"> <xs:annotation> - <xs:documentation xml:lang="en-us"> The date and time this distribution was - created. The format is: YYYY-MM-DDThh:mm:ss, for example: - 2001-01-31T13:30:00 (note the T character separator between the calendar - date and the time. </xs:documentation> + <xs:documentation xml:lang="en-us"> The date and time this distribution was created. The format + is: YYYY-MM-DDThh:mm:ss, for example: 2001-01-31T13:30:00 (note the T character separator + between the calendar date and the time. </xs:documentation> </xs:annotation> </xs:element> - <xs:element minOccurs="1" maxOccurs="1" name="Copyright" type="xs:string"> + <xs:element minOccurs="1" maxOccurs="unbounded" name="Copyright"> <xs:annotation> - <xs:documentation xml:lang="en-us"> The copyright for this file that is - generated by the creator of the distribution. If a derivative work is - generated from an existing distribution, then the existing copyright - must be maintained, and additional copyrights may be appended to the end - of this element. It may also be the primary copyright for all code - provided in the Distribution Package. </xs:documentation> + <xs:documentation xml:lang="en-us"> The copyright for this file that is generated by the creator + of the distribution. If a derivative work is generated from an existing distribution, then + the existing copyright must be maintained, and additional copyrights may be appended to the + end of this element. It may also be the primary copyright for all code provided in the + Distribution Package. </xs:documentation> </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> - <xs:element minOccurs="1" maxOccurs="1" name="License" type="xs:string"> + <xs:element minOccurs="1" maxOccurs="unbounded" name="License"> <xs:annotation> - <xs:documentation xml:lang="en-us"> A license that describes any - restrictions on the use of this distribution. If a derivative work is - allowed by the original license and a derivative work is generated from - an existing distribution, then the existing license must be maintained, - and additional licenses may be appended to the end of this element. It - may also be the primary license for all code provided in the - distribution file. Alternatively, this may point to a filename that - contains the License. The file (included in the content zip file) will - be stored in the same location as the distribution package's .pkg file. + <xs:documentation xml:lang="en-us"> A license that describes any restrictions on the use of this + distribution. If a derivative work is allowed by the original license and a derivative work + is generated from an existing distribution, then the existing license must be maintained, + and additional licenses may be appended to the end of this element. It may also be the + primary license for all code provided in the distribution file. Alternatively, this may + point to a filename that contains the License. The file (included in the content zip file) + will be stored in the same location as the distribution package's .pkg file. </xs:documentation> </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> </xs:element> - <xs:element minOccurs="1" maxOccurs="1" name="Abstract" type="xs:normalizedString"> + <xs:element minOccurs="1" maxOccurs="unbounded" name="Abstract"> <xs:annotation> - <xs:documentation xml:lang="en-us"> A one line description of the - Distribution Package. </xs:documentation> + <xs:documentation xml:lang="en-us"> A one line description of the Distribution Package. + </xs:documentation> </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:normalizedString"> + <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> </xs:element> - <xs:element minOccurs="0" maxOccurs="1" name="Description" type="xs:string"> + <xs:element minOccurs="0" maxOccurs="unbounded" name="Description"> <xs:annotation> - <xs:documentation xml:lang="en-us"> A complete description of the - Distribution Package. This description may include the release name of - the file, the version of the file, and a complete description of the - file contents and/or features including a description of the updates - since the previous file release. </xs:documentation> + <xs:documentation xml:lang="en-us"> A complete description of the Distribution Package. This + description may include the release name of the file, the version of the file, and a + complete description of the file contents and/or features including a description of the + updates since the previous file release. </xs:documentation> </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> </xs:element> <xs:element minOccurs="0" maxOccurs="1" name="Signature" type="Md5Sum"> <xs:annotation> - <xs:documentation xml:lang="en-us"> The packaging utilities will use this - MD5 sum value of the included ZIP file containing files and/or code. If - this element is not present, then installation tools should assume that - the content is correct, or that other methods may be needed to verify - content. </xs:documentation> + <xs:documentation xml:lang="en-us"> The packaging utilities will use this MD5 sum value of the + included ZIP file containing files and/or code. If this element is not present, then + installation tools should assume that the content is correct, or that other methods may be + needed to verify content. </xs:documentation> </xs:annotation> </xs:element> - <xs:element minOccurs="1" maxOccurs="1" name="XmlSpecification" type="xs:decimal" - default="1.1"> + <xs:element minOccurs="1" maxOccurs="1" name="XmlSpecification" type="xs:decimal" default="1.1"> <xs:annotation> <xs:documentation xml:lang="en-us"> This version of this XML Schema is 1.1 </xs:documentation> <xs:documentation xml:lang="en-us"> Changes to 1.1 from 1.0 </xs:documentation> - <xs:documentation xml:lang="en-us"> #1 Updated to present date and new - version which is important to reflect the present state of the - matter</xs:documentation> - <xs:documentation xml:lang="en-us"> #2 Added definition/enumeration of - UNDEFIND type 2 is important since there is a large body of legacy code - for which the GUID’s and other code/data objects were not decorated with - their usage. This document will allow for importing today’s source - artifacts and producing decorations using the ‘Undefined’ versus having - an error</xs:documentation> - <xs:documentation xml:lang="en-us">#3 Allow for inclusion of ARM and future - architecture types</xs:documentation> + <xs:documentation xml:lang="en-us"> #1 Updated to present date and new version which is + important to reflect the present state of the matter</xs:documentation> + <xs:documentation xml:lang="en-us"> #2 Added definition/enumeration of UNDEFIND type 2 is + important since there is a large body of legacy code for which the GUID’s and other + code/data objects were not decorated with their usage. This document will allow for + importing today’s source artifacts and producing decorations using the ‘Undefined’ versus + having an error</xs:documentation> + <xs:documentation xml:lang="en-us">#3 Allow for inclusion of ARM and future architecture + types</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="ReadOnly" type="xs:boolean" default="false" use="optional"> <xs:annotation> - <xs:documentation xml:lang="en-us"> If set to true, all content within this - Distribution Package should NOT be modified. The default permits - modification of all content. </xs:documentation> + <xs:documentation xml:lang="en-us"> If set to true, all content within this Distribution Package + should NOT be modified. The default permits modification of all content. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="RePackage" type="xs:boolean" default="false" use="optional"> <xs:annotation> - <xs:documentation xml:lang="en-us"> If set to true, then the content can be - repackaged into another distribution package. The default prohibits - repackaging the Distribution content. </xs:documentation> + <xs:documentation xml:lang="en-us"> If set to true, then the content can be repackaged into another + distribution package. The default prohibits repackaging the Distribution content. + </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> @@ -281,12 +285,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element name="PackageSurfaceArea"> <xs:annotation> - <xs:documentation xml:lang="en-us"> A package is a collection of related objects - - Includes, Libraries and Modules. </xs:documentation> - <xs:documentation xml:lang="en-us"> Each package is uniquely identified by it's GUID and - Version number. Backward compatible releases of a package need only change the - version number, while non-backward compatible changes require the GUID to change - (resetting the version number to 1.0 is optional.) </xs:documentation> + <xs:documentation xml:lang="en-us"> A package is a collection of related objects - Includes, Libraries and + Modules. </xs:documentation> + <xs:documentation xml:lang="en-us"> Each package is uniquely identified by it's GUID and Version number. + Backward compatible releases of a package need only change the version number, while non-backward + compatible changes require the GUID to change (resetting the version number to 1.0 is optional.) + </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> @@ -296,19 +300,17 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:sequence> <xs:element minOccurs="1" maxOccurs="1" name="Name"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is the User Interface - Name for this package. </xs:documentation> + <xs:documentation xml:lang="en-us"> This is the User Interface Name for this + package. </xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:normalizedString"> - <xs:attribute name="BaseName" type="xs:NMTOKEN" - use="required"> + <xs:attribute name="BaseName" type="xs:NMTOKEN" use="required"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is a - single word BaseName of the package. This BaseName - can be used by tools as a keyword and for - directory/file creation. </xs:documentation> + <xs:documentation xml:lang="en-us"> This is a single word BaseName + of the package. This BaseName can be used by tools as a keyword + and for directory/file creation. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> @@ -317,72 +319,93 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. </xs:element> <xs:element minOccurs="1" maxOccurs="1" name="GUID"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This GUID and the Version - attribute uniquely identify a given package. - </xs:documentation> + <xs:documentation xml:lang="en-us"> This GUID and the Version attribute uniquely + identify a given package. </xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="RegistryFormatGuid"> - <xs:attribute name="Version" type="xs:decimal" - use="required"> + <xs:attribute name="Version" type="xs:decimal" use="required"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This value, - along with the GUID, is used to uniquely identify - this object. </xs:documentation> - <xs:documentation xml:lang="en-us"> Backward - compatible changes must make sure this number is - incremented from the most recent version. - Non-backward compatible changes require a new - GUID, and the version can be reset. - </xs:documentation> + <xs:documentation xml:lang="en-us"> This value, along with the GUID, + is used to uniquely identify this object. </xs:documentation> + <xs:documentation xml:lang="en-us"> Backward compatible changes must + make sure this number is incremented from the most recent + version. Non-backward compatible changes require a new GUID, and + the version can be reset. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> - <xs:element minOccurs="0" maxOccurs="1" name="Copyright" - type="xs:string"> + <xs:element minOccurs="0" maxOccurs="unbounded" name="Copyright"> <xs:annotation> - <xs:documentation xml:lang="en-us"> If the package requires a - different copyright than the distribution package, this - element can list one or more copyright lines. - </xs:documentation> + <xs:documentation xml:lang="en-us"> If the package requires a different copyright + than the distribution package, this element can list one or more copyright + lines. </xs:documentation> </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional" + /> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> - <xs:element minOccurs="0" maxOccurs="1" name="License" type="xs:string"> + <xs:element minOccurs="0" maxOccurs="unbounded" name="License"> <xs:annotation> - <xs:documentation xml:lang="en-us"> If the package requires - licenses that are different from the distribution package - license, this element can contain one or more license text - paragraphs (or license filenames.) </xs:documentation> + <xs:documentation xml:lang="en-us"> If the package requires licenses that are + different from the distribution package license, this element can contain one or + more license text paragraphs (or license filenames.) </xs:documentation> </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional" + /> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> - <xs:element minOccurs="0" maxOccurs="1" name="Abstract" - type="xs:normalizedString"> + <xs:element minOccurs="0" maxOccurs="unbounded" name="Abstract"> <xs:annotation> - <xs:documentation xml:lang="en-us"> A one line description of - this package. </xs:documentation> + <xs:documentation xml:lang="en-us"> A one line description of this package. + </xs:documentation> </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:normalizedString"> + <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional" + /> + </xs:extension> + </xs:simpleContent> + </xs:complexType> </xs:element> - <xs:element minOccurs="0" maxOccurs="1" name="Description" - type="xs:string"> + <xs:element minOccurs="0" maxOccurs="unbounded" name="Description"> <xs:annotation> - <xs:documentation xml:lang="en-us"> A complete description of a - package. This description may include the release name of - the package, the version of the package, and a complete - description of the package contents and/or features - including a description of the updates since the previous - package’s release. </xs:documentation> + <xs:documentation xml:lang="en-us"> A complete description of a package. This + description may include the release name of the package, the version of the + package, and a complete description of the package contents and/or features + including a description of the updates since the previous package’s release. + </xs:documentation> </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional" + /> + </xs:extension> + </xs:simpleContent> + </xs:complexType> </xs:element> - <xs:element minOccurs="1" maxOccurs="1" name="PackagePath" - type="xs:anyURI"> + <xs:element minOccurs="1" maxOccurs="1" name="PackagePath" type="xs:anyURI"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This element is the location - (in the ZIP file) for the root directory of a package. - </xs:documentation> + <xs:documentation xml:lang="en-us"> This element is the location (in the ZIP file) + for the root directory of a package. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> @@ -392,29 +415,26 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="0" maxOccurs="1" name="ClonedFrom"> <xs:annotation> - <xs:documentation xml:lang="en-us"> The term cloned is used here to indicate - that this package as been copied and modified to a completely different - package. An example might be for a new generation of chipsets that have - few or no elements in common with the original. </xs:documentation> + <xs:documentation xml:lang="en-us"> The term cloned is used here to indicate that this package + as been copied and modified to a completely different package. An example might be for a new + generation of chipsets that have few or no elements in common with the original. + </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element minOccurs="1" maxOccurs="1" name="GUID"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This GUID and the Version - attribute uniquely identify the Package that this Package - was copied from. </xs:documentation> + <xs:documentation xml:lang="en-us"> This GUID and the Version attribute uniquely + identify the Package that this Package was copied from. </xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="RegistryFormatGuid"> - <xs:attribute name="Version" type="xs:decimal" - use="required"> + <xs:attribute name="Version" type="xs:decimal" use="required"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This value, - along with the GUID, is used to uniquely identify - the package that this package was cloned from. - </xs:documentation> + <xs:documentation xml:lang="en-us"> This value, along with the GUID, + is used to uniquely identify the package that this package was + cloned from. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> @@ -428,11 +448,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="0" maxOccurs="1" name="LibraryClassDeclarations"> <xs:annotation> - <xs:documentation xml:lang="en-us"> Library Classes are public interfaces - that can be used by modules. One or more library instances can implement - a library class, however only one library instance can be linked to an - individual module. This provides the platform integrator with the - flexibility of choosing one library instance's implementation over a + <xs:documentation xml:lang="en-us"> Library Classes are public interfaces that can be used by + modules. One or more library instances can implement a library class, however only one + library instance can be linked to an individual module. This provides the platform + integrator with the flexibility of choosing one library instance's implementation over a different library instance. </xs:documentation> </xs:annotation> <xs:complexType> @@ -440,59 +459,51 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="1" maxOccurs="unbounded" name="LibraryClass"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile" - type="xs:anyURI"> + <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile" type="xs:anyURI"> <xs:annotation> - <xs:documentation xml:lang="en-us"> The header file - provides definitions and function prototypes for a - library class. Modules can be coded against these - functions, using the definitions in this header, - without concerning themselves about the libraries' - implementation details. This is a PackagePath - relative path and filename for the include file. - </xs:documentation> + <xs:documentation xml:lang="en-us"> The header file provides definitions + and function prototypes for a library class. Modules can be coded + against these functions, using the definitions in this header, + without concerning themselves about the libraries' implementation + details. This is a PackagePath relative path and filename for the + include file. </xs:documentation> </xs:annotation> </xs:element> - <xs:element minOccurs="0" maxOccurs="1" - name="RecommendedInstance"> + <xs:element minOccurs="0" maxOccurs="1" name="RecommendedInstance"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="1" maxOccurs="1" - name="GUID"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> This GUID and - the Version attribute uniquely identify the - Recommended Library Instance. </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="RegistryFormatGuid"> - <xs:attribute name="Version" type="xs:decimal" - use="optional"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> This value, - along with the GUID, is used to uniquely identify - this object. If this value is not specified, then - any version of the library instance is - recommended. </xs:documentation> - </xs:annotation> - </xs:attribute> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> + <xs:element minOccurs="1" maxOccurs="1" name="GUID"> + <xs:annotation> + <xs:documentation xml:lang="en-us"> This GUID and the + Version attribute uniquely identify the Recommended Library + Instance. </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="RegistryFormatGuid"> + <xs:attribute name="Version" type="xs:decimal" + use="optional"> + <xs:annotation> + <xs:documentation xml:lang="en-us"> This value, along with + the GUID, is used to uniquely identify this object. If this + value is not specified, then any version of the library + instance is recommended. </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> </xs:sequence> </xs:complexType> </xs:element> - <xs:element ref="HelpText" minOccurs="0" - maxOccurs="unbounded"/> + <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="Keyword" type="xs:NCName" use="required"> <xs:annotation> - <xs:documentation xml:lang="en-us"> The single word name - of the Library Class that module developers will use - to identify a library class dependency. - </xs:documentation> + <xs:documentation xml:lang="en-us"> The single word name of the Library + Class that module developers will use to identify a library class + dependency. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attributeGroup ref="SupportedArchMod"/> @@ -505,28 +516,23 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="0" maxOccurs="1" name="IndustryStandardIncludes"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This section is used to list header - files for industry standards not under the auspices of UEFI.org. For - example, headers that contain definitions and data structures for the - USB specifications. </xs:documentation> + <xs:documentation xml:lang="en-us"> This section is used to list header files for industry + standards not under the auspices of UEFI.org. For example, headers that contain definitions + and data structures for the USB specifications. </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> - <xs:element minOccurs="1" maxOccurs="unbounded" - name="IndustryStandardHeader"> + <xs:element minOccurs="1" maxOccurs="unbounded" name="IndustryStandardHeader"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile" - type="xs:anyURI"> + <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile" type="xs:anyURI"> <xs:annotation> - <xs:documentation xml:lang="en-us"> The package - relative path and filename (in the content zip - file) of the industry standard include file. - </xs:documentation> + <xs:documentation xml:lang="en-us"> The package relative path and + filename (in the content zip file) of the industry standard include + file. </xs:documentation> </xs:annotation> </xs:element> - <xs:element ref="HelpText" minOccurs="0" - maxOccurs="unbounded"/> + <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> @@ -537,13 +543,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="0" maxOccurs="1" name="PackageIncludes"> <xs:annotation> - <xs:documentation xml:lang="en-us"> All top level header files that are - included by a package that are not listed above. They cannot - be:</xs:documentation> + <xs:documentation xml:lang="en-us"> All top level header files that are included by a package + that are not listed above. They cannot be:</xs:documentation> <xs:documentation xml:lang="en-us"> 1) Local to a module (module specific.) </xs:documentation> <xs:documentation xml:lang="en-us"> 2) An industry standard header. </xs:documentation> - <xs:documentation xml:lang="en-us"> 3) A library class header. - </xs:documentation> + <xs:documentation xml:lang="en-us"> 3) A library class header. </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> @@ -552,20 +556,19 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:sequence> <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is the - Package relative path and filename location within - the content ZIP file. </xs:documentation> + <xs:documentation xml:lang="en-us"> This is the Package relative path + and filename location within the content ZIP file. + </xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> - <xs:extension base="xs:anyURI"> - <xs:attributeGroup ref="SupportedArchMod"/> - </xs:extension> + <xs:extension base="xs:anyURI"> + <xs:attributeGroup ref="SupportedArchMod"/> + </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> - <xs:element ref="HelpText" minOccurs="0" - maxOccurs="unbounded"/> + <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> @@ -579,9 +582,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:sequence> <xs:element ref="ModuleSurfaceArea" minOccurs="1" maxOccurs="unbounded"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This section lists the - Module Surface Area for all modules provided with this - package. </xs:documentation> + <xs:documentation xml:lang="en-us"> This section lists the Module Surface Area for + all modules provided with this package. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> @@ -591,31 +593,26 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="0" maxOccurs="1" name="GuidDeclarations"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This section defines the mapping of GUID - C names to GUID values as a Registry Format GUID. </xs:documentation> - <xs:documentation xml:lang="en-us"> Modules that use these GUIDs must - specify their dependency on this package. </xs:documentation> + <xs:documentation xml:lang="en-us"> This section defines the mapping of GUID C names to GUID + values as a Registry Format GUID. </xs:documentation> + <xs:documentation xml:lang="en-us"> Modules that use these GUIDs must specify their dependency + on this package. </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element minOccurs="1" maxOccurs="unbounded" name="Entry"> <xs:annotation> - <xs:documentation xml:lang="en-us"> Individual GUID Declarations - </xs:documentation> + <xs:documentation xml:lang="en-us"> Individual GUID Declarations </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> - <xs:element minOccurs="1" maxOccurs="1" name="CName" - type="xs:NCName"/> + <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/> <xs:element minOccurs="1" maxOccurs="1" name="GuidValue" type="RegistryFormatGuid"/> - <xs:element ref="HelpText" minOccurs="0" - maxOccurs="unbounded"/> + <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> - <xs:attribute name="UiName" type="xs:normalizedString" - use="optional"/> - <xs:attribute name="GuidTypes" type="GuidListType" - use="optional"/> + <xs:attribute name="UiName" type="xs:normalizedString" use="optional"/> + <xs:attribute name="GuidTypes" type="GuidListType" use="optional"/> <xs:attributeGroup ref="SupportedArchMod"/> </xs:complexType> </xs:element> @@ -626,29 +623,26 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="0" maxOccurs="1" name="ProtocolDeclarations"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This section defines the mapping of - Protocol C names to GUID values as a Registry Format GUID. </xs:documentation> - <xs:documentation xml:lang="en-us"> Modules that use these Protocols must - specify their dependency on this package. </xs:documentation> + <xs:documentation xml:lang="en-us"> This section defines the mapping of Protocol C names to GUID + values as a Registry Format GUID. </xs:documentation> + <xs:documentation xml:lang="en-us"> Modules that use these Protocols must specify their + dependency on this package. </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element minOccurs="1" maxOccurs="unbounded" name="Entry"> <xs:annotation> - <xs:documentation xml:lang="en-us"> Individual Protocol - Declarations </xs:documentation> + <xs:documentation xml:lang="en-us"> Individual Protocol Declarations + </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> - <xs:element minOccurs="1" maxOccurs="1" name="CName" - type="xs:NCName"/> + <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/> <xs:element minOccurs="1" maxOccurs="1" name="GuidValue" type="RegistryFormatGuid"/> - <xs:element ref="HelpText" minOccurs="0" - maxOccurs="unbounded"/> + <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> - <xs:attribute name="UiName" type="xs:normalizedString" - use="optional"/> + <xs:attribute name="UiName" type="xs:normalizedString" use="optional"/> <xs:attributeGroup ref="SupportedArchMod"/> </xs:complexType> </xs:element> @@ -659,29 +653,25 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="0" maxOccurs="1" name="PpiDeclarations"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This section defines the mapping of Ppi - C names to GUID values as a Registry Format GUID. </xs:documentation> - <xs:documentation xml:lang="en-us"> Modules that use these Ppis must specify - their dependency on this package. </xs:documentation> + <xs:documentation xml:lang="en-us"> This section defines the mapping of Ppi C names to GUID + values as a Registry Format GUID. </xs:documentation> + <xs:documentation xml:lang="en-us"> Modules that use these Ppis must specify their dependency on + this package. </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element minOccurs="1" maxOccurs="unbounded" name="Entry"> <xs:annotation> - <xs:documentation xml:lang="en-us"> Individual PPI Declarations - </xs:documentation> + <xs:documentation xml:lang="en-us"> Individual PPI Declarations </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> - <xs:element minOccurs="1" maxOccurs="1" name="CName" - type="xs:NCName"/> + <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/> <xs:element minOccurs="1" maxOccurs="1" name="GuidValue" type="RegistryFormatGuid"/> - <xs:element ref="HelpText" minOccurs="0" - maxOccurs="unbounded"/> + <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> - <xs:attribute name="UiName" type="xs:normalizedString" - use="optional"/> + <xs:attribute name="UiName" type="xs:normalizedString" use="optional"/> <xs:attributeGroup ref="SupportedArchMod"/> </xs:complexType> </xs:element> @@ -692,63 +682,54 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="0" maxOccurs="1" name="PcdDeclarations"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This section is used to declare platform - configuration knobs that are defined by this package. </xs:documentation> - <xs:documentation xml:lang="en-us"> Modules that use these PCD values must - specify their dependency on this package. </xs:documentation> + <xs:documentation xml:lang="en-us"> This section is used to declare platform configuration knobs + that are defined by this package. </xs:documentation> + <xs:documentation xml:lang="en-us"> Modules that use these PCD values must specify their + dependency on this package. </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element minOccurs="1" maxOccurs="unbounded" name="PcdEntry"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="1" maxOccurs="1" - name="TokenSpaceGuidCname" type="xs:NCName"> + <xs:element minOccurs="1" maxOccurs="1" name="TokenSpaceGuidCname" + type="xs:NCName"> <xs:annotation> - <xs:documentation xml:lang="en-us"> Specifies the C - name of the Token Space GUID of which this PCD - Entry is a member. This C name should also be - listed in the GUIDs section, (specified above,) - where the C name is assigned to a GUID value. - </xs:documentation> + <xs:documentation xml:lang="en-us"> Specifies the C name of the Token + Space GUID of which this PCD Entry is a member. This C name should + also be listed in the GUIDs section, (specified above,) where the C + name is assigned to a GUID value. </xs:documentation> </xs:annotation> </xs:element> <xs:element minOccurs="1" maxOccurs="1" name="Token"> <xs:annotation> - <xs:documentation xml:lang="en-us"> Specifies the - 32-bit token value for this PCD Entry. The Token - number must be unique to the Token Space that - declares the PCD. </xs:documentation> - <xs:documentation xml:lang="en-us"> The minLength of - 3 is required to handle the "0x" prefix to the hex - number. </xs:documentation> + <xs:documentation xml:lang="en-us"> Specifies the 32-bit token value for + this PCD Entry. The Token number must be unique to the Token Space + that declares the PCD. </xs:documentation> + <xs:documentation xml:lang="en-us"> The minLength of 3 is required to + handle the "0x" prefix to the hex number. </xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="HexNumber"> - <xs:minLength value="3"/> - <xs:maxLength value="10"/> + <xs:minLength value="3"/> + <xs:maxLength value="10"/> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element minOccurs="1" maxOccurs="1" name="CName" - type="xs:NCName"/> - <xs:element minOccurs="1" maxOccurs="1" name="DatumType" - type="PcdDatumTypes"> + <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/> + <xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDatumTypes"> <xs:annotation> - <xs:documentation xml:lang="en-us"> A string that - contains the data type of this PCD Entry. PCD data - types are restricted to the following set:UINT8, - UINT16, UINT32, UINT64, VOID*, BOOLEAN. + <xs:documentation xml:lang="en-us"> A string that contains the data type + of this PCD Entry. PCD data types are restricted to the following + set:UINT8, UINT16, UINT32, UINT64, VOID*, BOOLEAN. </xs:documentation> </xs:annotation> </xs:element> - <xs:element minOccurs="1" maxOccurs="1" name="ValidUsage" - type="PcdItemListType"> + <xs:element minOccurs="1" maxOccurs="1" name="ValidUsage" type="PcdItemListType"> <xs:annotation> - <xs:documentation xml:lang="en-us"> A string that - contains one or more PCD Item types separated by - spaces. The PCD Item types are restricted to - FeaturePcd, FixedPcd, PatchPcd, Pcd and/or PcdEx. + <xs:documentation xml:lang="en-us"> A string that contains one or more + PCD Item types separated by spaces. The PCD Item types are + restricted to FeaturePcd, FixedPcd, PatchPcd, Pcd and/or PcdEx. </xs:documentation> </xs:annotation> </xs:element> @@ -756,118 +737,118 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. type="xs:normalizedString"/> <xs:element minOccurs="0" maxOccurs="1" name="MaxDatumSize"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is a - recommended maximum data size for VOID* data - types, the actual value should be defined by the - Platform Integrator. It is not required for the - other data types. </xs:documentation> - <xs:documentation xml:lang="en-us"> The minLength of - 3 is required to handle the "0x" prefix to the hex - number. </xs:documentation> + <xs:documentation xml:lang="en-us"> This is a recommended maximum data + size for VOID* data types, the actual value should be defined by the + Platform Integrator. It is not required for the other data types. </xs:documentation> + <xs:documentation xml:lang="en-us"> The minLength of 3 is required to + handle the "0x" prefix to the hex number. </xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="HexNumber"> - <xs:minLength value="3"/> + <xs:minLength value="3"/> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element ref="HelpText" minOccurs="0" - maxOccurs="unbounded"/> + <xs:element minOccurs="0" maxOccurs="unbounded" name="Prompt"> + <xs:annotation> + <xs:documentation xml:lang="en-US"> This entry contains prompt + information, that may used by tools to assist platform integrators + with choosing the correct values </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Lang" type="xs:language" default="en-us" + use="optional"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> - <xs:element minOccurs="0" maxOccurs="unbounded" - name="PcdError"> + <xs:element minOccurs="0" maxOccurs="unbounded" name="PcdError"> <xs:annotation> - <xs:documentation xml:lang="en-us"> Valid Error - messages that may be implemented in a module for - the PCD Entry. Only One Error Number per PcdError, - (multiple ErrorMessage entries are permitted) and - multiple PcdError elements are permitted. - </xs:documentation> + <xs:documentation xml:lang="en-us"> Valid Error messages that may be + implemented in a module for the PCD Entry. Only One Error Number per + PcdError, (multiple ErrorMessage entries are permitted) and multiple + PcdError elements are permitted. </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> - <xs:choice minOccurs="1" maxOccurs="1"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> One of the - following types of comparisons, which must be able - to evaluate to either true or false. - </xs:documentation> - </xs:annotation> - <xs:element minOccurs="0" maxOccurs="1" - name="ValidValueList"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> The PCD Value - must be space separated list of values. Values are - restricted to the data type of this PCD. - </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:normalizedString"> - <xs:attribute name="Lang" type="xs:language" - use="optional"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element minOccurs="0" maxOccurs="1" - name="ValidValueRange" type="xs:normalizedString"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> The PCD must - be within a specifed range of numeric values. - Restricted to C style Relational, Equality and - Logicial Operators and parenthesis are valid. Only - the CName for this PCD is permitted in the - ValidValueRange expression. All other values must - be numeric.</xs:documentation> - <xs:documentation xml:lang="en-us"> LValue (op - RValue)+ </xs:documentation> - </xs:annotation> - </xs:element> - <xs:element minOccurs="0" maxOccurs="1" - name="Expression" type="xs:normalizedString"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> A in-fix - logical expression using C style logical - operators. </xs:documentation> - </xs:annotation> - </xs:element> - </xs:choice> - <xs:element minOccurs="1" maxOccurs="1" - name="ErrorNumber"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> A hexadecimal - value for the error message as defined by - specifications. </xs:documentation> - <xs:documentation xml:lang="en-us"> The minLength - of 3 is required to handle the "0x" prefix to the - hex number. </xs:documentation> - - </xs:annotation> - <xs:simpleType> - <xs:restriction base="HexNumber"> - <xs:minLength value="3"/> - </xs:restriction> - </xs:simpleType> - </xs:element> - <xs:element minOccurs="1" maxOccurs="unbounded" - name="ErrorMessage"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> This string - should be defined by specifications. There are - pre-defined error number ranges in the UEFI/PI - specificaiton. </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Lang" type="xs:language" - default="en-us" use="optional"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> + <xs:choice minOccurs="1" maxOccurs="1"> + <xs:annotation> + <xs:documentation xml:lang="en-us"> One of the following + types of comparisons, which must be able to evaluate to + either true or false. </xs:documentation> + </xs:annotation> + <xs:element minOccurs="0" maxOccurs="1" name="ValidValueList"> + <xs:annotation> + <xs:documentation xml:lang="en-us"> The PCD Value must be + space separated list of values. Values are restricted to the + data type of this PCD. </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:normalizedString"> + <xs:attribute name="Lang" type="xs:language" use="optional" + /> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" maxOccurs="1" name="ValidValueRange" + type="xs:normalizedString"> + <xs:annotation> + <xs:documentation xml:lang="en-us"> The PCD must be within a + specifed range of numeric values. Restricted to C style + Relational, Equality and Logicial Operators and parenthesis + are valid. Only the CName for this PCD is permitted in the + ValidValueRange expression. All other values must be + numeric.</xs:documentation> + <xs:documentation xml:lang="en-us"> LValue (op RValue)+ + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" maxOccurs="1" name="Expression" + type="xs:normalizedString"> + <xs:annotation> + <xs:documentation xml:lang="en-us"> A in-fix logical + expression using C style logical operators. + </xs:documentation> + </xs:annotation> + </xs:element> + </xs:choice> + <xs:element minOccurs="1" maxOccurs="1" name="ErrorNumber"> + <xs:annotation> + <xs:documentation xml:lang="en-us"> A hexadecimal value for + the error message as defined by specifications. </xs:documentation> + <xs:documentation xml:lang="en-us"> The minLength of 3 is + required to handle the "0x" prefix to the hex number. </xs:documentation> + + </xs:annotation> + <xs:simpleType> + <xs:restriction base="HexNumber"> + <xs:minLength value="3"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element minOccurs="1" maxOccurs="unbounded" name="ErrorMessage"> + <xs:annotation> + <xs:documentation xml:lang="en-us"> This string should be + defined by specifications. There are pre-defined error + number ranges in the UEFI/PI specificaiton. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Lang" type="xs:language" default="en-us" + use="optional"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> </xs:sequence> </xs:complexType> </xs:element> @@ -882,22 +863,19 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="0" maxOccurs="1" name="PcdRelationshipChecks"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This section is used to describe any PCD - interdependencies or relationships. </xs:documentation> + <xs:documentation xml:lang="en-us"> This section is used to describe any PCD interdependencies + or relationships. </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> - <xs:element minOccurs="1" maxOccurs="unbounded" name="PcdCheck" - type="xs:normalizedString"> + <xs:element minOccurs="1" maxOccurs="unbounded" name="PcdCheck" type="xs:normalizedString"> <xs:annotation> <xs:documentation xml:lang="en-us"> This entry must used - TokenSpaceGuidCName.PcdCname for every named PCD. Restricted - to Relational, Equality and Logical Operators (NOT, AND, OR, - GT, GE, EQ, LE, LT and XOR) and parenthesis are valid. Only - the TokenSpaceGuidCName.PcdCname us permitted to name PCDs - in the expression. All other values must be numeric. </xs:documentation> - <xs:documentation xml:lang="en-us"> LValue (op RValue)+ - </xs:documentation> + TokenSpaceGuidCName.PcdCname for every named PCD. Restricted to Relational, + Equality and Logical Operators (NOT, AND, OR, GT, GE, EQ, LE, LT and XOR) and + parenthesis are valid. Only the TokenSpaceGuidCName.PcdCname us permitted to + name PCDs in the expression. All other values must be numeric. </xs:documentation> + <xs:documentation xml:lang="en-us"> LValue (op RValue)+ </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> @@ -906,53 +884,49 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="0" maxOccurs="unbounded" name="MiscellaneousFiles"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This section contains files that are not - part of the code distributed with this package. </xs:documentation> + <xs:documentation xml:lang="en-us"> This section contains files that are not part of the code + distributed with this package. </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" maxOccurs="1" name="Copyright" - type="xs:string"> + <xs:element minOccurs="0" maxOccurs="1" name="Copyright" type="xs:string"> <xs:annotation> - <xs:documentation xml:lang="en-us"> Only required if different - from the Package Copyright. </xs:documentation> + <xs:documentation xml:lang="en-us"> Only required if different from the Package + Copyright. </xs:documentation> </xs:annotation> </xs:element> <xs:element minOccurs="0" maxOccurs="1" name="License" type="xs:string"> <xs:annotation> - <xs:documentation xml:lang="en-us"> Only required if different - from the Package License. </xs:documentation> + <xs:documentation xml:lang="en-us"> Only required if different from the Package + License. </xs:documentation> </xs:annotation> </xs:element> <xs:element minOccurs="0" maxOccurs="1" name="Abstract" type="xs:string"> <xs:annotation> - <xs:documentation xml:lang="en-us"> A one line description of - this section's content. </xs:documentation> + <xs:documentation xml:lang="en-us"> A one line description of this section's + content. </xs:documentation> </xs:annotation> </xs:element> - <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" - type="xs:string"> + <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="xs:string"> <xs:annotation> - <xs:documentation xml:lang="en-us"> A complete description of - the files in this section. </xs:documentation> + <xs:documentation xml:lang="en-us"> A complete description of the files in this + section. </xs:documentation> </xs:annotation> </xs:element> <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is the PackagePath - relative path and filename location within the ZIP file. - </xs:documentation> + <xs:documentation xml:lang="en-us"> This is the PackagePath relative path and + filename location within the ZIP file. </xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:anyURI"> - <xs:attribute name="Executable" type="xs:boolean" - default="false" use="optional"> + <xs:attribute name="Executable" type="xs:boolean" default="false" + use="optional"> <xs:annotation> - <xs:documentation xml:lang="en-us"> If true, used - by installation tools to ensure that a file that - must be executable has the correct properties to - permit execution. </xs:documentation> + <xs:documentation xml:lang="en-us"> If true, used by installation + tools to ensure that a file that must be executable has the + correct properties to permit execution. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> @@ -967,9 +941,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="0" maxOccurs="unbounded" name="UserExtensions"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This section is used for any processing - instructions that may be custom to the content provided by this package - that are common to this package. </xs:documentation> + <xs:documentation xml:lang="en-us"> This section is used for any processing instructions that + may be custom to the content provided by this package that are common to this package. + </xs:documentation> </xs:annotation> <xs:complexType mixed="true"> <xs:sequence> @@ -977,22 +951,20 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. </xs:sequence> <xs:attribute name="UserId" type="xs:NCName" use="required"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is a single word identifier - for grouping similar content that does not fit into previously - defined sections or other sections of the Distribution. - </xs:documentation> + <xs:documentation xml:lang="en-us"> This is a single word identifier for grouping + similar content that does not fit into previously defined sections or other sections + of the Distribution. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="Identifier" type="xs:string" use="required"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This can be used to - differentiate multiple sections with a grouping. </xs:documentation> - <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS - Identifier might indicate specific steps and tools required - before processing module content, while a different - UserExtensions section with a POST_PROCESS Identifier might - describe steps that need to be executed after operations on the - modules in this package. </xs:documentation> + <xs:documentation xml:lang="en-us"> This can be used to differentiate multiple sections + with a grouping. </xs:documentation> + <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS Identifier might indicate + specific steps and tools required before processing module content, while a + different UserExtensions section with a POST_PROCESS Identifier might describe steps + that need to be executed after operations on the modules in this package. + </xs:documentation> </xs:annotation> </xs:attribute> <xs:anyAttribute processContents="lax"/> @@ -1007,10 +979,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element name="ModuleSurfaceArea"> <xs:annotation> - <xs:documentation xml:lang="en-us"> Each module is uniquely identified by it's GUID and - Version number. Backward compatible releases of a module need only change the - version number, while non-backward compatible changes require the GUID to change - (resetting the version number to 1.0 is optional.) </xs:documentation> + <xs:documentation xml:lang="en-us"> Each module is uniquely identified by it's GUID and Version number. + Backward compatible releases of a module need only change the version number, while non-backward + compatible changes require the GUID to change (resetting the version number to 1.0 is optional.) + </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> @@ -1020,21 +992,18 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:sequence> <xs:element minOccurs="1" maxOccurs="1" name="Name"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is the User Interface - Name for this Module. </xs:documentation> + <xs:documentation xml:lang="en-us"> This is the User Interface Name for this Module. + </xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:normalizedString"> - <xs:attribute name="BaseName" type="xs:NMTOKEN" - use="required"> + <xs:attribute name="BaseName" type="xs:NMTOKEN" use="required"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is a - single word BaseName that will be used to create a - module meta-data file. </xs:documentation> - <xs:documentation xml:lang="en-us"> This name - should also be used to create output file names - and directories. </xs:documentation> + <xs:documentation xml:lang="en-us"> This is a single word BaseName + that will be used to create a module meta-data file. </xs:documentation> + <xs:documentation xml:lang="en-us"> This name should also be used to + create output file names and directories. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> @@ -1043,63 +1012,84 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. </xs:element> <xs:element minOccurs="1" maxOccurs="1" name="GUID"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This GUID and the Version - attribute uniquely identify a given Module. - </xs:documentation> + <xs:documentation xml:lang="en-us"> This GUID and the Version attribute uniquely + identify a given Module. </xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="RegistryFormatGuid"> - <xs:attribute name="Version" type="xs:decimal" - use="required"> + <xs:attribute name="Version" type="xs:decimal" use="required"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This value, - along with the GUID, is used to uniquely identify - this object. </xs:documentation> - <xs:documentation xml:lang="en-us"> Backward - compatible changes must make sure this number is - incremented from the most recent version. - Non-backward compatible changes require a new - GUID, and the version can be reset. - </xs:documentation> + <xs:documentation xml:lang="en-us"> This value, along with the GUID, + is used to uniquely identify this object. </xs:documentation> + <xs:documentation xml:lang="en-us"> Backward compatible changes must + make sure this number is incremented from the most recent + version. Non-backward compatible changes require a new GUID, and + the version can be reset. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> - <xs:element minOccurs="0" maxOccurs="1" name="Copyright" - type="xs:string"> + <xs:element minOccurs="0" maxOccurs="unbounded" name="Copyright"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is only required if the - Copyright is different from either the Package or - Distribution copyright. Multiple copyright lines are - permitted within this section. </xs:documentation> + <xs:documentation xml:lang="en-us"> This is only required if the Copyright is + different from either the Package or Distribution copyright. Multiple copyright + lines are permitted within this section. </xs:documentation> </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional" + /> + </xs:extension> + </xs:simpleContent> + </xs:complexType> </xs:element> - <xs:element minOccurs="0" maxOccurs="1" name="License" type="xs:string"> + <xs:element minOccurs="0" maxOccurs="unbounded" name="License"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is only required if the - license is different from either the Package or Distribution - license. Multiple licenses are permitted within this - section. </xs:documentation> + <xs:documentation xml:lang="en-us"> This is only required if the license is + different from either the Package or Distribution license. Multiple licenses are + permitted within this section. </xs:documentation> </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional" + /> + </xs:extension> + </xs:simpleContent> + </xs:complexType> </xs:element> - <xs:element minOccurs="0" maxOccurs="1" name="Abstract" - type="xs:normalizedString"> + <xs:element minOccurs="0" maxOccurs="unbounded" name="Abstract"> <xs:annotation> - <xs:documentation xml:lang="en-us"> A brief text description of - the module. </xs:documentation> + <xs:documentation xml:lang="en-us"> A brief text description of the module. + </xs:documentation> </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:normalizedString"> + <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional" + /> + </xs:extension> + </xs:simpleContent> + </xs:complexType> </xs:element> - <xs:element minOccurs="0" maxOccurs="1" name="Description" - type="xs:string"> + <xs:element minOccurs="0" maxOccurs="unbounded" name="Description"> <xs:annotation> - <xs:documentation xml:lang="en-us"> A complete description of - the module contents and/or features including a description - of the updates since the previous module release. - </xs:documentation> + <xs:documentation xml:lang="en-us"> A complete description of the module contents + and/or features including a description of the updates since the previous module + release. </xs:documentation> </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional" + /> + </xs:extension> + </xs:simpleContent> + </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> @@ -1108,35 +1098,31 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="0" maxOccurs="1" name="ModuleProperties"> <xs:annotation> - <xs:documentation xml:lang="en-us"> List general information about a module, - including the Supported Architectures, this module's type, - specifications the module is coded against, and other informational - content. </xs:documentation> + <xs:documentation xml:lang="en-us"> List general information about a module, including the + Supported Architectures, this module's type, specifications the module is coded against, and + other informational content. </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> - <xs:element minOccurs="1" maxOccurs="1" name="ModuleType" - type="ModuleTypes"> + <xs:element minOccurs="1" maxOccurs="1" name="ModuleType" type="ModuleTypes"> <xs:annotation> - <xs:documentation xml:lang="en-us"> One of the Enumerated module - types that limit the use of a module. </xs:documentation> + <xs:documentation xml:lang="en-us"> One of the Enumerated module types that limit + the use of a module. </xs:documentation> </xs:annotation> </xs:element> <xs:element minOccurs="1" maxOccurs="1" name="Path" type="xs:anyURI"> <xs:annotation> - <xs:documentation xml:lang="en-us"> For stand-alone modules that - are NOT part of any package, this is the path to the root of - the module as listed in the ZIP file. For modules included - in a package, this is the location, relative to the root of - the package (PackagePath) this module belongs to. - </xs:documentation> + <xs:documentation xml:lang="en-us"> For stand-alone modules that are NOT part of any + package, this is the path to the root of the module as listed in the ZIP file. + For modules included in a package, this is the location, relative to the root of + the package (PackagePath) this module belongs to. </xs:documentation> </xs:annotation> </xs:element> <xs:element minOccurs="0" maxOccurs="1" name="PcdIsDriver"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This element is only - required for the PEIM that produces the PCD PPI or the DXE - Driver that produces the PCD Protocol. </xs:documentation> + <xs:documentation xml:lang="en-us"> This element is only required for the PEIM that + produces the PCD PPI or the DXE Driver that produces the PCD Protocol. + </xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:NCName"> @@ -1146,25 +1132,21 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. </xs:simpleType> </xs:element> - <xs:element minOccurs="0" maxOccurs="1" name="UefiSpecificationVersion" - type="xs:decimal"/> + <xs:element minOccurs="0" maxOccurs="1" name="UefiSpecificationVersion" type="xs:decimal"/> - <xs:element minOccurs="0" maxOccurs="1" name="PiSpecificationVersion" - type="xs:decimal"/> + <xs:element minOccurs="0" maxOccurs="1" name="PiSpecificationVersion" type="xs:decimal"/> <xs:element minOccurs="0" maxOccurs="unbounded" name="Specification"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is a list of other - specifications that this module is written against. These - entries can be used in #define statements (depending on the - build system implementation, they may be autogenerated.) + <xs:documentation xml:lang="en-us"> This is a list of other specifications that this + module is written against. These entries can be used in #define statements + (depending on the build system implementation, they may be autogenerated.) </xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:NCName"> - <xs:attribute name="Version" type="xs:decimal" - use="required"/> + <xs:attribute name="Version" type="xs:decimal" use="required"/> </xs:extension> </xs:simpleContent> </xs:complexType> @@ -1172,156 +1154,139 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="0" maxOccurs="unbounded" name="BootMode"> <xs:annotation> - <xs:documentation xml:lang="en-us"> Different firmware execution - paths may be taken based on a given state of the hardware, - firmware, or through feature settings. A BootMode may be - declared (PRODUCES) or discovered (CONSUMES) based on these - states and feature settings. If the usage is UNDEFINE, it - implies that a Boot Mode is used, but the package creator - does not know how it is used. The supported boot modes map - to the PI specification Boot Modes. The boot modes listed - with Recovery are to indicate that the BootMode is valid - during a recovery boot. </xs:documentation> + <xs:documentation xml:lang="en-us"> Different firmware execution paths may be taken + based on a given state of the hardware, firmware, or through feature settings. A + BootMode may be declared (PRODUCES) or discovered (CONSUMES) based on these + states and feature settings. If the usage is UNDEFINE, it implies that a Boot + Mode is used, but the package creator does not know how it is used. The + supported boot modes map to the PI specification Boot Modes. The boot modes + listed with Recovery are to indicate that the BootMode is valid during a + recovery boot. </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence minOccurs="0"> - <xs:element minOccurs="1" maxOccurs="1" - name="SupportedBootModes"> + <xs:element minOccurs="1" maxOccurs="1" name="SupportedBootModes"> <xs:simpleType> <xs:list> - <xs:simpleType> - <xs:restriction base="xs:NCName"> - <xs:enumeration value="FULL"/> - <xs:enumeration value="MINIMAL"/> - <xs:enumeration value="NO_CHANGE"/> - <xs:enumeration value="DIAGNOSTICS"/> - <xs:enumeration value="DEFAULT"/> - <xs:enumeration value="S2_RESUME"/> - <xs:enumeration value="S3_RESUME"/> - <xs:enumeration value="S4_RESUME"/> - <xs:enumeration value="S5_RESUME"/> - <xs:enumeration value="FLASH_UPDATE"/> - <xs:enumeration value="RECOVERY_FULL"/> - <xs:enumeration value="RECOVERY_MINIMAL"/> - <xs:enumeration value="RECOVERY_NO_CHANGE"/> - <xs:enumeration value="RECOVERY_DIAGNOSTICS"/> - <xs:enumeration value="RECOVERY_DEFAULT"/> - <xs:enumeration value="RECOVERY_S2_RESUME"/> - <xs:enumeration value="RECOVERY_S3_RESUME"/> - <xs:enumeration value="RECOVERY_S4_RESUME"/> - <xs:enumeration value="RECOVERY_S5_RESUME"/> - <xs:enumeration value="RECOVERY_FLASH_UPDATE"/> - <xs:enumeration value="UNDEFINED"/> - </xs:restriction> - </xs:simpleType> + <xs:simpleType> + <xs:restriction base="xs:NCName"> + <xs:enumeration value="FULL"/> + <xs:enumeration value="MINIMAL"/> + <xs:enumeration value="NO_CHANGE"/> + <xs:enumeration value="DIAGNOSTICS"/> + <xs:enumeration value="DEFAULT"/> + <xs:enumeration value="S2_RESUME"/> + <xs:enumeration value="S3_RESUME"/> + <xs:enumeration value="S4_RESUME"/> + <xs:enumeration value="S5_RESUME"/> + <xs:enumeration value="FLASH_UPDATE"/> + <xs:enumeration value="RECOVERY_FULL"/> + <xs:enumeration value="RECOVERY_MINIMAL"/> + <xs:enumeration value="RECOVERY_NO_CHANGE"/> + <xs:enumeration value="RECOVERY_DIAGNOSTICS"/> + <xs:enumeration value="RECOVERY_DEFAULT"/> + <xs:enumeration value="RECOVERY_S2_RESUME"/> + <xs:enumeration value="RECOVERY_S3_RESUME"/> + <xs:enumeration value="RECOVERY_S4_RESUME"/> + <xs:enumeration value="RECOVERY_S5_RESUME"/> + <xs:enumeration value="RECOVERY_FLASH_UPDATE"/> + <xs:enumeration value="UNDEFINED"/> + </xs:restriction> + </xs:simpleType> </xs:list> </xs:simpleType> </xs:element> - <xs:element ref="HelpText" minOccurs="0" - maxOccurs="unbounded"/> + <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="Usage" use="required"> <xs:simpleType> <xs:restriction base="xs:NCName"> <xs:enumeration value="CONSUMES"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> The module - always supports the given boot modes. - </xs:documentation> - </xs:annotation> + <xs:annotation> + <xs:documentation xml:lang="en-us"> The module always supports + the given boot modes. </xs:documentation> + </xs:annotation> </xs:enumeration> <xs:enumeration value="SOMETIMES_CONSUMES"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> The module may - support a given mode on some execution paths. - </xs:documentation> - </xs:annotation> + <xs:annotation> + <xs:documentation xml:lang="en-us"> The module may support a + given mode on some execution paths. </xs:documentation> + </xs:annotation> </xs:enumeration> <xs:enumeration value="PRODUCES"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> The module - will change the boot mode. </xs:documentation> - </xs:annotation> + <xs:annotation> + <xs:documentation xml:lang="en-us"> The module will change the + boot mode. </xs:documentation> + </xs:annotation> </xs:enumeration> <xs:enumeration value="SOMETIME_PRODUCES"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> The module - will change the boot mode on some exection paths. - </xs:documentation> - </xs:annotation> + <xs:annotation> + <xs:documentation xml:lang="en-us"> The module will change the + boot mode on some exection paths. </xs:documentation> + </xs:annotation> </xs:enumeration> <xs:enumeration value="UNDEFINED"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> The package - creator does not know how the boot mode is used. - </xs:documentation> - </xs:annotation> + <xs:annotation> + <xs:documentation xml:lang="en-us"> The package creator does not + know how the boot mode is used. </xs:documentation> + </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> </xs:attribute> - <xs:attribute name="SupArchList" type="ArchListType" - use="optional"/> - <xs:attribute name="FeatureFlag" type="xs:normalizedString" - use="optional"/> + <xs:attribute name="SupArchList" type="ArchListType" use="optional"/> + <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/> </xs:complexType> </xs:element> - <xs:element minOccurs="0" maxOccurs="unbounded" name="Event" - nillable="true"> + <xs:element minOccurs="0" maxOccurs="unbounded" name="Event" nillable="true"> <xs:annotation> - <xs:documentation xml:lang="en-us"> The functions that make up - the Event, Timer, and Task Priority Services are used during - preboot to create, close, signal, and wait for events; to - set timers; and to raise and restore task priority levels as - defined in the UEFI specification. GUIDed events should be - listed in the Guids section. </xs:documentation> + <xs:documentation xml:lang="en-us"> The functions that make up the Event, Timer, and + Task Priority Services are used during preboot to create, close, signal, and + wait for events; to set timers; and to raise and restore task priority levels as + defined in the UEFI specification. GUIDed events should be listed in the Guids + section. </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> - <xs:element ref="HelpText" minOccurs="0" - maxOccurs="unbounded"/> + <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="Usage" use="required"> <xs:simpleType> <xs:restriction base="xs:NCName"> <xs:enumeration value="CONSUMES"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> The module - will register a notification function and calls - the function when it is signaled. - </xs:documentation> - </xs:annotation> + <xs:annotation> + <xs:documentation xml:lang="en-us"> The module will register a + notification function and calls the function when it is + signaled. </xs:documentation> + </xs:annotation> </xs:enumeration> <xs:enumeration value="SOMETIMES_CONSUMES"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> The module - will register a notification function and calls - the function when it is signaled on some execution - paths. </xs:documentation> - </xs:annotation> + <xs:annotation> + <xs:documentation xml:lang="en-us"> The module will register a + notification function and calls the function when it is + signaled on some execution paths. </xs:documentation> + </xs:annotation> </xs:enumeration> <xs:enumeration value="PRODUCES"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> The module - will signal all events in an event group. - </xs:documentation> - </xs:annotation> + <xs:annotation> + <xs:documentation xml:lang="en-us"> The module will signal all + events in an event group. </xs:documentation> + </xs:annotation> </xs:enumeration> <xs:enumeration value="SOMETIMES_PRODUCES"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> The module - will signal all events in an event group under - some execution paths. </xs:documentation> - </xs:annotation> + <xs:annotation> + <xs:documentation xml:lang="en-us"> The module will signal all + events in an event group under some execution paths. + </xs:documentation> + </xs:annotation> </xs:enumeration> <xs:enumeration value="UNDEFINED"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> The package - creator does not know how an event is used. - </xs:documentation> - </xs:annotation> + <xs:annotation> + <xs:documentation xml:lang="en-us"> The package creator does not + know how an event is used. </xs:documentation> + </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> @@ -1337,24 +1302,19 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. </xs:attribute> - <xs:attribute name="SupArchList" type="ArchListType" - use="optional"/> - <xs:attribute name="FeatureFlag" type="xs:normalizedString" - use="optional"/> + <xs:attribute name="SupArchList" type="ArchListType" use="optional"/> + <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/> </xs:complexType> </xs:element> - <xs:element minOccurs="0" maxOccurs="unbounded" name="HOB" - nillable="false"> + <xs:element minOccurs="0" maxOccurs="unbounded" name="HOB" nillable="false"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is a list of non-GUIDed - Hand Off Blocks (HOBs) produced or consumed by this module. - </xs:documentation> + <xs:documentation xml:lang="en-us"> This is a list of non-GUIDed Hand Off Blocks + (HOBs) produced or consumed by this module. </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> - <xs:element ref="HelpText" minOccurs="0" - maxOccurs="unbounded"/> + <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="HobType" use="required"> <xs:simpleType> @@ -1372,44 +1332,41 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:simpleType> <xs:restriction base="xs:NCName"> <xs:enumeration value="CONSUMES"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> A HOB must be - present in the system. </xs:documentation> - </xs:annotation> + <xs:annotation> + <xs:documentation xml:lang="en-us"> A HOB must be present in the + system. </xs:documentation> + </xs:annotation> </xs:enumeration> <xs:enumeration value="SOMETIMES_CONSUMES"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> If present, - the HOB will be used. </xs:documentation> - </xs:annotation> + <xs:annotation> + <xs:documentation xml:lang="en-us"> If present, the HOB will be + used. </xs:documentation> + </xs:annotation> </xs:enumeration> <xs:enumeration value="PRODUCES"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> The HOB is - always produced by the module. </xs:documentation> - </xs:annotation> + <xs:annotation> + <xs:documentation xml:lang="en-us"> The HOB is always produced + by the module. </xs:documentation> + </xs:annotation> </xs:enumeration> <xs:enumeration value="SOMETIMES_PRODUCES"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> The HOB may be - produced by the module under some execution paths. - </xs:documentation> - </xs:annotation> + <xs:annotation> + <xs:documentation xml:lang="en-us"> The HOB may be produced by + the module under some execution paths. </xs:documentation> + </xs:annotation> </xs:enumeration> <xs:enumeration value="UNDEFINED"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> The package - creator knows that a HOB is used, but does not - know how it is used. </xs:documentation> - </xs:annotation> + <xs:annotation> + <xs:documentation xml:lang="en-us"> The package creator knows + that a HOB is used, but does not know how it is used. + </xs:documentation> + </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> </xs:attribute> - <xs:attribute name="SupArchList" type="ArchListType" - use="optional"/> - <xs:attribute name="FeatureFlag" type="xs:normalizedString" - use="optional"/> + <xs:attribute name="SupArchList" type="ArchListType" use="optional"/> + <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/> </xs:complexType> </xs:element> @@ -1421,26 +1378,23 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="0" maxOccurs="1" name="ClonedFrom"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This section may be included for Modules - that are copied from a different module. </xs:documentation> + <xs:documentation xml:lang="en-us"> This section may be included for Modules that are copied + from a different module. </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element minOccurs="1" maxOccurs="1" name="GUID"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This GUID and the Version - attribute uniquely identify the Module that this Module was - copied from. </xs:documentation> + <xs:documentation xml:lang="en-us"> This GUID and the Version attribute uniquely + identify the Module that this Module was copied from. </xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="RegistryFormatGuid"> - <xs:attribute name="Version" type="xs:decimal" - use="required"> + <xs:attribute name="Version" type="xs:decimal" use="required"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This value, - along with the GUID, is used to uniquely identify - this object. </xs:documentation> + <xs:documentation xml:lang="en-us"> This value, along with the GUID, + is used to uniquely identify this object. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> @@ -1454,68 +1408,59 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="0" maxOccurs="1" name="LibraryClassDefinitions"> <xs:annotation> - <xs:documentation xml:lang="en-us"> A list of the different Library Classes - consumed by a driver, core and/or application module, or produced by a - Library module. </xs:documentation> + <xs:documentation xml:lang="en-us"> A list of the different Library Classes consumed by a + driver, core and/or application module, or produced by a Library module. </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element minOccurs="1" maxOccurs="unbounded" name="LibraryClass"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="1" maxOccurs="1" name="Keyword" - type="xs:NCName"> + <xs:element minOccurs="1" maxOccurs="1" name="Keyword" type="xs:NCName"> <xs:annotation> - <xs:documentation xml:lang="en-us "> Used by tools - to identify different instances of libraries that - provide the library class. This keyword identifies - the library class this module needs to be linked - against. </xs:documentation> + <xs:documentation xml:lang="en-us "> Used by tools to identify different + instances of libraries that provide the library class. This keyword + identifies the library class this module needs to be linked against. + </xs:documentation> </xs:annotation> </xs:element> - <xs:element minOccurs="0" maxOccurs="1" - name="RecommendedInstance"> + <xs:element minOccurs="0" maxOccurs="1" name="RecommendedInstance"> <xs:complexType> <xs:all> - <xs:element minOccurs="1" maxOccurs="1" - name="GUID"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> This GUID and - the Version attribute uniquely identify the - recommended Library Instance for this module . - </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="RegistryFormatGuid"> - <xs:attribute name="Version" type="xs:decimal" - use="optional"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> This value, - along with the GUID, is used to uniquely identify - this object. </xs:documentation> - </xs:annotation> - </xs:attribute> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> + <xs:element minOccurs="1" maxOccurs="1" name="GUID"> + <xs:annotation> + <xs:documentation xml:lang="en-us"> This GUID and the + Version attribute uniquely identify the recommended Library + Instance for this module . </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="RegistryFormatGuid"> + <xs:attribute name="Version" type="xs:decimal" + use="optional"> + <xs:annotation> + <xs:documentation xml:lang="en-us"> This value, along with + the GUID, is used to uniquely identify this object. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> </xs:all> </xs:complexType> </xs:element> - <xs:element ref="HelpText" minOccurs="0" - maxOccurs="unbounded"/> + <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="Usage" use="required"> <xs:simpleType> <xs:annotation> - <xs:documentation xml:lang="en-us"> Library - instances can provide code for a library class, or - may require other library instances themselves. - Since different execution paths in a library (or - module) may need different library classes based - on some setting, library classes may not alway be - required. </xs:documentation> + <xs:documentation xml:lang="en-us"> Library instances can provide code + for a library class, or may require other library instances + themselves. Since different execution paths in a library (or module) + may need different library classes based on some setting, library + classes may not alway be required. </xs:documentation> </xs:annotation> <xs:restriction base="xs:NCName"> <xs:enumeration value="PRODUCES"/> @@ -1527,13 +1472,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. </xs:attribute> <xs:attributeGroup ref="SupportedArchMod"/> - <xs:attribute name="FeatureFlag" type="xs:normalizedString" - use="optional"> + <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"> <xs:annotation> - <xs:documentation xml:lang="en-us"> A FeatureFlag - attribute must evaluate to either true or false - it - may be a fixed value of true or false, a C name or - an in-fix expression. </xs:documentation> + <xs:documentation xml:lang="en-us"> A FeatureFlag attribute must evaluate to + either true or false - it may be a fixed value of true or false, a C + name or an in-fix expression. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> @@ -1549,29 +1492,24 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename"> <xs:annotation> <xs:documentation xml:lang="en-us"> This is the module relative - (ModuleProperties.Path) path and filename location within - the ZIP file. </xs:documentation> + (ModuleProperties.Path) path and filename location within the ZIP file. + </xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:anyURI"> - <xs:attribute name="Family" type="FamilyTypes" - use="optional"> + <xs:attribute name="Family" type="FamilyTypes" use="optional"> <xs:annotation> - <xs:documentation xml:lang="en-us"> The Family - attribute is used to restrict usage to a given - family of compilers, such as GCC or MSFT. Since - not all code processing tools use the same syntax, - especially for assembly, this field can be used to - identify different syntax. </xs:documentation> + <xs:documentation xml:lang="en-us"> The Family attribute is used to + restrict usage to a given family of compilers, such as GCC or + MSFT. Since not all code processing tools use the same syntax, + especially for assembly, this field can be used to identify + different syntax. </xs:documentation> </xs:annotation> </xs:attribute> - <xs:attribute name="SupArchList" type="ArchListType" - use="optional"/> - <xs:attribute name="SupModList" type="ModuleListType" - use="optional"/> - <xs:attribute name="FeatureFlag" - type="xs:normalizedString" use="optional"/> + <xs:attribute name="SupArchList" type="ArchListType" use="optional"/> + <xs:attribute name="SupModList" type="ModuleListType" use="optional"/> + <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/> </xs:extension> </xs:simpleContent> </xs:complexType> @@ -1588,316 +1526,293 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="1" maxOccurs="unbounded" name="BinaryFile"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="1" maxOccurs="unbounded" - name="Filename"> + <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is the - module relative (ModuleProperties.Path) path and - filename location within the ZIP file. - </xs:documentation> + <xs:documentation xml:lang="en-us"> This is the module relative + (ModuleProperties.Path) path and filename location within the ZIP + file. </xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> - <xs:extension base="xs:anyURI"> - <xs:attribute name="FileType" use="optional"> - <xs:simpleType> - <xs:restriction base="xs:NCName"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> Binary file - distribution is limited to UEFI/PI FFS leaf - section file types. </xs:documentation> - </xs:annotation> - <xs:enumeration value="GUID"/> - <xs:enumeration value="FREEFORM"/> - <xs:enumeration value="UEFI_IMAGE"/> - <xs:enumeration value="PE32"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> A UEFI/PI FFS - Leaf section file type, not a raw PE32 file. - </xs:documentation> - </xs:annotation> - </xs:enumeration> - <xs:enumeration value="PIC"/> - <xs:enumeration value="PEI_DEPEX"/> - <xs:enumeration value="DXE_DEPEX"/> - <xs:enumeration value="SMM_DEPEX"/> - <xs:enumeration value="COMPAT16"/> - <xs:enumeration value="DISPOSABLE"/> - <xs:enumeration value="TE"/> - <xs:enumeration value="VER"/> - <xs:enumeration value="UI"/> - <xs:enumeration value="BIN"/> - <xs:enumeration value="FV"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - <xs:attribute name="SupArchList" - type="ArchListType" use="optional"/> - <xs:attribute name="SupModList" - type="ModuleListType" use="optional"/> - <xs:attribute name="FeatureFlag" - type="xs:normalizedString" use="optional"/> - </xs:extension> + <xs:extension base="xs:anyURI"> + <xs:attribute name="FileType" use="optional"> + <xs:simpleType> + <xs:restriction base="xs:NCName"> + <xs:annotation> + <xs:documentation xml:lang="en-us"> Binary file distribution + is limited to UEFI/PI FFS leaf section file types. + </xs:documentation> + </xs:annotation> + <xs:enumeration value="GUID"/> + <xs:enumeration value="FREEFORM"/> + <xs:enumeration value="UEFI_IMAGE"/> + <xs:enumeration value="PE32"> + <xs:annotation> + <xs:documentation xml:lang="en-us"> A UEFI/PI FFS Leaf + section file type, not a raw PE32 file. </xs:documentation> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="PIC"/> + <xs:enumeration value="PEI_DEPEX"/> + <xs:enumeration value="DXE_DEPEX"/> + <xs:enumeration value="SMM_DEPEX"/> + <xs:enumeration value="COMPAT16"/> + <xs:enumeration value="DISPOSABLE"/> + <xs:enumeration value="TE"/> + <xs:enumeration value="VER"/> + <xs:enumeration value="UI"/> + <xs:enumeration value="BIN"/> + <xs:enumeration value="FV"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="GUID" use="optional" + type="RegistryFormatGuid"/> + <xs:attribute name="SupArchList" type="ArchListType" + use="optional"/> + <xs:attribute name="SupModList" type="ModuleListType" + use="optional"/> + <xs:attribute name="FeatureFlag" type="xs:normalizedString" + use="optional"/> + </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> - <xs:element minOccurs="0" maxOccurs="unbounded" - name="AsBuilt"> + <xs:element minOccurs="0" maxOccurs="unbounded" name="AsBuilt"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This section - contains information about how the module was - coded, such as Compiler Tools, Flags, PCDs (only - PatchPcd and/or PcdEx) and Library Class Instances - used to build the binary. </xs:documentation> + <xs:documentation xml:lang="en-us"> This section contains information + about how the module was coded, such as Compiler Tools, Flags, PCDs + (only PatchPcd and/or PcdEx) and Library Class Instances used to + build the binary. </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" maxOccurs="unbounded" - name="PatchPcdValue"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> The element is - the Patchable PCD Value that was used during the - build. </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:sequence> - <xs:element minOccurs="1" maxOccurs="1" - name="TokenSpaceGuidValue" - type="RegistryFormatGuid"/> - <xs:element minOccurs="1" maxOccurs="1" - name="PcdCName" type="xs:NCName"/> - <xs:element minOccurs="1" maxOccurs="1" - name="Token"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> The minLength - of 3 is required to handle the "0x" prefix to the - hex number. </xs:documentation> - </xs:annotation> - <xs:simpleType> - <xs:restriction base="HexNumber"> - <xs:minLength value="3"/> - <xs:maxLength value="10"/> - </xs:restriction> - </xs:simpleType> - </xs:element> - <xs:element minOccurs="1" maxOccurs="1" - name="DatumType" type="PcdDatumTypes"/> - <xs:element minOccurs="0" maxOccurs="1" - name="MaxDatumSize"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> This field is - required if the Pcd Datum Type is VOID* </xs:documentation> - <xs:documentation xml:lang="en-us"> The minLength - of 3 is required to handle the "0x" prefix to the - hex number. </xs:documentation> - </xs:annotation> - <xs:simpleType> - <xs:restriction base="HexNumber"> - <xs:minLength value="3"/> - </xs:restriction> - </xs:simpleType> - </xs:element> - <xs:element minOccurs="1" maxOccurs="1" - name="Value" type="xs:normalizedString"/> - <xs:element minOccurs="1" maxOccurs="1" - name="Offset"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> The minLength - of 3 is required to handle the "0x" prefix to the - hex number. </xs:documentation> - </xs:annotation> - <xs:simpleType> - <xs:restriction base="HexNumber"> - <xs:minLength value="3"/> - </xs:restriction> - </xs:simpleType> - </xs:element> - <xs:element ref="HelpText" minOccurs="0" - maxOccurs="unbounded"/> - <xs:element minOccurs="0" maxOccurs="unbounded" - name="PcdError"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> Error - information implemented by the module. - </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:sequence> - <xs:element minOccurs="1" maxOccurs="1" - name="ErrorNumber"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> The minLength - of 3 is required to handle the "0x" prefix to the - hex number. </xs:documentation> - </xs:annotation> - <xs:simpleType> - <xs:restriction base="HexNumber"> - <xs:minLength value="3"/> - </xs:restriction> - </xs:simpleType> - </xs:element> - <xs:element minOccurs="0" maxOccurs="unbounded" - name="ErrorMessage"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Lang" type="xs:language" - default="en-us" use="optional"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - - <xs:element minOccurs="0" maxOccurs="unbounded" - name="PcdExValue"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> The element is - the DynamicEx PCD Value that was used during the - build. </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:sequence> - <xs:element minOccurs="1" maxOccurs="1" - name="TokenSpaceGuidValue" - type="RegistryFormatGuid"/> - <xs:element minOccurs="1" maxOccurs="1" - name="Token"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> The minLength - of 3 is required to handle the "0x" prefix to the - hex number. </xs:documentation> - </xs:annotation> - <xs:simpleType> - <xs:restriction base="HexNumber"> - <xs:minLength value="3"/> - <xs:maxLength value="10"/> - </xs:restriction> - </xs:simpleType> - </xs:element> - <xs:element minOccurs="1" maxOccurs="1" - name="DatumType" type="PcdDatumTypes"/> - <xs:element minOccurs="0" maxOccurs="1" - name="MaxDatumSize"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> This field is - required if the Pcd Datum Type is VOID* - </xs:documentation> - </xs:annotation> - <xs:simpleType> - <xs:restriction base="HexNumber"> - <xs:minLength value="3"/> - </xs:restriction> - </xs:simpleType> - </xs:element> - <xs:element minOccurs="1" maxOccurs="1" - name="Value" type="xs:normalizedString"/> - <xs:element ref="HelpText" minOccurs="0" - maxOccurs="unbounded"/> - <xs:element minOccurs="0" maxOccurs="unbounded" - name="PcdError"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> Error - information implemented by the module. - </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:sequence> - <xs:element minOccurs="1" maxOccurs="1" - name="ErrorNumber"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> The minLength - of 3 is required to handle the "0x" prefix to the - hex number. </xs:documentation> - </xs:annotation> - <xs:simpleType> - <xs:restriction base="HexNumber"> - <xs:minLength value="3"/> - </xs:restriction> - </xs:simpleType> - </xs:element> - <xs:element minOccurs="0" maxOccurs="unbounded" - name="ErrorMessage"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Lang" type="xs:language" - default="en-us" use="optional"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - - <xs:element minOccurs="0" maxOccurs="1" - name="LibraryInstances"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> This is the - actual library instance that was used to link - against the module. </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:sequence> - <xs:element minOccurs="1" maxOccurs="unbounded" - name="GUID"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> This GUID and - the Version attribute uniquely identify the actual - Library Instance linked in this module. - </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="RegistryFormatGuid"> - <xs:attribute name="Version" type="xs:decimal" - use="required"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> This value, - along with the GUID, is used to uniquely identify - this object. </xs:documentation> - </xs:annotation> - </xs:attribute> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - - <xs:element minOccurs="0" maxOccurs="unbounded" - name="BuildFlags"> - <xs:complexType mixed="true"> - <xs:simpleContent> - <xs:annotation> - <xs:documentation xml:lang="en-us"> Any - description of OS, Tool, and flags for the - individual tool can go in this section. - </xs:documentation> - </xs:annotation> - <xs:extension base="xs:string"> - <xs:anyAttribute processContents="lax"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> + <xs:element minOccurs="0" maxOccurs="unbounded" name="PatchPcdValue"> + <xs:annotation> + <xs:documentation xml:lang="en-us"> The element is the + Patchable PCD Value that was used during the build. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="1" + name="TokenSpaceGuidValue" type="RegistryFormatGuid"/> + <xs:element minOccurs="1" maxOccurs="1" name="PcdCName" + type="xs:NCName"/> + <xs:element minOccurs="1" maxOccurs="1" name="Token"> + <xs:annotation> + <xs:documentation xml:lang="en-us"> The minLength of 3 is + required to handle the "0x" prefix to the hex number. + </xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="HexNumber"> + <xs:minLength value="3"/> + <xs:maxLength value="10"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element minOccurs="1" maxOccurs="1" name="DatumType" + type="PcdDatumTypes"/> + <xs:element minOccurs="0" maxOccurs="1" name="MaxDatumSize"> + <xs:annotation> + <xs:documentation xml:lang="en-us"> This field is required + if the Pcd Datum Type is VOID* </xs:documentation> + <xs:documentation xml:lang="en-us"> The minLength of 3 is + required to handle the "0x" prefix to the hex number. + </xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="HexNumber"> + <xs:minLength value="3"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element minOccurs="1" maxOccurs="1" name="Value" + type="xs:normalizedString"/> + <xs:element minOccurs="1" maxOccurs="1" name="Offset"> + <xs:annotation> + <xs:documentation xml:lang="en-us"> The minLength of 3 is + required to handle the "0x" prefix to the hex number. + </xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="HexNumber"> + <xs:minLength value="3"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element ref="HelpText" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element minOccurs="0" maxOccurs="unbounded" + name="PcdError"> + <xs:annotation> + <xs:documentation xml:lang="en-us"> Error information + implemented by the module. </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="1" name="ErrorNumber"> + <xs:annotation> + <xs:documentation xml:lang="en-us"> The minLength of 3 is + required to handle the "0x" prefix to the hex number. + </xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="HexNumber"> + <xs:minLength value="3"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element minOccurs="0" maxOccurs="unbounded" + name="ErrorMessage"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Lang" type="xs:language" default="en-us" + use="optional"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element minOccurs="0" maxOccurs="unbounded" name="PcdExValue"> + <xs:annotation> + <xs:documentation xml:lang="en-us"> The element is the + DynamicEx PCD Value that was used during the build. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="1" + name="TokenSpaceGuidValue" type="RegistryFormatGuid"/> + <xs:element minOccurs="1" maxOccurs="1" name="Token"> + <xs:annotation> + <xs:documentation xml:lang="en-us"> The minLength of 3 is + required to handle the "0x" prefix to the hex number. + </xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="HexNumber"> + <xs:minLength value="3"/> + <xs:maxLength value="10"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element minOccurs="1" maxOccurs="1" name="DatumType" + type="PcdDatumTypes"/> + <xs:element minOccurs="0" maxOccurs="1" name="MaxDatumSize"> + <xs:annotation> + <xs:documentation xml:lang="en-us"> This field is required + if the Pcd Datum Type is VOID* </xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="HexNumber"> + <xs:minLength value="3"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element minOccurs="1" maxOccurs="1" name="Value" + type="xs:normalizedString"/> + <xs:element ref="HelpText" minOccurs="0" + maxOccurs="unbounded"/> + <xs:element minOccurs="0" maxOccurs="unbounded" + name="PcdError"> + <xs:annotation> + <xs:documentation xml:lang="en-us"> Error information + implemented by the module. </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="1" name="ErrorNumber"> + <xs:annotation> + <xs:documentation xml:lang="en-us"> The minLength of 3 is + required to handle the "0x" prefix to the hex number. + </xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="HexNumber"> + <xs:minLength value="3"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element minOccurs="0" maxOccurs="unbounded" + name="ErrorMessage"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Lang" type="xs:language" default="en-us" + use="optional"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element minOccurs="0" maxOccurs="1" name="LibraryInstances"> + <xs:annotation> + <xs:documentation xml:lang="en-us"> This is the actual + library instance that was used to link against the module. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="unbounded" name="GUID"> + <xs:annotation> + <xs:documentation xml:lang="en-us"> This GUID and the + Version attribute uniquely identify the actual Library + Instance linked in this module. </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="RegistryFormatGuid"> + <xs:attribute name="Version" type="xs:decimal" + use="required"> + <xs:annotation> + <xs:documentation xml:lang="en-us"> This value, along with + the GUID, is used to uniquely identify this object. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element minOccurs="0" maxOccurs="unbounded" name="BuildFlags"> + <xs:complexType mixed="true"> + <xs:simpleContent> + <xs:annotation> + <xs:documentation xml:lang="en-us"> Any description of OS, + Tool, and flags for the individual tool can go in this + section. </xs:documentation> + </xs:annotation> + <xs:extension base="xs:string"> + <xs:anyAttribute processContents="lax"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> </xs:sequence> </xs:complexType> </xs:element> <!-- End of AsBuilt --> - <xs:element ref="HelpText" minOccurs="0" - maxOccurs="unbounded"/> + <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> @@ -1913,47 +1828,41 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="1" maxOccurs="unbounded" name="Package"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" maxOccurs="unbounded" - name="Description"> + <xs:element minOccurs="0" maxOccurs="unbounded" name="Description"> <xs:complexType> <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Lang" type="xs:language" - default="en-us" use="optional"/> - </xs:extension> + <xs:extension base="xs:string"> + <xs:attribute name="Lang" type="xs:language" default="en-us" + use="optional"/> + </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element minOccurs="1" maxOccurs="1" name="GUID"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This GUID and - the Version attribute uniquely identify Package - that this Module depends on. </xs:documentation> + <xs:documentation xml:lang="en-us"> This GUID and the Version attribute + uniquely identify Package that this Module depends on. + </xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> - <xs:extension base="RegistryFormatGuid"> - <xs:attribute name="Version" type="xs:decimal" - use="optional"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> This value, - along with the GUID, is used to uniquely identify - this object. If the version attribute is not - specified, the most recent version of the package - can be used. </xs:documentation> - </xs:annotation> - </xs:attribute> - </xs:extension> + <xs:extension base="RegistryFormatGuid"> + <xs:attribute name="Version" type="xs:decimal" use="optional"> + <xs:annotation> + <xs:documentation xml:lang="en-us"> This value, along with + the GUID, is used to uniquely identify this object. If the + version attribute is not specified, the most recent version + of the package can be used. </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:sequence> - <xs:attribute name="SupArchList" type="ArchListType" - use="optional"/> - <xs:attribute name="SupModList" type="ModuleListType" - use="optional"/> - <xs:attribute name="FeatureFlag" type="xs:normalizedString" - use="optional"/> + <xs:attribute name="SupArchList" type="ArchListType" use="optional"/> + <xs:attribute name="SupModList" type="ModuleListType" use="optional"/> + <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/> </xs:complexType> </xs:element> </xs:sequence> @@ -1967,68 +1876,60 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="1" maxOccurs="unbounded" name="GuidCName"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="1" maxOccurs="1" name="CName" - type="xs:NCName"/> + <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/> <xs:element minOccurs="0" maxOccurs="1" name="VariableName" type="xs:normalizedString"> <xs:annotation> - <xs:documentation xml:lang="en-us"> Only valid for - Variable GUID types. </xs:documentation> - <xs:documentation> This can be either a Hex Array or - C string in unicode format: L"string" Data. - </xs:documentation> + <xs:documentation xml:lang="en-us"> Only valid for Variable GUID types. </xs:documentation> + <xs:documentation> This can be either a Hex Array or C string in unicode + format: L"string" Data. </xs:documentation> </xs:annotation> </xs:element> - <xs:element ref="HelpText" minOccurs="0" - maxOccurs="unbounded"/> + <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="Usage" use="required"> <xs:simpleType> <xs:restriction base="xs:NCName"> <xs:enumeration value="CONSUMES"> - <xs:annotation> - <xs:documentation xml:lang="en-us">The module does - not install the GUID, and the GUID must be present - for the module to execute. </xs:documentation> - </xs:annotation> + <xs:annotation> + <xs:documentation xml:lang="en-us">The module does not install + the GUID, and the GUID must be present for the module to + execute. </xs:documentation> + </xs:annotation> </xs:enumeration> <xs:enumeration value="SOMETIMES_CONSUMES"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> The module - does not install the GUID, however, the GUID will - be used if it is present. </xs:documentation> - </xs:annotation> + <xs:annotation> + <xs:documentation xml:lang="en-us"> The module does not install + the GUID, however, the GUID will be used if it is present. + </xs:documentation> + </xs:annotation> </xs:enumeration> <xs:enumeration value="PRODUCES"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> The module - always installs the GUID. </xs:documentation> - </xs:annotation> + <xs:annotation> + <xs:documentation xml:lang="en-us"> The module always installs + the GUID. </xs:documentation> + </xs:annotation> </xs:enumeration> <xs:enumeration value="SOMETIMES_PRODUCES"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> The Module - will install the GUID under certain execution - paths. </xs:documentation> - </xs:annotation> + <xs:annotation> + <xs:documentation xml:lang="en-us"> The Module will install the + GUID under certain execution paths. </xs:documentation> + </xs:annotation> </xs:enumeration> <xs:enumeration value="UNDEFINED"> - <xs:annotation> - <xs:documentation xml:lang="en-us"> The package - creator knows that a GUID is used, but does not - know how it is used. </xs:documentation> - </xs:annotation> + <xs:annotation> + <xs:documentation xml:lang="en-us"> The package creator knows + that a GUID is used, but does not know how it is used. + </xs:documentation> + </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="GuidType" type="GuidListType" use="required"/> - <xs:attribute name="SupArchList" type="ArchListType" - use="optional"/> - <xs:attribute name="SupModList" type="ModuleListType" - use="optional"/> - <xs:attribute name="FeatureFlag" type="xs:normalizedString" - use="optional"/> + <xs:attribute name="SupArchList" type="ArchListType" use="optional"/> + <xs:attribute name="SupModList" type="ModuleListType" use="optional"/> + <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/> </xs:complexType> </xs:element> </xs:sequence> @@ -2038,19 +1939,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="0" maxOccurs="1" name="Protocols"> <xs:annotation> - <xs:documentation xml:lang="en-us"> A listing of protocols required or - produced by this module. </xs:documentation> + <xs:documentation xml:lang="en-us"> A listing of protocols required or produced by this module. + </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> - <xs:element minOccurs="1" maxOccurs="unbounded" name="Protocol" - nillable="true"> + <xs:element minOccurs="1" maxOccurs="unbounded" name="Protocol" nillable="true"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="1" maxOccurs="1" name="CName" - type="xs:NCName"/> - <xs:element ref="HelpText" minOccurs="0" - maxOccurs="unbounded"/> + <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/> + <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="Usage" use="required"> <xs:simpleType> @@ -2066,12 +1964,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. </xs:simpleType> </xs:attribute> <xs:attribute name="Notify" type="xs:boolean" use="optional"/> - <xs:attribute name="SupArchList" type="ArchListType" - use="optional"/> - <xs:attribute name="SupModList" type="ModuleListType" - use="optional"/> - <xs:attribute name="FeatureFlag" type="xs:normalizedString" - use="optional"/> + <xs:attribute name="SupArchList" type="ArchListType" use="optional"/> + <xs:attribute name="SupModList" type="ModuleListType" use="optional"/> + <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/> </xs:complexType> </xs:element> </xs:sequence> @@ -2081,19 +1976,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="0" maxOccurs="1" name="PPIs"> <xs:annotation> - <xs:documentation xml:lang="en-us"> A listing of PPIs required or produced - by this module. </xs:documentation> + <xs:documentation xml:lang="en-us"> A listing of PPIs required or produced by this module. + </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> - <xs:element minOccurs="1" maxOccurs="unbounded" name="Ppi" - nillable="true"> + <xs:element minOccurs="1" maxOccurs="unbounded" name="Ppi" nillable="true"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="1" maxOccurs="1" name="CName" - type="xs:NCName"/> - <xs:element ref="HelpText" minOccurs="0" - maxOccurs="unbounded"/> + <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/> + <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="Usage" use="required"> <xs:simpleType> @@ -2107,12 +1999,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. </xs:simpleType> </xs:attribute> <xs:attribute name="Notify" type="xs:boolean" use="optional"/> - <xs:attribute name="SupArchList" type="ArchListType" - use="optional"/> - <xs:attribute name="SupModList" type="ModuleListType" - use="optional"/> - <xs:attribute name="FeatureFlag" type="xs:normalizedString" - use="optional"/> + <xs:attribute name="SupArchList" type="ArchListType" use="optional"/> + <xs:attribute name="SupModList" type="ModuleListType" use="optional"/> + <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/> </xs:complexType> </xs:element> </xs:sequence> @@ -2122,9 +2011,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="0" maxOccurs="1" name="Externs"> <xs:annotation> - <xs:documentation xml:lang="en-us"> These elements specify additional - information about the module. This area may be used by tools to generate - code. </xs:documentation> + <xs:documentation xml:lang="en-us"> These elements specify additional information about the + module. This area may be used by tools to generate code. </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> @@ -2133,26 +2021,23 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:sequence> <xs:choice minOccurs="1"> <xs:sequence> - <xs:element minOccurs="0" maxOccurs="1" - name="EntryPoint" type="xs:NCName"/> - <xs:element minOccurs="0" maxOccurs="1" - name="UnloadImage" type="xs:NCName"/> + <xs:element minOccurs="0" maxOccurs="1" name="EntryPoint" + type="xs:NCName"/> + <xs:element minOccurs="0" maxOccurs="1" name="UnloadImage" + type="xs:NCName"/> </xs:sequence> <xs:sequence> - <xs:element minOccurs="0" maxOccurs="1" - name="Constructor" type="xs:NCName"/> - <xs:element minOccurs="0" maxOccurs="1" - name="Destructor" type="xs:NCName"/> + <xs:element minOccurs="0" maxOccurs="1" name="Constructor" + type="xs:NCName"/> + <xs:element minOccurs="0" maxOccurs="1" name="Destructor" + type="xs:NCName"/> </xs:sequence> </xs:choice> <xs:element ref="HelpText" minOccurs="0" maxOccurs="1"/> </xs:sequence> - <xs:attribute name="SupArchList" type="ArchListType" - use="optional"/> - <xs:attribute name="SupModList" type="ModuleListType" - use="optional"/> - <xs:attribute name="FeatureFlag" type="xs:normalizedString" - use="optional"/> + <xs:attribute name="SupArchList" type="ArchListType" use="optional"/> + <xs:attribute name="SupModList" type="ModuleListType" use="optional"/> + <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/> </xs:complexType> </xs:element> </xs:sequence> @@ -2162,26 +2047,22 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="0" maxOccurs="1" name="PcdCoded"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This section describes how a platform is - coded with respect to the platform configuration knobs. - </xs:documentation> + <xs:documentation xml:lang="en-us"> This section describes how a platform is coded with respect + to the platform configuration knobs. </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element minOccurs="1" maxOccurs="unbounded" name="PcdEntry"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="1" maxOccurs="1" name="CName" + <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/> + <xs:element minOccurs="1" maxOccurs="1" name="TokenSpaceGuidCName" type="xs:NCName"/> - <xs:element minOccurs="1" maxOccurs="1" - name="TokenSpaceGuidCName" type="xs:NCName"/> <xs:element minOccurs="0" maxOccurs="1" name="DefaultValue" type="xs:normalizedString"/> - <xs:element ref="HelpText" minOccurs="0" - maxOccurs="unbounded"/> + <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> - <xs:attribute name="PcdItemType" type="PcdItemTypes" - use="required"/> + <xs:attribute name="PcdItemType" type="PcdItemTypes" use="required"/> <xs:attribute name="PcdUsage" use="required"> <xs:simpleType> <xs:restriction base="xs:NCName"> @@ -2195,12 +2076,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. </xs:attribute> - <xs:attribute name="SupArchList" type="ArchListType" - use="optional"/> - <xs:attribute name="SupModList" type="ModuleListType" - use="optional"/> - <xs:attribute name="FeatureFlag" type="xs:normalizedString" - use="optional"/> + <xs:attribute name="SupArchList" type="ArchListType" use="optional"/> + <xs:attribute name="SupModList" type="ModuleListType" use="optional"/> + <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/> </xs:complexType> </xs:element> </xs:sequence> @@ -2210,18 +2088,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="0" maxOccurs="unbounded" name="PeiDepex"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is the PEI dependency expression - for a Dependency Section. </xs:documentation> + <xs:documentation xml:lang="en-us"> This is the PEI dependency expression for a Dependency + Section. </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> - <xs:element name="Expression" type="xs:string" minOccurs="1" - maxOccurs="1"> + <xs:element name="Expression" type="xs:string" minOccurs="1" maxOccurs="1"> <xs:annotation> - <xs:documentation xml:lang="en-us"> An in-fix expression, of C - identifiers and TRUE, FALSE, AND, OR, NOT, BEFORE, and AFTER - as well as parenthesis () in the in-fix notation. The - operators are restricted to grammar defined in the PI + <xs:documentation xml:lang="en-us"> An in-fix expression, of C identifiers and TRUE, + FALSE, AND, OR, NOT, BEFORE, and AFTER as well as parenthesis () in the in-fix + notation. The operators are restricted to grammar defined in the PI specification. </xs:documentation> </xs:annotation> </xs:element> @@ -2236,18 +2112,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="0" maxOccurs="unbounded" name="DxeDepex"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is the DXE dependency expression - for a Dependency Section. </xs:documentation> + <xs:documentation xml:lang="en-us"> This is the DXE dependency expression for a Dependency + Section. </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> - <xs:element name="Expression" type=" xs:string " minOccurs="1" - maxOccurs="1"> + <xs:element name="Expression" type=" xs:string " minOccurs="1" maxOccurs="1"> <xs:annotation> - <xs:documentation xml:lang="en-us"> An in-fix expression, of C - identifiers and TRUE, FALSE, AND, OR, NOT, BEFORE, and AFTER - as well as parenthesis () in the in-fix notation. The - operators are restricted to grammar defined in the PI + <xs:documentation xml:lang="en-us"> An in-fix expression, of C identifiers and TRUE, + FALSE, AND, OR, NOT, BEFORE, and AFTER as well as parenthesis () in the in-fix + notation. The operators are restricted to grammar defined in the PI specification. </xs:documentation> </xs:annotation> </xs:element> @@ -2262,18 +2136,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="0" maxOccurs="unbounded" name="SmmDepex"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is the SMM dependency expression - for a Dependency Section. </xs:documentation> + <xs:documentation xml:lang="en-us"> This is the SMM dependency expression for a Dependency + Section. </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> - <xs:element name="Expression" type=" xs:string " minOccurs="1" - maxOccurs="1"> + <xs:element name="Expression" type=" xs:string " minOccurs="1" maxOccurs="1"> <xs:annotation> - <xs:documentation xml:lang="en-us"> An in-fix expression, of C - identifiers and TRUE, FALSE, AND, OR, NOT, BEFORE, and AFTER - as well as parenthesis () in the in-fix notation. The - operators are restricted to grammar defined in the PI + <xs:documentation xml:lang="en-us"> An in-fix expression, of C identifiers and TRUE, + FALSE, AND, OR, NOT, BEFORE, and AFTER as well as parenthesis () in the in-fix + notation. The operators are restricted to grammar defined in the PI specification. </xs:documentation> </xs:annotation> </xs:element> @@ -2289,9 +2161,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="0" maxOccurs="1" name="MiscellaneousFiles"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This section is used to provide comments - and/or list auxiliary files, such as pdb or map files. - </xs:documentation> + <xs:documentation xml:lang="en-us"> This section is used to provide comments and/or list + auxiliary files, such as pdb or map files. </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> @@ -2299,27 +2170,26 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> - <xs:attribute name="Lang" type="xs:language" - default="en-us" use="optional"/> + <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional" + /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is the path and - filename location within the ZIP file. </xs:documentation> + <xs:documentation xml:lang="en-us"> This is the path and filename location within + the ZIP file. </xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:anyURI"> - <xs:attribute name="Executable" type="xs:boolean" - default="false" use="optional"> + <xs:attribute name="Executable" type="xs:boolean" default="false" + use="optional"> <xs:annotation> - <xs:documentation xml:lang="en-us"> If true, used - by installation tools to ensure that a file that - must be executable has the correct properties to - permit execution. </xs:documentation> + <xs:documentation xml:lang="en-us"> If true, used by installation + tools to ensure that a file that must be executable has the + correct properties to permit execution. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> @@ -2333,35 +2203,30 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="0" maxOccurs="unbounded" name="UserExtensions"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This section is used for any processing - instructions that may be custom to the content provided by the - distribution that are common to module. </xs:documentation> + <xs:documentation xml:lang="en-us"> This section is used for any processing instructions that + may be custom to the content provided by the distribution that are common to module. </xs:documentation> <xs:documentation xml:lang="en-us"> The content is vendor specific. </xs:documentation> - <xs:documentation xml:lang="en-us"> The content can be plain text as well as - any user-defined, properly formatted XML structure. </xs:documentation> + <xs:documentation xml:lang="en-us"> The content can be plain text as well as any user-defined, + properly formatted XML structure. </xs:documentation> </xs:annotation> <xs:complexType mixed="true"> <xs:attribute name="UserId" type="xs:NCName" use="required"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is a single word identifier - for grouping similar content. For example, ReferenceBuild might - be used to identify non-PI compliant build steps, with two - different UserExtensions sections, one with an Identifier of - Prebuild, and another of PostBuild. Both UserExtensions sections - would use the same UserId. </xs:documentation> + <xs:documentation xml:lang="en-us"> This is a single word identifier for grouping + similar content. For example, ReferenceBuild might be used to identify non-PI + compliant build steps, with two different UserExtensions sections, one with an + Identifier of Prebuild, and another of PostBuild. Both UserExtensions sections would + use the same UserId. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="Identifier" type="xs:string" use="required"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This can be any string used to - differentiate or identify this section from other UserExtensions - sections. </xs:documentation> - <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS - Identifier might indicate specific steps and tools required - before processing module content, while a different - UserExtensions section with a POST_PROCESS Identifier might - describe steps that need to be executed after operations on this - module. </xs:documentation> + <xs:documentation xml:lang="en-us"> This can be any string used to differentiate or + identify this section from other UserExtensions sections. </xs:documentation> + <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS Identifier might indicate + specific steps and tools required before processing module content, while a + different UserExtensions section with a POST_PROCESS Identifier might describe steps + that need to be executed after operations on this module. </xs:documentation> </xs:annotation> </xs:attribute> <xs:anyAttribute processContents="lax"/> @@ -2372,11 +2237,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. </xs:sequence> <xs:attribute name="BinaryModule" type="xs:boolean" default="false" use="optional"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This attribute is used when the binaries are - distributed for this module and no code generation from source files is - required. If set, then the BinaryFiles section should be used, and any files - listed in the SourceFiles section do not have to be built. Additionally, the - AsBuilt section for each binary file must be included. </xs:documentation> + <xs:documentation xml:lang="en-us"> This attribute is used when the binaries are distributed for + this module and no code generation from source files is required. If set, then the BinaryFiles + section should be used, and any files listed in the SourceFiles section do not have to be built. + Additionally, the AsBuilt section for each binary file must be included. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> @@ -2390,42 +2254,34 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element minOccurs="0" maxOccurs="1" name="Header"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="1" maxOccurs="1" name="Name" - type="xs:normalizedString"> + <xs:element minOccurs="1" maxOccurs="1" name="Name" type="xs:normalizedString"> <xs:annotation> - <xs:documentation xml:lang="en-us">This is the User Interface - Name for this Tools Distribution.</xs:documentation> + <xs:documentation xml:lang="en-us">This is the User Interface Name for this Tools + Distribution.</xs:documentation> </xs:annotation> </xs:element> - <xs:element minOccurs="0" maxOccurs="1" name="Copyright" - type="xs:string"> + <xs:element minOccurs="0" maxOccurs="1" name="Copyright" type="xs:string"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is only required if the - Copyright is different from the Distribution Package - copyright. </xs:documentation> + <xs:documentation xml:lang="en-us"> This is only required if the Copyright is + different from the Distribution Package copyright. </xs:documentation> </xs:annotation> </xs:element> <xs:element minOccurs="0" maxOccurs="1" name="License" type="xs:string"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is only required if the - License is different from the Distribution Package license. - </xs:documentation> + <xs:documentation xml:lang="en-us"> This is only required if the License is + different from the Distribution Package license. </xs:documentation> </xs:annotation> </xs:element> - <xs:element minOccurs="0" maxOccurs="1" name="Abstract" - type="xs:normalizedString"> + <xs:element minOccurs="0" maxOccurs="1" name="Abstract" type="xs:normalizedString"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is only required if the - Abstract is different from the Distribution Package - Abstract. </xs:documentation> + <xs:documentation xml:lang="en-us"> This is only required if the Abstract is + different from the Distribution Package Abstract. </xs:documentation> </xs:annotation> </xs:element> - <xs:element minOccurs="0" maxOccurs="1" name="Description" - type="xs:string"> + <xs:element minOccurs="0" maxOccurs="1" name="Description" type="xs:string"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is only required if the - Description is different from the Distribution Package - Description. </xs:documentation> + <xs:documentation xml:lang="en-us"> This is only required if the Description is + different from the Distribution Package Description. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> @@ -2433,26 +2289,23 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. </xs:element> <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is the path and filename location - within the ZIP file. </xs:documentation> + <xs:documentation xml:lang="en-us"> This is the path and filename location within the ZIP file. + </xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:anyURI"> <xs:attribute name="OS" type="SupportedOs" use="optional"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is required for - tools that execute; it should not be used for - configuration files. </xs:documentation> + <xs:documentation xml:lang="en-us"> This is required for tools that execute; it + should not be used for configuration files. </xs:documentation> </xs:annotation> </xs:attribute> - <xs:attribute name="Executable" type="xs:boolean" default="false" - use="optional"> + <xs:attribute name="Executable" type="xs:boolean" default="false" use="optional"> <xs:annotation> - <xs:documentation xml:lang="en-us"> If true, used by - installation tools to ensure that a file that must be - executable has the correct properties to permit - execution. </xs:documentation> + <xs:documentation xml:lang="en-us"> If true, used by installation tools to + ensure that a file that must be executable has the correct properties to + permit execution. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> @@ -2466,44 +2319,39 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:element name="MiscellaneousFiles"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This section contains a list of files that are not - part of the code distributed with modules, packages or tools. </xs:documentation> + <xs:documentation xml:lang="en-us"> This section contains a list of files that are not part of the code + distributed with modules, packages or tools. </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="Header"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" maxOccurs="1" name="Name" - type="xs:normalizedString"> + <xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:normalizedString"> <xs:annotation> - <xs:documentation xml:lang="en-us"> The User interface name for - this content. </xs:documentation> + <xs:documentation xml:lang="en-us"> The User interface name for this content. + </xs:documentation> </xs:annotation> </xs:element> - <xs:element minOccurs="0" maxOccurs="1" name="Copyright" - type="xs:string"> + <xs:element minOccurs="0" maxOccurs="1" name="Copyright" type="xs:string"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is only required if the - Copyright is different from the Distribution Package - Copyright. </xs:documentation> + <xs:documentation xml:lang="en-us"> This is only required if the Copyright is + different from the Distribution Package Copyright. </xs:documentation> </xs:annotation> </xs:element> <xs:element minOccurs="0" maxOccurs="1" name="License" type="xs:string"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is only required if the - License is different from the Distribution Package License. - </xs:documentation> + <xs:documentation xml:lang="en-us"> This is only required if the License is + different from the Distribution Package License. </xs:documentation> </xs:annotation> </xs:element> - <xs:element minOccurs="0" maxOccurs="1" name="Abstract" - type="xs:normalizedString"/> + <xs:element minOccurs="0" maxOccurs="1" name="Abstract" type="xs:normalizedString"/> <xs:element minOccurs="0" maxOccurs="unbounded" name="Description"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> - <xs:attribute name="Lang" type="xs:language" - default="en-us" use="optional"/> + <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional" + /> </xs:extension> </xs:simpleContent> </xs:complexType> @@ -2513,19 +2361,17 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. </xs:element> <xs:element minOccurs="0" maxOccurs="unbounded" name="Filename"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is the path and filename location - within the ZIP file. </xs:documentation> + <xs:documentation xml:lang="en-us"> This is the path and filename location within the ZIP file. + </xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:anyURI"> - <xs:attribute name="Executable" type="xs:boolean" default="false" - use="optional"> + <xs:attribute name="Executable" type="xs:boolean" default="false" use="optional"> <xs:annotation> - <xs:documentation xml:lang="en-us"> If true, used by - installation tools to ensure that a file that must be - executable has the correct properties to permit - execution. </xs:documentation> + <xs:documentation xml:lang="en-us"> If true, used by installation tools to + ensure that a file that must be executable has the correct properties to + permit execution. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> @@ -2544,22 +2390,20 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. </xs:sequence> <xs:attribute name="UserId" type="xs:NCName" use="required"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This is a single word identifier for - grouping similar content. For example, ReferenceBuild might be used to - identify non-PI compliant build steps, with two different UserExtensions - sections, one with an Identifier of Prebuild, and another of PostBuild. Both - UserExtensions sections would use the same UserId. </xs:documentation> + <xs:documentation xml:lang="en-us"> This is a single word identifier for grouping similar content. + For example, ReferenceBuild might be used to identify non-PI compliant build steps, with two + different UserExtensions sections, one with an Identifier of Prebuild, and another of PostBuild. + Both UserExtensions sections would use the same UserId. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="Identifier" type="xs:string" use="optional"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This can be any string used to differentiate - or identify this section from other UserExtensions sections. </xs:documentation> - <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS Identifier might - indicate specific steps and tools required before processing distribution - package content, while a different UserExtensions section with a - POST_PROCESS Identifier might describe steps that need to be executed after - operations on this content. </xs:documentation> + <xs:documentation xml:lang="en-us"> This can be any string used to differentiate or identify this + section from other UserExtensions sections. </xs:documentation> + <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS Identifier might indicate specific + steps and tools required before processing distribution package content, while a different + UserExtensions section with a POST_PROCESS Identifier might describe steps that need to be + executed after operations on this content. </xs:documentation> </xs:annotation> </xs:attribute> <xs:anyAttribute processContents="lax"/> @@ -2596,11 +2440,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:enumeration value="X64"/> <xs:enumeration value="IPF"/> <xs:enumeration value="EBC"/> + <xs:enumeration value="ARM"/> <xs:pattern value="([A-Z])([a-zA-Z0-9])*"> <xs:annotation> - <xs:documentation xml:lang="en-us"> Any processor architecture not listed above. - The Architecture must be a target architecture of one or more compiler tool - chains. </xs:documentation> + <xs:documentation xml:lang="en-us"> Any processor architecture not listed above. The Architecture + must be a target architecture of one or more compiler tool chains. </xs:documentation> </xs:annotation> </xs:pattern> </xs:restriction> @@ -2613,8 +2457,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:enumeration value="GCC"/> <xs:pattern value="[A-Z][a-zA-Z0-9]*"> <xs:annotation> - <xs:documentation xml:lang="en-us"> Any other family of build utilities for - which compiler tools exist. </xs:documentation> + <xs:documentation xml:lang="en-us"> Any other family of build utilities for which compiler tools + exist. </xs:documentation> </xs:annotation> </xs:pattern> </xs:restriction> @@ -2657,70 +2501,66 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:simpleType name="ModuleTypes"> <xs:annotation> - <xs:documentation xml:lang="en-us"> The following module types are defined by - specifications. </xs:documentation> - <xs:documentation xml:lang="en-us"> Module types for components and libraries defined - for this distribution mechanism. </xs:documentation> + <xs:documentation xml:lang="en-us"> The following module types are defined by specifications. </xs:documentation> + <xs:documentation xml:lang="en-us"> Module types for components and libraries defined for this distribution + mechanism. </xs:documentation> </xs:annotation> <xs:restriction base="xs:NCName"> <xs:enumeration value="BASE "> <xs:annotation> - <xs:documentation xml:lang="en-us"> Use of this module is not restricted. - </xs:documentation> + <xs:documentation xml:lang="en-us"> Use of this module is not restricted. </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="DXE_CORE"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This module is only applicable to the DXE - core. </xs:documentation> + <xs:documentation xml:lang="en-us"> This module is only applicable to the DXE core. + </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="DXE_DRIVER"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE - driver. </xs:documentation> + <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE driver. + </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="DXE_RUNTIME_DRIVER"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE - runtime driver. </xs:documentation> + <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE runtime driver. + </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="DXE_SAL_DRIVER"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This module is only applicable to an IPF DXE - runtime driver. </xs:documentation> + <xs:documentation xml:lang="en-us"> This module is only applicable to an IPF DXE runtime driver. + </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="DXE_SMM_DRIVER"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE SMM - driver. </xs:documentation> + <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE SMM driver. + </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="PEI_CORE"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This module is only applicable to the PEI - core. </xs:documentation> + <xs:documentation xml:lang="en-us"> This module is only applicable to the PEI core. + </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="PEIM"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This module is only valid for PEI modules. - </xs:documentation> + <xs:documentation xml:lang="en-us"> This module is only valid for PEI modules. </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="SEC"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This module is only applicable to Security - phase. </xs:documentation> + <xs:documentation xml:lang="en-us"> This module is only applicable to Security phase. + </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="UEFI_DRIVER"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This module is only valid for UEFI drivers. - </xs:documentation> + <xs:documentation xml:lang="en-us"> This module is only valid for UEFI drivers. </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="UEFI_RUNTIME_DRIVER"> @@ -2731,8 +2571,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. </xs:enumeration> <xs:enumeration value="UEFI_APPLICATION"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This module is only valid for UEFI - applications. </xs:documentation> + <xs:documentation xml:lang="en-us"> This module is only valid for UEFI applications. + </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="SMM_CORE"> @@ -2743,21 +2583,20 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. </xs:enumeration> <xs:enumeration value="USER_DEFINED"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This content is restricted to a specific - implementation. </xs:documentation> + <xs:documentation xml:lang="en-us"> This content is restricted to a specific implementation. + </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="UNDEFINED"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This enumeration is for use in a list that - where the package creator does not know the what module types are supported - by a module. </xs:documentation> + <xs:documentation xml:lang="en-us"> This enumeration is for use in a list that where the package + creator does not know the what module types are supported by a module. </xs:documentation> </xs:annotation> </xs:enumeration> <xs:pattern value="([A-Z])([a-zA-Z0-9])*"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This pattern has been added for use in a - module lists - for future expansion. </xs:documentation> + <xs:documentation xml:lang="en-us"> This pattern has been added for use in a module lists - for + future expansion. </xs:documentation> </xs:annotation> </xs:pattern> </xs:restriction> @@ -2765,8 +2604,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:simpleType name="PcdDatumTypes"> <xs:annotation> - <xs:documentation xml:lang="en-us"> The following data types are defined by the PCD - specification (or PCD section of the UEFI/PI specifications.) </xs:documentation> + <xs:documentation xml:lang="en-us"> The following data types are defined by the PCD specification (or PCD + section of the UEFI/PI specifications.) </xs:documentation> </xs:annotation> <xs:restriction base="xs:normalizedString"> <xs:enumeration value="UINT8"/> @@ -2786,82 +2625,73 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:restriction base="xs:NCName"> <xs:enumeration value="FeaturePcd"> <xs:annotation> - <xs:documentation xml:lang="en-us"> The Feature PCD is a binary, evaluating to - either true or false. This is used during build to include/exclude content. - It can also be used during execution to force execution paths within - drivers, or to enable/disable features within a driver for a given platform. - </xs:documentation> + <xs:documentation xml:lang="en-us"> The Feature PCD is a binary, evaluating to either true or false. + This is used during build to include/exclude content. It can also be used during execution to + force execution paths within drivers, or to enable/disable features within a driver for a given + platform. </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="FixedPcd"> <xs:annotation> - <xs:documentation xml:lang="en-us"> The Fixed PCD is a #define value that is set - at build time. </xs:documentation> + <xs:documentation xml:lang="en-us"> The Fixed PCD is a #define value that is set at build time. + </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="PatchPcd"> <xs:annotation> - <xs:documentation xml:lang="en-us"> The Patch PCD is a #define that is set at - build time, and that can be modified within a binary file. Additional - information, such as the offset location of the value, along with it's - length may need to be provided.</xs:documentation> + <xs:documentation xml:lang="en-us"> The Patch PCD is a #define that is set at build time, and that + can be modified within a binary file. Additional information, such as the offset location of the + value, along with it's length may need to be provided.</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="Pcd"> <xs:annotation> - <xs:documentation xml:lang="en-us"> This PCD type has an overloaded definition. - Prior to build, the platform integrator may choose to implement a PCD as - Fixed, Patchable or a Dynamic PCD. If the platform integrator choose to use - the PCD as dynamic, then a PCD driver is required in the platform - (PEI/DXE/both) to track the PCD in some sort of 'database' of these items. - For Dynamic PCDs, the PcdGet* must pass in the token space guid and the - token number to retrieve data (PcdSet* also needs these values.) - </xs:documentation> + <xs:documentation xml:lang="en-us"> This PCD type has an overloaded definition. Prior to build, the + platform integrator may choose to implement a PCD as Fixed, Patchable or a Dynamic PCD. If the + platform integrator choose to use the PCD as dynamic, then a PCD driver is required in the + platform (PEI/DXE/both) to track the PCD in some sort of 'database' of these items. For Dynamic + PCDs, the PcdGet* must pass in the token space guid and the token number to retrieve data + (PcdSet* also needs these values.) </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="PcdEx"> <xs:annotation> - <xs:documentation xml:lang="en-us"> The PCD can only be used as Dynamic, and the - platform firmware must contain a driver to maintain a 'database' of these - items. For Dynamic PCDs, the PcdGet* must pass in the token space guid and - the token number to retrieve data (PcdSet* also needs these values.) - </xs:documentation> + <xs:documentation xml:lang="en-us"> The PCD can only be used as Dynamic, and the platform firmware + must contain a driver to maintain a 'database' of these items. For Dynamic PCDs, the PcdGet* + must pass in the token space guid and the token number to retrieve data (PcdSet* also needs + these values.) </xs:documentation> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> - - <xs:simpleType name="RegistryFormatGuid"> <xs:annotation> - <xs:documentation xml:lang="en-us"> A GUID must contain five different Hexadecimal - character sets that are separated by a dash (-) character. </xs:documentation> + <xs:documentation xml:lang="en-us"> A GUID must contain five different Hexadecimal character sets that are + separated by a dash (-) character. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> - <xs:pattern - value="\s*[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\s*" - /> + <xs:pattern value="\s*[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\s*"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="SupportedOs"> <xs:annotation> - <xs:documentation xml:lang="en-us"> The EDK II build system supports workstations - running one of the following supported operating systems. This is the OS for the - developer's workstation, not the target platform. </xs:documentation> + <xs:documentation xml:lang="en-us"> The EDK II build system supports workstations running one of the + following supported operating systems. This is the OS for the developer's workstation, not the target + platform. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="Win32"> <xs:annotation> - <xs:documentation xml:lang="en-us"> For Windows 2003, Windows XP and Windows - Vista. </xs:documentation> + <xs:documentation xml:lang="en-us"> For Windows 2003, Windows XP and Windows Vista. + </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="Win64"> <xs:annotation> - <xs:documentation xml:lang="en-us"> For Windows 2003, Windows XP and Windows - Vista. </xs:documentation> + <xs:documentation xml:lang="en-us"> For Windows 2003, Windows XP and Windows Vista. + </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="Linux32"/> @@ -2870,14 +2700,14 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. <xs:enumeration value="OS/X64"/> <xs:enumeration value="GenericWin"> <xs:annotation> - <xs:documentation xml:lang="en-us"> Typically, this is used for Windows Batch - files. </xs:documentation> + <xs:documentation xml:lang="en-us"> Typically, this is used for Windows Batch files. + </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="GenericNix"> <xs:annotation> - <xs:documentation xml:lang="en-us"> Typically use for shell scripts - valid for - any Linux and Mac OS/X. </xs:documentation> + <xs:documentation xml:lang="en-us"> Typically use for shell scripts - valid for any Linux and Mac + OS/X. </xs:documentation> </xs:annotation> </xs:enumeration> <xs:pattern value="[a-zA-Z]([a-zA-Z0-9])*"/> |