]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/BaseTools/Conf/XMLSchema/FrameworkDataElements.xsd
Moved (back!) to $WORKSPACE/BaseTools location, as the plan is to
[mirror_edk2.git] / Tools / BaseTools / Conf / XMLSchema / FrameworkDataElements.xsd
diff --git a/Tools/BaseTools/Conf/XMLSchema/FrameworkDataElements.xsd b/Tools/BaseTools/Conf/XMLSchema/FrameworkDataElements.xsd
deleted file mode 100644 (file)
index 12bba93..0000000
+++ /dev/null
@@ -1,728 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://www.TianoCore.org/2007/Edk2.1" targetNamespace="http://www.TianoCore.org/2007/Edk2.1">\r
-  <!--\r
-    Filename: FrameworkDataElements.xsd\r
-    \r
-    Copyright (c) 2007, Intel Corp.\r
-    All rights reserved. This program and the accompanying materials\r
-    are licensed and made available under the terms and conditions of the BSD License\r
-    which may be found at http://opensource.org/licenses/bsd-license.php\r
-    \r
-    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-    \r
-  -->\r
-  <xs:annotation>\r
-    <xs:documentation xml:lang="en"> This schema defines EFI and Framework Data Elements </xs:documentation>\r
-  </xs:annotation>\r
-  <xs:include schemaLocation="NamingConvention.xsd"/>\r
-  <xs:include schemaLocation="FrameworkDataTypes.xsd"/>\r
-    <xs:include schemaLocation="FrameworkDataAttributes.xsd"/>\r
-  <xs:element name="Abstract" type="Sentence">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">Abstract is valid for all Description Files</xs:documentation>\r
-      <xs:documentation xml:lang="en">This section is required. This is a single sentence to describe the module and will be used in sample files as the abstract data in the header comment section.</xs:documentation>\r
-    </xs:annotation>\r
-  </xs:element>\r
-  <xs:element name="BootModes">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">BootModes is valid for all Description Files</xs:documentation>\r
-      <xs:documentation xml:lang="en">This is a list of BootModes Supported by the Module</xs:documentation>\r
-    </xs:annotation>\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="1" maxOccurs="unbounded" name="BootMode">\r
-          <xs:complexType>\r
-            <xs:sequence minOccurs="0">\r
-              <xs:element name="HelpText" type="Paragraph"/>\r
-            </xs:sequence>\r
-            <xs:attributeGroup ref="BootModeAttributes"/>\r
-          </xs:complexType>\r
-        </xs:element>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-   <xs:element name="Copyright" type="Paragraph"/>\r
-  <xs:element name="DataHubs">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">This is a list of DataHubRecord elements.</xs:documentation>\r
-    </xs:annotation>\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="1" maxOccurs="unbounded" name="DataHubRecord">\r
-          <xs:complexType>\r
-            <xs:sequence>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="DataHubCName" type="C_NameType"/>\r
-              <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
-            </xs:sequence>\r
-            <xs:attributeGroup ref="DataHubAttributes"/>\r
-          </xs:complexType>\r
-        </xs:element>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="DefaultValue">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">The default setting of a PCD entry.</xs:documentation>\r
-    </xs:annotation>\r
-    <xs:complexType>\r
-      <xs:simpleContent>\r
-        <xs:extension base="xs:normalizedString"/>\r
-      </xs:simpleContent>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="Depex">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">This section is used to describe the DXE or PEI Dependency code</xs:documentation>\r
-    </xs:annotation>\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="0" maxOccurs="unbounded" name="Define" type="xs:normalizedString"/>\r
-        <xs:element minOccurs="0" maxOccurs="unbounded" name="Expression" type="xs:string"/>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="Description" type="Paragraph">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">This section is required for new modules and libraries and must contain more information than the Abstract.</xs:documentation>\r
-    </xs:annotation>\r
-  </xs:element>\r
-  <xs:element name="BinaryFiles">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">Multiple Filenames may be specified, and they may also be scoped to a specific Architecture.</xs:documentation>\r
-    </xs:annotation>\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
-        <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename">\r
-          <xs:complexType>\r
-            <xs:simpleContent>\r
-              <xs:extension base="PathAndFilename"> \r
-                <xs:attributeGroup ref="BinaryFileAttributes"/>\r
-              </xs:extension>\r
-            </xs:simpleContent>\r
-          </xs:complexType>\r
-        </xs:element>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-   <xs:element name="Events">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">This is a list of MSA Events</xs:documentation>\r
-    </xs:annotation>\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="0" maxOccurs="1" name="CreateEvents">\r
-          <xs:complexType>\r
-            <xs:sequence>\r
-              <xs:element minOccurs="1" maxOccurs="unbounded" name="EventTypes">\r
-                <xs:complexType>\r
-                  <xs:sequence>\r
-                    <xs:element minOccurs="1" maxOccurs="1" name="EventType" type="EventTypes"/>\r
-                    <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
-                  </xs:sequence>\r
-                  <xs:attributeGroup ref="EventAttributes"/>\r
-                </xs:complexType>\r
-              </xs:element>\r
-            </xs:sequence>\r
-          </xs:complexType>\r
-        </xs:element>\r
-        <xs:element minOccurs="0" maxOccurs="1" name="SignalEvents">\r
-          <xs:annotation>\r
-            <xs:documentation xml:lang="en">Module has an event that is waiting to be signaled. Event is named by GUID.</xs:documentation>\r
-          </xs:annotation>\r
-          <xs:complexType>\r
-            <xs:sequence>\r
-              <xs:element minOccurs="1" maxOccurs="unbounded" name="EventTypes">\r
-                <xs:complexType>\r
-                  <xs:sequence>\r
-                    <xs:element minOccurs="1" maxOccurs="1" name="EventType" type="EventTypes"/>\r
-                    <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
-                  </xs:sequence>\r
-                  <xs:attributeGroup ref="EventAttributes"/>\r
-                </xs:complexType>\r
-              </xs:element>\r
-            </xs:sequence>\r
-          </xs:complexType>\r
-        </xs:element>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="Externs">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">This is a child of MSA files.</xs:documentation>\r
-    </xs:annotation>\r
-    <xs:complexType>\r
-      <xs:sequence minOccurs="1">\r
-        <xs:element minOccurs="0" maxOccurs="1" name="PcdIsDriver" type="PcdDriverTypes"/>\r
-        <xs:element minOccurs="0" maxOccurs="1" name="TianoR8FlashMap_h" type="xs:boolean" default="false"/>\r
-        <xs:element minOccurs="0" maxOccurs="unbounded" name="Specification" type="Sentence"/>\r
-        <xs:element minOccurs="0" maxOccurs="unbounded" name="Extern">\r
-          <xs:complexType>\r
-            <xs:choice minOccurs="1" maxOccurs="1">\r
-              <xs:sequence minOccurs="0" maxOccurs="1">\r
-                <xs:annotation>\r
-                  <xs:documentation xml:lang="en">Driver Module</xs:documentation>\r
-                </xs:annotation>\r
-                <xs:element minOccurs="0" maxOccurs="1" name="ModuleEntryPoint" type="C_NameType"/>\r
-                <xs:element minOccurs="0" maxOccurs="1" name="ModuleUnloadImage" type="C_NameType"/>\r
-              </xs:sequence>\r
-              <xs:sequence minOccurs="0" maxOccurs="1">\r
-                <xs:annotation>\r
-                  <xs:documentation xml:lang="en">Library Module</xs:documentation>\r
-                </xs:annotation>\r
-                <xs:element minOccurs="0" maxOccurs="1" name="Constructor" type="C_NameType"/>\r
-                <xs:element minOccurs="0" maxOccurs="1" name="Destructor" type="C_NameType"/>\r
-              </xs:sequence>\r
-              <xs:sequence minOccurs="0" maxOccurs="1">\r
-                <xs:annotation>\r
-                  <xs:documentation xml:lang="en">Allow multiple entries for DriverBinding, ComponentName, DriverConfig and DriverDiag elements. For ComponentName, DriverConfig and/or DriverDiag - you must have a 1:1 mapping to DriverBinding if the element is defined.</xs:documentation>\r
-                  <xs:documentation xml:lang="en">Permit User Defined Extern Tags</xs:documentation>\r
-                </xs:annotation>\r
-                <xs:element minOccurs="1" maxOccurs="1" name="DriverBinding" type="C_NameType"/>\r
-                <xs:element minOccurs="0" maxOccurs="1" name="ComponentName" type="C_NameType"/>\r
-                <xs:element minOccurs="0" maxOccurs="1" name="DriverConfig" type="C_NameType"/>\r
-                <xs:element minOccurs="0" maxOccurs="1" name="DriverDiag" type="C_NameType"/>\r
-              </xs:sequence>\r
-              <xs:sequence minOccurs="0" maxOccurs="1">\r
-                <xs:annotation>\r
-                  <xs:documentation xml:lang="en"> Module Call Backs</xs:documentation>\r
-                </xs:annotation>\r
-                <xs:element minOccurs="0" maxOccurs="1" name="SetVirtualAddressMapCallBack" type="C_NameType"/>\r
-                <xs:element minOccurs="0" maxOccurs="1" name="ExitBootServicesCallBack" type="C_NameType"/>\r
-              </xs:sequence>\r
-            </xs:choice>\r
-            <xs:attributeGroup ref="ExternAttributes"/>\r
-          </xs:complexType>\r
-        </xs:element>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="Filename">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">Describe the valid content of a filename This should extend PathAndFilename - Variable names not allowed here!</xs:documentation>\r
-    </xs:annotation>\r
-    <xs:complexType>\r
-      <xs:simpleContent>\r
-        <xs:extension base="PathAndFilename">\r
-          <xs:attributeGroup ref="FilenameAttributes"/>\r
-        </xs:extension>\r
-      </xs:simpleContent>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="Filenames">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">This is a list of Filenames</xs:documentation>\r
-    </xs:annotation>\r
-    <xs:complexType>\r
-      <xs:sequence minOccurs="1">\r
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="Filename"/>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="GuidDeclarations">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">This is a child of PackageSurfaceArea (SPD) </xs:documentation>\r
-    </xs:annotation>\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="1" maxOccurs="unbounded" name="Entry">\r
-          <xs:complexType>\r
-            <xs:sequence>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="GuidValue" type="GuidType"/>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
-            </xs:sequence>\r
-            <xs:attributeGroup ref="GuidDeclarationAttributes"/>\r
-          </xs:complexType>\r
-        </xs:element>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="Guids">\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="1" maxOccurs="unbounded" name="GuidCNames">\r
-          <xs:annotation>\r
-            <xs:documentation xml:lang="en">Describe the valid content of a GUID element in and MSA file.</xs:documentation>\r
-          </xs:annotation>\r
-          <xs:complexType>\r
-            <xs:sequence>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="GuidCName" type="C_NameType"/>\r
-              <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
-            </xs:sequence>\r
-            <xs:attributeGroup ref="GuidAttributes"/>\r
-          </xs:complexType>\r
-        </xs:element>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="HiiPackages">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">Describe the list of a HiiPackage elements</xs:documentation>\r
-    </xs:annotation>\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="1" maxOccurs="unbounded" name="HiiPackage">\r
-          <xs:complexType>\r
-            <xs:sequence>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="HiiCName" type="C_NameType"/>\r
-              <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
-            </xs:sequence>\r
-            <xs:attributeGroup ref="HiiPackageAttributes"/>\r
-          </xs:complexType>\r
-        </xs:element>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="Hobs">\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="1" maxOccurs="unbounded" name="HobTypes">\r
-          <xs:complexType>\r
-            <xs:sequence>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="HobType" type="HobTypes"/>\r
-              <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
-            </xs:sequence>\r
-            <xs:attributeGroup ref="HobAttributes"/>\r
-          </xs:complexType>\r
-        </xs:element>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="IncludeHeader">\r
-    <xs:complexType>\r
-      <xs:simpleContent>\r
-        <xs:extension base="PathAndFilename">\r
-          <xs:attributeGroup ref="IncludeHeaderAttributes"/>\r
-        </xs:extension>\r
-      </xs:simpleContent>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="IndustryStdIncludes">\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="1" maxOccurs="unbounded" ref="IndustryStdHeader"/>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="IndustryStdHeader">\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="1" maxOccurs="1" name="IncludeHeader" type="PathAndFilename"/>\r
-        <xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
-      </xs:sequence>\r
-      <xs:attributeGroup ref="IndustryStdHeaderAttributes"/>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="LibraryClass">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">Used in MSA files. This defines what class of library is being supported = produced (library module) or consumed by a module.</xs:documentation>\r
-    </xs:annotation>\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="1" maxOccurs="1" name="Keyword" type="KeywordType"/>\r
-        <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
-      </xs:sequence>\r
-      <xs:attributeGroup ref="LibraryClassAttributes"/>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <!-- LAH This is SPD LibraryClassDeclarations FINAL version -->\r
-  <xs:element name="LibraryClassDeclarations">\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="1" maxOccurs="unbounded" name="LibraryClass">\r
-          <xs:complexType>\r
-            <xs:sequence>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="IncludeHeader" type="PathAndFilename"/>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
-            </xs:sequence>\r
-            <xs:attributeGroup ref="LibraryClassDeclarationAttributes"/>\r
-          </xs:complexType>\r
-        </xs:element>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="LibraryClassDefinitions">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">This section defines what Classes of Library that this library supports. A Library may belong to multiple different library classes.</xs:documentation>\r
-    </xs:annotation>\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="1" maxOccurs="unbounded" ref="LibraryClass"/>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="License">\r
-    <xs:complexType>\r
-      <xs:simpleContent>\r
-        <xs:extension base="Paragraph">\r
-          <xs:attribute name="URL" type="xs:anyURI" use="optional"/>\r
-        </xs:extension>\r
-      </xs:simpleContent>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="ModuleBuildOptions">\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="0" maxOccurs="1" ref="Options"/>\r
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="UserExtensions"/>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="ModuleDefinitions">\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="1" maxOccurs="1" name="SupportedArchitectures" type="ArchListType"/>\r
-        <xs:element minOccurs="1" maxOccurs="1" name="BinaryModule" type="xs:boolean" default="false"/>\r
-        <xs:element minOccurs="1" maxOccurs="1" name="OutputFileBasename" type="FileNameConvention"/>\r
-        <xs:element minOccurs="0" maxOccurs="1" name="ClonedFrom">\r
-          <xs:complexType>\r
-            <xs:sequence>\r
-              <xs:element minOccurs="1" maxOccurs="unbounded" name="Cloned">\r
-                <xs:complexType>\r
-                  <xs:sequence>\r
-                    <xs:element minOccurs="1" maxOccurs="1" name="PackageGuid" type="GuidType"/>\r
-                    <xs:element minOccurs="1" maxOccurs="1" name="PackageVersion" type="VersionDataType"/>\r
-                    <xs:element minOccurs="1" maxOccurs="1" name="ModuleGuid" type="GuidType"/>\r
-                    <xs:element minOccurs="1" maxOccurs="1" name="ModuleVersion" type="VersionDataType"/>\r
-                  </xs:sequence>\r
-                  <!-- The Id is a number used to track heritage  the first entry will be 0 and increment from then on. -->\r
-                  <xs:attribute name="Id" type="xs:nonNegativeInteger" use="required"/>\r
-                  <!-- If the original module was installed from a FAR, track the FAR it came from. -->\r
-                  <xs:attribute name="FarGuid" type="GuidType" use="optional"/>\r
-                </xs:complexType>\r
-              </xs:element>\r
-            </xs:sequence>\r
-          </xs:complexType>\r
-        </xs:element>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="ModuleType" type="ModuleTypeDef">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">Describe the valid EFI Phase that the Module is designed to execute under.</xs:documentation>\r
-    </xs:annotation>\r
-  </xs:element>\r
-  <!-- Use in Final -->\r
-  <xs:element name="MsaFiles">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">MsaFiles is a child of Surface Area Package Description (SPD) files</xs:documentation>\r
-    </xs:annotation>\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename" type="PathAndFilename"/>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="Options">\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="1" maxOccurs="unbounded" ref="Option"/>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="NonProcessedFiles">\r
-    <xs:complexType>\r
-      <xs:sequence minOccurs="1" maxOccurs="unbounded">\r
-        <xs:element name="Filename" type="PathAndFilename"/>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="Option">\r
-    <!-- This element is used to store flags from the Tools -->\r
-    <xs:complexType>\r
-      <xs:simpleContent>\r
-        <xs:extension base="xs:normalizedString">\r
-          <xs:attributeGroup ref="OptionAttributes"/>\r
-        </xs:extension>\r
-      </xs:simpleContent>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="PackageDefinitions">\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="1" maxOccurs="1" name="ReadOnly" type="xs:boolean" default="false"/>\r
-        <xs:element minOccurs="1" maxOccurs="1" name="RePackage" type="xs:boolean" default="false"/>\r
-        <xs:element minOccurs="0" maxOccurs="1" name="ClonedFrom">\r
-          <xs:complexType>\r
-            <xs:sequence>\r
-              <xs:element minOccurs="1" maxOccurs="unbounded" name="Cloned">\r
-                <xs:complexType>\r
-                  <xs:sequence>\r
-                    <xs:element minOccurs="1" maxOccurs="1" name="PackageGuid" type="GuidType"/>\r
-                    <xs:element minOccurs="1" maxOccurs="1" name="PackageVersion" type="VersionDataType"/>\r
-                  </xs:sequence>\r
-                  <!-- The Id is a number used to track heritage  the first entry will be 0 and increment from then on. -->\r
-                  <xs:attribute name="Id" type="xs:nonNegativeInteger" use="required"/>\r
-                  <!-- If the original Package was installed from a FAR, track the FAR it came from. -->\r
-                  <xs:attribute name="FarGuid" type="GuidType" use="optional"/>\r
-                </xs:complexType>\r
-              </xs:element>\r
-            </xs:sequence>\r
-          </xs:complexType>\r
-        </xs:element>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="PackageDependencies">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">This tag is used in the Module Surface Area Description File (MSA) to track package dependencies for a module.</xs:documentation>\r
-      <xs:documentation xml:lang="en">Attributes to PackageName include Required: Usage PackageGuid PackageVesion, Optional: FeatureFlag</xs:documentation>\r
-    </xs:annotation>\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="1" maxOccurs="unbounded" name="Package">\r
-          <xs:complexType>\r
-            <xs:attributeGroup ref="PackageAttributes"/>\r
-          </xs:complexType>\r
-        </xs:element>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="PackageHeaders">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">PackageHeaders is a child of PackageSurfaceArea (SPD) </xs:documentation>\r
-    </xs:annotation>\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="1" maxOccurs="unbounded" name="IncludePkgHeader">\r
-          <xs:complexType>\r
-            <xs:simpleContent>\r
-              <xs:extension base="PathAndFilename">\r
-                <xs:attributeGroup ref="PackageHeaderAttributes"/>\r
-              </xs:extension>\r
-            </xs:simpleContent>\r
-          </xs:complexType>\r
-        </xs:element>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="PackageList">\r
-    <!-- Valid for DB usage only! -->\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">This tag is used in the Framework Package Database File to track all packages (SPD files) installed in a workspace. (Database)</xs:documentation>\r
-    </xs:annotation>\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename">\r
-          <xs:complexType>\r
-            <xs:simpleContent>\r
-              <xs:extension base="PathAndFilename"> \r
-                <xs:attributeGroup ref="PackageNameAttributes"/>\r
-              </xs:extension>\r
-            </xs:simpleContent>\r
-          </xs:complexType>\r
-          </xs:element>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="PcdCoded">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">Child of Module Surface Area Description (MSA)</xs:documentation>\r
-    </xs:annotation>\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="1" maxOccurs="unbounded" name="PcdEntry">\r
-          <xs:complexType>\r
-            <xs:sequence>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="TokenSpaceGuidCName" type="C_NameType"/>\r
-              <xs:element minOccurs="0" maxOccurs="1" name="DefaultValue" type="DefaultValueType"/>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
-            </xs:sequence>\r
-            <!-- MSA file declares a single usage, and must match one of the entries in what the SPD file declares as the set of possible Item Types. -->\r
-            <xs:attributeGroup ref="PcdCodedAttributes"/>\r
-          </xs:complexType>\r
-        </xs:element>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <!-- LAH This is PcdDeclarations FINAL version -->\r
-  <xs:element name="PcdDeclarations">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">PcdDeclaratins is a child of Package Surface Area Description (SPD)</xs:documentation>\r
-    </xs:annotation>\r
-    <xs:complexType>\r
-      <xs:sequence minOccurs="1">\r
-        <xs:element maxOccurs="unbounded" name="PcdEntry">\r
-          <xs:complexType>\r
-            <xs:sequence>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="Token" type="TokenDataType"/>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="TokenSpaceGuidCName" type="C_NameType"/>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDataTypes"/>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="ValidUsage" type="PcdListType"/>\r
-              <xs:element minOccurs="0" maxOccurs="1" name="DefaultValue" type="DefaultValueType"/>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
-            </xs:sequence>\r
-            <xs:attributeGroup ref="PcdDeclarationAttributes"/>\r
-          </xs:complexType>\r
-        </xs:element>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="FarList">\r
-    <!-- Valid for DB usage only! -->\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">This tag is used in the Framework Package Database File to track all DISTRIBUTION packages (FAR files) installed in a workspace. (Database)</xs:documentation>\r
-    </xs:annotation>\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename" type="DbPathAndFilename"/>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="PpiDeclarations">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">PpiDeclarations is a child of PackageSurfaceArea (SPD) </xs:documentation>\r
-    </xs:annotation>\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="1" maxOccurs="unbounded" name="Entry">\r
-          <xs:complexType>\r
-            <xs:sequence>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="GuidValue" type="GuidType"/>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
-            </xs:sequence>\r
-            <xs:attributeGroup ref="PpiDeclarationAttributes"/>\r
-          </xs:complexType>\r
-        </xs:element>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="PPIs">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">Provide for one or more Ppi or PpiNotify sections. </xs:documentation>\r
-    </xs:annotation>\r
-    <xs:complexType>\r
-      <xs:sequence minOccurs="1">\r
-        <xs:element minOccurs="0" maxOccurs="unbounded" name="Ppi">\r
-          <xs:complexType>\r
-            <xs:sequence>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="PpiCName" type="C_NameType"/>\r
-              <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
-            </xs:sequence>\r
-            <xs:attributeGroup ref="PpiAttributes"/>\r
-          </xs:complexType>\r
-        </xs:element>\r
-        <xs:element minOccurs="0" maxOccurs="unbounded" name="PpiNotify">\r
-          <xs:complexType>\r
-            <xs:sequence>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="PpiNotifyCName" type="C_NameType"/>\r
-              <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
-            </xs:sequence>\r
-            <xs:attributeGroup ref="PpiNotifyAttributes"/>\r
-          </xs:complexType>\r
-        </xs:element>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="ProtocolDeclarations">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">ProtocolDeclarations is a child of PackageSurfaceArea (SPD) </xs:documentation>\r
-    </xs:annotation>\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="1" maxOccurs="unbounded" name="Entry">\r
-          <xs:complexType>\r
-            <xs:sequence>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="GuidValue" type="GuidType"/>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
-            </xs:sequence>\r
-            <xs:attributeGroup ref="ProtocolDeclarationAttributes"/>\r
-          </xs:complexType>\r
-        </xs:element>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="Protocols">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">If either Protocol or ProtocolNotify sections are needed, one or more of them should be specified within this section</xs:documentation>\r
-    </xs:annotation>\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="0" maxOccurs="unbounded" name="Protocol">\r
-          <xs:complexType>\r
-            <xs:sequence>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="ProtocolCName" type="C_NameType"/>\r
-              <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
-            </xs:sequence>\r
-            <xs:attributeGroup ref="ProtocolAttributes"/>\r
-          </xs:complexType>\r
-        </xs:element>\r
-        <xs:element minOccurs="0" maxOccurs="unbounded" name="ProtocolNotify">\r
-          <xs:complexType>\r
-            <xs:sequence>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="ProtocolNotifyCName" type="C_NameType"/>\r
-              <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
-            </xs:sequence>\r
-            <xs:attributeGroup ref="ProtocolNotifyAttributes"/>\r
-          </xs:complexType>\r
-        </xs:element>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="SourceFiles">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">Multiple Filenames may be specified, and they may also be scoped to a specific Architecture.</xs:documentation>\r
-    </xs:annotation>\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="1" maxOccurs="unbounded" ref="Filename"/>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="SystemTables">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">This is list of System Table elements.</xs:documentation>\r
-    </xs:annotation>\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="1" maxOccurs="unbounded" name="SystemTableCNames">\r
-          <xs:complexType>\r
-            <xs:sequence>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="SystemTableCName" type="C_NameType"/>\r
-              <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
-            </xs:sequence>\r
-            <xs:attributeGroup ref="SystemTableAttributes"/>\r
-          </xs:complexType>\r
-        </xs:element>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="UserExtensions">\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>\r
-      </xs:sequence>\r
-      <xs:attribute name="UserID" type="xs:NCName" use="required"/>\r
-      <xs:attribute name="Identifier" type="xs:string" use="required"/>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="Variables">\r
-    <xs:annotation>\r
-      <xs:documentation xml:lang="en">An MSA FILE list of EFI Variables described by string pair.</xs:documentation>\r
-    </xs:annotation>\r
-    <xs:complexType>\r
-      <xs:sequence>\r
-        <xs:element minOccurs="1" maxOccurs="unbounded" name="Variable">\r
-          <xs:annotation>\r
-            <xs:documentation xml:lang="en">This is an EFI Variable Entry</xs:documentation>\r
-          </xs:annotation>\r
-          <xs:complexType>\r
-            <xs:sequence>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="VariableName" type="HexWordArrayType"/>\r
-              <xs:element minOccurs="1" maxOccurs="1" name="GuidC_Name" type="C_NameType"/>\r
-              <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
-            </xs:sequence>\r
-            <xs:attributeGroup ref="VariableAttributes"/>\r
-          </xs:complexType>\r
-        </xs:element>\r
-      </xs:sequence>\r
-    </xs:complexType>\r
-  </xs:element>\r
-  <xs:element name="Version" type="VersionDataType"/>\r
-</xs:schema>\r