Content ready for review
authorlhauch <lhauch@7335b38e-4728-0410-8992-fb3ffe349368>
Wed, 14 May 2008 18:30:38 +0000 (18:30 +0000)
committerlhauch <lhauch@7335b38e-4728-0410-8992-fb3ffe349368>
Wed, 14 May 2008 18:30:38 +0000 (18:30 +0000)
git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1225 7335b38e-4728-0410-8992-fb3ffe349368

Conf/XMLSchema/WorkspaceContent.xsd

index aa9165b..7dbd9ee 100644 (file)
        </xs:annotation>\r
        <xs:element name="WorkspaceContent">\r
                <xs:annotation>\r
-                       <xs:documentation xml:lang="en-us"> This file describes the distribution,\r
-                               package, stand-alone (non-package) module content, tools and\r
-                               miscellaneous files that have been installed in THIS Workspace.\r
-                       </xs:documentation>\r
+                       <xs:documentation xml:lang="en-us"> This file describes the distributions,\r
+                               packages, stand-alone (non-package) modules and miscellaneous files that\r
+                               have been installed in THIS WORKSPACE. Additionally, any tools that are\r
+                               installed as part of a distribution are tracked (tools are not required\r
+                               to be installed within a WORKSPACE.) </xs:documentation>\r
                </xs:annotation>\r
                <xs:complexType>\r
                        <xs:sequence>\r
                                <xs:element ref="Header" minOccurs="1" maxOccurs="1">\r
                                        <xs:annotation>\r
                                                <xs:documentation xml:lang="en-us"> This section tracks required\r
-                                                       information about this Workspace. </xs:documentation>\r
+                                                       information about this WORKSPACE. </xs:documentation>\r
                                        </xs:annotation>\r
                                </xs:element>\r
-                               <xs:element ref="DistributionPackageList" minOccurs="1" maxOccurs="1">\r
+                               <xs:element ref="DistributionPackage" minOccurs="1"\r
+                                       maxOccurs="unbounded">\r
                                        <xs:annotation>\r
                                                <xs:documentation xml:lang="en-us"> The list of UEFI/PI distribution\r
-                                                       packages that have been installed in this Workspace.\r
-                                               </xs:documentation>\r
-                                       </xs:annotation>\r
-                               </xs:element>\r
-                               <xs:element ref="PackageList" minOccurs="0" maxOccurs="1">\r
-                                       <xs:annotation>\r
-                                               <xs:documentation xml:lang="en-us"> This is the listing of packages\r
-                                                       that have been installed as part of a distribution in this\r
-                                                       Workspace. </xs:documentation>\r
-                                       </xs:annotation>\r
-                               </xs:element>\r
-                               <xs:element ref="ModuleList" minOccurs="0" maxOccurs="1">\r
-                                       <xs:annotation>\r
-                                               <xs:documentation xml:lang="en-us"> This is a list of the\r
-                                                       stand-alone modules (not part of a package) that have been\r
-                                                       installed as part of a distribution in this Workspace.\r
+                                                       packages that have been installed in this WORKSPACE.\r
                                                </xs:documentation>\r
                                        </xs:annotation>\r
                                </xs:element>\r
-                               <xs:element ref="ToolsList" minOccurs="0" maxOccurs="1">\r
-                                       <xs:annotation>\r
-                                               <xs:documentation xml:lang="en-us"> This section tracks tools that\r
-                                                       have been installed as part of a distribution's Tools sections. </xs:documentation>\r
-                                               <xs:documentation xml:lang="en-us"> It is possible that the tools\r
-                                                       may not be located within this Workspace. </xs:documentation>\r
-                                       </xs:annotation>\r
-                               </xs:element>\r
-                               <xs:element ref="MiscellaneousFilesList" minOccurs="0" maxOccurs="1">\r
-                                       <xs:annotation>\r
-                                               <xs:documentation xml:lang="en-us"> This section tracks files from\r
-                                                       the MiscellaneousFiles sections of a distribution that have been\r
-                                                       installed in this Workspace. </xs:documentation>\r
-                                       </xs:annotation>\r
-                               </xs:element>\r
-                               <xs:element ref="UserExtensionsList" minOccurs="0" maxOccurs="1">\r
-                                       <xs:annotation>\r
-                                               <xs:documentation xml:lang="en-us"> This sections tracks\r
-                                                       distributions, installed in this Workspace, that have\r
-                                                       UserExtensions sections. </xs:documentation>\r
-                                       </xs:annotation>\r
-                               </xs:element>\r
                        </xs:sequence>\r
                </xs:complexType>\r
        </xs:element>\r
@@ -92,7 +57,7 @@
                                        <xs:annotation>\r
                                                <xs:documentation xml:lang="en-us"> This User Interface Name can be\r
                                                        entered during initialization of a WORKSPACE to permit a developer\r
-                                                       to uniquely identify a Workspace. </xs:documentation>\r
+                                                       to uniquely identify a WORKSPACE. </xs:documentation>\r
                                                <xs:documentation xml:lang="en-us"> This value can be used by report\r
                                                        generators. </xs:documentation>\r
                                        </xs:annotation>\r
                                <xs:element minOccurs="1" maxOccurs="1" name="AbsolutePath"\r
                                        type="xs:anyURI">\r
                                        <xs:annotation>\r
-                                               <xs:documentation xml:lang="en-us"> When the workspace is first\r
+                                               <xs:documentation xml:lang="en-us"> When the WORKSPACE is first\r
                                                        initialized, this is the absolute path to the WORKSPACE. If the\r
                                                        user moves or re-names the directory, the RmPkg tool will need to\r
-                                                       verify the content of this Workspace before removing any content.\r
+                                                       verify the content of this WORKSPACE before removing any content.\r
                                                </xs:documentation>\r
                                        </xs:annotation>\r
                                </xs:element>\r
                                                                        <xs:simpleContent>\r
                                                                                <xs:extension base="xs:normalizedString">\r
                                                                                        <xs:attribute name="BaseName" type="xs:NCName"\r
-                                                                                               use="optional" />\r
+                                                                                               use="required">\r
+                                                                                               <xs:annotation>\r
+                                                                                                       <xs:documentation xml:lang="en-us"> The BaseName is\r
+                                                                                                               used to create files and folders during a build, and\r
+                                                                                                               is used by packaging tools as a keyword to create\r
+                                                                                                               the DEC file. </xs:documentation>\r
+                                                                                               </xs:annotation>\r
+                                                                                       </xs:attribute>\r
                                                                                </xs:extension>\r
                                                                        </xs:simpleContent>\r
                                                                </xs:complexType>\r
                                                                                version attribute is optional. </xs:documentation>\r
                                                                </xs:annotation>\r
                                                        </xs:element>\r
-                                                       <xs:element name="DistributionPackageGuid" minOccurs="1"\r
-                                                               maxOccurs="1">\r
-                                                               <xs:annotation>\r
-                                                                       <xs:documentation xml:lang="en-us"> This is the GUID and\r
-                                                                               Version of the Distribution Package that provided this\r
-                                                                               package. </xs:documentation>\r
-                                                               </xs:annotation>\r
-                                                               <xs:complexType>\r
-                                                                       <xs:simpleContent>\r
-                                                                               <xs:extension base="RegistryFormatGuid">\r
-                                                                                       <xs:attribute name="Version" type="xs:decimal"\r
-                                                                                               use="required" />\r
-                                                                               </xs:extension>\r
-                                                                       </xs:simpleContent>\r
-                                                               </xs:complexType>\r
-                                                       </xs:element>\r
                                                        <xs:element name="InstalledFolder" type="xs:anyURI" minOccurs="1"\r
                                                                maxOccurs="1">\r
                                                                <xs:annotation>\r
                                                                                path and filename of the DEC file. </xs:documentation>\r
                                                                </xs:annotation>\r
                                                        </xs:element>\r
-                                                       <xs:element minOccurs="0" maxOccurs="1" name="ModuleList">\r
+                                                       <xs:element ref="ModuleList" minOccurs="0" maxOccurs="1">\r
                                                                <xs:annotation>\r
-                                                                       <xs:documentation xml:lang="en-us"> Every module that is part\r
-                                                                               of this package must be listed here. </xs:documentation>\r
+                                                                       <xs:documentation xml:lang="en-us"> This section is used to\r
+                                                                               track the actual installation location, relative to the\r
+                                                                               WORKSPACE. Every module that is part of this package must be\r
+                                                                               listed here. During an installation, the user may be\r
+                                                                               presented with an option to relocate module content from the\r
+                                                                               ZIP portion of the archive into a different location, the\r
+                                                                               installation tools must modify this value if the location is\r
+                                                                               different from the default location. Any removal tools must\r
+                                                                               check this value to locate correctly, the items that will be\r
+                                                                               removed. </xs:documentation>\r
+                                                                       <xs:documentation xml:lang="en-us"> The name of any INF files\r
+                                                                               that were created during the installation of a distribution\r
+                                                                               must also be listed in this section. </xs:documentation>\r
                                                                </xs:annotation>\r
-                                                               <xs:complexType>\r
-                                                                       <xs:sequence>\r
-                                                                               <xs:element minOccurs="1" maxOccurs="unbounded"\r
-                                                                                       name="Module">\r
-                                                                                       <xs:complexType>\r
-                                                                                               <xs:sequence>\r
-                                                                                                       <xs:element ref="GUID" minOccurs="1" maxOccurs="1">\r
-                                                                                                               <xs:annotation>\r
-                                                                                                                       <xs:documentation xml:lang="en-us"> This is the\r
-                                                                                                                               GUID and Version of a module that is part of a\r
-                                                                                                                               package. </xs:documentation>\r
-                                                                                                               </xs:annotation>\r
-                                                                                                       </xs:element>\r
-                                                                                                       <xs:element minOccurs="1" maxOccurs="1"\r
-                                                                                                               name="InstalledFolder" type="xs:anyURI">\r
-                                                                                                               <xs:annotation>\r
-                                                                                                                       <xs:documentation xml:lang="en-us"> This is used\r
-                                                                                                                               to track the actual installation location,\r
-                                                                                                                               relative to the WORKSPACE. During an\r
-                                                                                                                               installation, the user may be presented with an\r
-                                                                                                                               option to relocate module content from the ZIP\r
-                                                                                                                               portion of the archive into a different\r
-                                                                                                                               location. </xs:documentation>\r
-                                                                                                                       <xs:documentation> Any installation tools must\r
-                                                                                                                               modify this value if the location is different\r
-                                                                                                                               from the default location. </xs:documentation>\r
-                                                                                                                       <xs:documentation> Any removal tools must check\r
-                                                                                                                               this value to locate correctly, the items that\r
-                                                                                                                               will be removed. </xs:documentation>\r
-                                                                                                               </xs:annotation>\r
-                                                                                                       </xs:element>\r
-                                                                                                       <xs:element minOccurs="1" maxOccurs="unbounded"\r
-                                                                                                               name="InfFilename" type="xs:anyURI">\r
-                                                                                                               <xs:annotation>\r
-                                                                                                                       <xs:documentation xml:lang="en-us"> The name of\r
-                                                                                                                               any INF files that were created during the\r
-                                                                                                                               installation of a distribution.\r
-                                                                                                                       </xs:documentation>\r
-                                                                                                               </xs:annotation>\r
-                                                                                                       </xs:element>\r
-                                                                                               </xs:sequence>\r
-                                                                                       </xs:complexType>\r
-                                                                               </xs:element>\r
-                                                                       </xs:sequence>\r
-                                                               </xs:complexType>\r
                                                        </xs:element>\r
                                                </xs:sequence>\r
                                        </xs:complexType>\r
                </xs:complexType>\r
        </xs:element>\r
 \r
-\r
        <xs:element name="ModuleList">\r
-               <xs:annotation>\r
-                       <xs:documentation xml:lang="en-us"> This section is used to record\r
-                               distribution packages that contain modules that are not part of a\r
-                               package. Modules that are part of packages are listed under the Package\r
-                               element of the PackageList section. </xs:documentation>\r
-                       <xs:documentation xml:lang="en-us"> Module only distribution will\r
-                               typically be for binary only modules, like the enhanced FAT driver.\r
-                       </xs:documentation>\r
-               </xs:annotation>\r
                <xs:complexType>\r
                        <xs:sequence>\r
                                <xs:element minOccurs="1" maxOccurs="unbounded" name="Module">\r
                                        <xs:complexType>\r
                                                <xs:sequence>\r
+                                                       <xs:element name="Name" minOccurs="1" maxOccurs="1">\r
+                                                               <xs:annotation>\r
+                                                                       <xs:documentation xml:lang="en-us"> The User Interface Name of\r
+                                                                               the module. </xs:documentation>\r
+                                                               </xs:annotation>\r
+                                                               <xs:complexType>\r
+                                                                       <xs:simpleContent>\r
+                                                                               <xs:extension base="xs:normalizedString">\r
+                                                                                       <xs:attribute name="BaseName" type="xs:NCName"\r
+                                                                                               use="required">\r
+                                                                                               <xs:annotation>\r
+                                                                                                       <xs:documentation xml:lang="en-us"> The BaseName is\r
+                                                                                                               used to create files and folders during a build, and\r
+                                                                                                               is used by packaging tools as a keyword to create\r
+                                                                                                               the INF file. </xs:documentation>\r
+                                                                                               </xs:annotation>\r
+                                                                                       </xs:attribute>\r
+                                                                               </xs:extension>\r
+                                                                       </xs:simpleContent>\r
+                                                               </xs:complexType>\r
+                                                       </xs:element>\r
                                                        <xs:element ref="GUID" minOccurs="1" maxOccurs="1">\r
                                                                <xs:annotation>\r
                                                                        <xs:documentation xml:lang="en-us"> This is the GUID of the\r
                                                                                version attribute is optional. </xs:documentation>\r
                                                                </xs:annotation>\r
                                                        </xs:element>\r
-                                                       <xs:element minOccurs="1" maxOccurs="1"\r
-                                                               name="DistributionPackageGuid">\r
-                                                               <xs:complexType>\r
-                                                                       <xs:simpleContent>\r
-                                                                               <xs:extension base="RegistryFormatGuid">\r
-                                                                                       <xs:attribute name="Version" type="xs:decimal"\r
-                                                                                               use="required" />\r
-                                                                               </xs:extension>\r
-                                                                       </xs:simpleContent>\r
-                                                               </xs:complexType>\r
-                                                       </xs:element>\r
-                                                       <xs:element name="InstalledFolder" type="xs:anyURI">\r
+                                                       <xs:element name="InstalledFolder" minOccurs="1" maxOccurs="1"\r
+                                                               type="xs:anyURI">\r
                                                                <xs:annotation>\r
-                                                                       <xs:documentation xml:lang="en-us"> This is used to track the\r
-                                                                               actual installation location, relative to the WORKSPACE.\r
-                                                                               During an installation, the user may be presented with an\r
-                                                                               option to relocate a stand-alone module's content from the\r
-                                                                               ZIP portion of the archive into a different location. </xs:documentation>\r
-                                                                       <xs:documentation> Any installation tools must modify this\r
-                                                                               value if the location is different from the default\r
-                                                                               location. </xs:documentation>\r
-                                                                       <xs:documentation> Any removal tools must check this value to\r
-                                                                               locate correctly, the items that will be removed.\r
+                                                                       <xs:documentation xml:lang="en-us"> This is the WORKSPACE\r
+                                                                               relative path that the Module was installed in.\r
                                                                        </xs:documentation>\r
                                                                </xs:annotation>\r
                                                        </xs:element>\r
                                                                type="xs:anyURI">\r
                                                                <xs:annotation>\r
                                                                        <xs:documentation xml:lang="en-us"> This is the WORKSPACE\r
-                                                                               relative path and filename of the INF file.\r
-                                                                       </xs:documentation>\r
+                                                                               relative path and filename of the INF file created during\r
+                                                                               installation. </xs:documentation>\r
                                                                </xs:annotation>\r
                                                        </xs:element>\r
                                                </xs:sequence>\r
                        </xs:sequence>\r
                </xs:complexType>\r
        </xs:element>\r
-       <xs:element name="DistributionPackageList">\r
-               <xs:annotation>\r
-                       <xs:documentation xml:lang="en-us"> This is a list of the Distribution\r
-                               Packages that have been installed in this Workspace. </xs:documentation>\r
-               </xs:annotation>\r
+\r
+       <xs:element name="DistributionPackage">\r
                <xs:complexType>\r
                        <xs:sequence>\r
-                               <xs:element minOccurs="1" maxOccurs="unbounded"\r
-                                       name="DistributionPackage">\r
+                               <xs:element minOccurs="1" maxOccurs="1" name="Name">\r
+                                       <xs:annotation>\r
+                                               <xs:documentation xml:lang="en-us"> The User Interface Name of the\r
+                                                       distribution. </xs:documentation>\r
+                                       </xs:annotation>\r
+                                       <xs:complexType>\r
+                                               <xs:simpleContent>\r
+                                                       <xs:extension base="xs:normalizedString">\r
+                                                               <xs:attribute name="BaseName" type="xs:NCName" use="required">\r
+                                                                       <xs:annotation>\r
+                                                                               <xs:documentation xml:lang="en-us"> This is the actual\r
+                                                                                       BaseName used during the installation. Since users may\r
+                                                                                       change the Distribution Package's default BaseName (used\r
+                                                                                       to create the PKG and MANIFEST files) this is the real\r
+                                                                                       name used to create the files. </xs:documentation>\r
+                                                                       </xs:annotation>\r
+                                                               </xs:attribute>\r
+                                                       </xs:extension>\r
+                                               </xs:simpleContent>\r
+                                       </xs:complexType>\r
+                               </xs:element>\r
+                               <xs:element ref="GUID" minOccurs="1" maxOccurs="1">\r
+                                       <xs:annotation>\r
+                                               <xs:documentation xml:lang="en-us"> This is the GUID of the\r
+                                                       distribution, backward compatible versions of a distribution can\r
+                                                       use the same GUID, however the version attribute must be changed\r
+                                                       (incrementally.) Non-backward compatible versions of a\r
+                                                       distribution must also provide a new GUID, while resetting the\r
+                                                       version attribute is optional. </xs:documentation>\r
+                                       </xs:annotation>\r
+                               </xs:element>\r
+                               <xs:element minOccurs="1" maxOccurs="1" name="PkgFilename"\r
+                                       type="xs:anyURI">\r
+                                       <xs:annotation>\r
+                                               <xs:documentation xml:lang="en-us"> This is the filename of the XML\r
+                                                       distribution package surface area (PKG) file that was stored in\r
+                                                       the Conf/Pkgs folder of the WORKSPACE for this distribution\r
+                                                       package. </xs:documentation>\r
+                                       </xs:annotation>\r
+                               </xs:element>\r
+                               <xs:element minOccurs="1" maxOccurs="1" name="ManifestFilename"\r
+                                       type="xs:anyURI">\r
+                                       <xs:annotation>\r
+                                               <xs:documentation xml:lang="en-us"> This is the filename of the\r
+                                                       distribution package manifest (.manifest) file that was created\r
+                                                       and stored in the Conf/Pkgs folder of the WORKSPACE for this\r
+                                                       distribution package. </xs:documentation>\r
+                                               <xs:documentation xml:lang="en-us"> The InstallPkg tool must create\r
+                                                       this file using the extracted locations of the content zip file\r
+                                                       (or, alternatively, the user can create the file by redirecting\r
+                                                       the output of the zip -Tv Contents.zip.) </xs:documentation>\r
+                                       </xs:annotation>\r
+                               </xs:element>\r
+                               <xs:element minOccurs="1" maxOccurs="1" name="InstalledDate"\r
+                                       type="xs:dateTime" />\r
+                               <xs:element name="DistributionProperties" minOccurs="0" maxOccurs="1"\r
+                                       nillable="true">\r
                                        <xs:complexType>\r
                                                <xs:sequence>\r
-                                                       <xs:element minOccurs="1" maxOccurs="1" name="Name">\r
-                                                               <xs:annotation>\r
-                                                                       <xs:documentation xml:lang="en-us"> The User Interface Name of\r
-                                                                               the distribution. </xs:documentation>\r
-                                                               </xs:annotation>\r
-                                                               <xs:complexType>\r
-                                                                       <xs:simpleContent>\r
-                                                                               <xs:extension base="xs:normalizedString">\r
-                                                                                       <xs:attribute name="BaseName" type="xs:NCName"\r
-                                                                                               use="required">\r
-                                                                                               <xs:annotation>\r
-                                                                                                       <xs:documentation xml:lang="en-us"> This is the actual\r
-                                                                                                               BaseName used during the installation. Since users\r
-                                                                                                               may change the Distribution Package's default\r
-                                                                                                               BaseName (used to create the PKG and MANIFEST files)\r
-                                                                                                               this is the real name used to create the files.\r
-                                                                                                       </xs:documentation>\r
-                                                                                               </xs:annotation>\r
-                                                                                       </xs:attribute>\r
-                                                                               </xs:extension>\r
-                                                                       </xs:simpleContent>\r
-                                                               </xs:complexType>\r
-                                                       </xs:element>\r
-                                                       <xs:element ref="GUID" minOccurs="1" maxOccurs="1">\r
-                                                               <xs:annotation>\r
-                                                                       <xs:documentation xml:lang="en-us"> This is the GUID of the\r
-                                                                               distribution, backward compatible versions of a distribution\r
-                                                                               can use the same GUID, however the version attribute must be\r
-                                                                               changed (incrementally.) Non-backward compatible versions of\r
-                                                                               a distribution must also provide a new GUID, while resetting\r
-                                                                               the version attribute is optional. </xs:documentation>\r
-                                                               </xs:annotation>\r
-                                                       </xs:element>\r
-                                                       <xs:element minOccurs="1" maxOccurs="1" name="PkgFilename"\r
-                                                               type="xs:anyURI">\r
-                                                               <xs:annotation>\r
-                                                                       <xs:documentation xml:lang="en-us"> This is the filename of\r
-                                                                               the XML distribution package surface area (PKG) file that\r
-                                                                               was stored in the Conf/Pkgs folder of the WORKSPACE for this\r
-                                                                               distribution package. </xs:documentation>\r
-                                                               </xs:annotation>\r
-                                                       </xs:element>\r
-                                                       <xs:element minOccurs="1" maxOccurs="1" name="ManifestFilename"\r
-                                                               type="xs:anyURI">\r
-                                                               <xs:annotation>\r
-                                                                       <xs:documentation xml:lang="en-us"> This is the filename of\r
-                                                                               the distribution package manifest (.manifest) file that was\r
-                                                                               created and stored in the Conf/Pkgs folder of the WORKSPACE\r
-                                                                               for this distribution package. </xs:documentation>\r
-                                                                       <xs:documentation xml:lang="en-us"> The InstallPkg tool must\r
-                                                                               create this file (or, alternatively, the user can create the\r
-                                                                               file by redirecting the output of the zip -Tv Contents.zip\r
-                                                                               file.) </xs:documentation>\r
-                                                               </xs:annotation>\r
-                                                       </xs:element>\r
-                                                       <xs:element minOccurs="1" maxOccurs="1" name="InstalledDate"\r
-                                                               type="xs:dateTime" />\r
+                                                       <xs:element ref="ToolsList" minOccurs="0" maxOccurs="1" />\r
+                                                       <xs:element ref="MiscellaneousFilesList" minOccurs="0"\r
+                                                               maxOccurs="1" />\r
                                                </xs:sequence>\r
                                                <xs:attribute name="ReadOnly" type="xs:boolean" default="false"\r
                                                        use="optional">\r
                                                                package.</xs:documentation>\r
                                                        </xs:annotation>\r
                                                </xs:attribute>\r
+                                               <xs:attribute name="ModifiedToolsDef" type="xs:boolean"\r
+                                                       default="false" use="optional">\r
+                                                       <xs:annotation>\r
+                                                               <xs:documentation xml:lang="en-us">If set to true, then either\r
+                                                                       the distribution or one of its packages has a user extensions\r
+                                                                       section that modified the tools_def.txt file.\r
+                                                               </xs:documentation>\r
+                                                       </xs:annotation>\r
+                                               </xs:attribute>\r
                                        </xs:complexType>\r
                                </xs:element>\r
+                               <xs:element ref="PackageList" minOccurs="0" maxOccurs="1">\r
+                                       <xs:annotation>\r
+                                               <xs:documentation xml:lang="en-us"> This is the listing of packages\r
+                                                       that have been installed as part of a distribution in this\r
+                                                       WORKSPACE. </xs:documentation>\r
+                                       </xs:annotation>\r
+                               </xs:element>\r
+                               <xs:element ref="ModuleList" minOccurs="0" maxOccurs="1">\r
+                                       <xs:annotation>\r
+                                               <xs:documentation xml:lang="en-us"> This section is used to record\r
+                                                       distribution packages that contain modules that are not part of a\r
+                                                       package. Modules that are part of packages are listed under the\r
+                                                       Package element of the PackageList section. </xs:documentation>\r
+                                               <xs:documentation xml:lang="en-us"> Module only distribution will\r
+                                                       typically be for binary only modules, like the enhanced FAT\r
+                                                       driver. </xs:documentation>\r
+                                       </xs:annotation>\r
+                               </xs:element>\r
                        </xs:sequence>\r
                </xs:complexType>\r
        </xs:element>\r
        <xs:element name="ToolsList">\r
                <xs:complexType>\r
                        <xs:sequence>\r
-                               <xs:element minOccurs="1" maxOccurs="unbounded" name="ToolPackage">\r
+                               <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename"\r
+                                       type="xs:anyURI">\r
                                        <xs:annotation>\r
                                                <xs:documentation xml:lang="en-us"> This is used to track the actual\r
                                                        installation location of the Tools Section files. During an\r
                                                        installation, the user may change in the installation location, so\r
-                                                       that it is different from the location in the ZIP file. </xs:documentation>\r
+                                                       that it is different from the location in the ZIP file. The\r
+                                                       location is not WORKSPACE relative, but the full path and\r
+                                                       filename. </xs:documentation>\r
                                                <xs:documentation xml:lang="en-us"> Any removal tools must check\r
                                                        this value to locate correctly, the items that will be removed.\r
                                                </xs:documentation>\r
                                        </xs:annotation>\r
-                                       <xs:complexType>\r
-                                               <xs:sequence>\r
-                                                       <xs:element minOccurs="1" maxOccurs="1" name="Name"\r
-                                                               type="xs:normalizedString">\r
-                                                               <xs:annotation>\r
-                                                                       <xs:documentation xml:lang="en-us"> The User Interface Name of\r
-                                                                               the Tools. </xs:documentation>\r
-                                                               </xs:annotation>\r
-                                                       </xs:element>\r
-                                                       <xs:element minOccurs="1" maxOccurs="1"\r
-                                                               name="DistributionPackageGuid">\r
-                                                               <xs:complexType>\r
-                                                                       <xs:simpleContent>\r
-                                                                               <xs:extension base="RegistryFormatGuid">\r
-                                                                                       <xs:attribute name="Version" type="xs:decimal"\r
-                                                                                               use="required" />\r
-                                                                               </xs:extension>\r
-                                                                       </xs:simpleContent>\r
-                                                               </xs:complexType>\r
-                                                       </xs:element>\r
-                                                       <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename"\r
-                                                               type="xs:anyURI" />\r
-                                               </xs:sequence>\r
-                                       </xs:complexType>\r
                                </xs:element>\r
                        </xs:sequence>\r
                </xs:complexType>\r
        <xs:element name="MiscellaneousFilesList">\r
                <xs:complexType>\r
                        <xs:sequence>\r
-                               <xs:element name="MiscellaneousFiles" minOccurs="1"\r
-                                       maxOccurs="unbounded">\r
+                               <xs:element name="Filename" minOccurs="1" maxOccurs="unbounded">\r
                                        <xs:annotation>\r
                                                <xs:documentation xml:lang="en-us"> This is used to track the actual\r
-                                                       installation location of files from the MiscellaneousFiles\r
-                                                       section. During an installation, the user may change in the\r
-                                                       installation location, so that it is different from the location\r
-                                                       in the ZIP file. </xs:documentation>\r
+                                                       installation location of files from MiscellaneousFiles sections.\r
+                                                       During an installation, the user may change in the installation\r
+                                                       location, so that it is different from the location in the ZIP\r
+                                                       file. </xs:documentation>\r
                                                <xs:documentation xml:lang="en-us"> Any removal tools must check\r
                                                        this value to locate correctly, the items that will be removed.\r
                                                </xs:documentation>\r
                                        </xs:annotation>\r
-                                       <xs:complexType>\r
-                                               <xs:sequence>\r
-                                                       <xs:element name="DistributionPackageGuid" minOccurs="1"\r
-                                                               maxOccurs="1">\r
-                                                               <xs:complexType>\r
-                                                                       <xs:simpleContent>\r
-                                                                               <xs:extension base="RegistryFormatGuid">\r
-                                                                                       <xs:attribute name="Version" type="xs:decimal"\r
-                                                                                               use="required" />\r
-                                                                               </xs:extension>\r
-                                                                       </xs:simpleContent>\r
-                                                               </xs:complexType>\r
-                                                       </xs:element>\r
-                                                       <xs:element name="File" minOccurs="1" maxOccurs="unbounded"\r
-                                                               type="xs:anyURI" />\r
-                                               </xs:sequence>\r
-                                       </xs:complexType>\r
-                               </xs:element>\r
-                       </xs:sequence>\r
-               </xs:complexType>\r
-       </xs:element>\r
-\r
-       <xs:element name="UserExtensionsList">\r
-               <xs:annotation>\r
-                       <xs:documentation xml:lang="en-us"> If a Distribution Package contains a\r
-                               UserExtensions section, then the Distribution Package GUID must be\r
-                               recorded here. </xs:documentation>\r
-                       <xs:documentation xml:lang="en-us"> We don't track the content of the\r
-                               UserExtension section, just the Distribution Package. The InstallPkg\r
-                               tool will process these sections during the installation, so just\r
-                               recording what distribution has this section is enough.\r
-                       </xs:documentation>\r
-               </xs:annotation>\r
-               <xs:complexType>\r
-                       <xs:sequence>\r
-                               <xs:element minOccurs="1" maxOccurs="unbounded"\r
-                                       name="DistributionPackageGuid">\r
-                                       <xs:complexType>\r
-                                               <xs:simpleContent>\r
-                                                       <xs:extension base="RegistryFormatGuid">\r
-                                                               <xs:attribute name="Version" type="xs:decimal" use="required" />\r
-                                                       </xs:extension>\r
-                                               </xs:simpleContent>\r
-                                       </xs:complexType>\r
                                </xs:element>\r
                        </xs:sequence>\r
                </xs:complexType>\r
        </xs:element>\r
 \r
-\r
        <xs:element name="GUID">\r
                <xs:complexType>\r
                        <xs:simpleContent>\r