]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Updated schema, added some new elements that will be used in the final. Added a Datum...
authorlhauch <lhauch@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 6 Jun 2006 03:09:40 +0000 (03:09 +0000)
committerlhauch <lhauch@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 6 Jun 2006 03:09:40 +0000 (03:09 +0000)
MAJOR CHANGE TO Framework Doc - SPD Has been added.  I will add Andrew's comments tomorrow.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@424 6f19259b-4bc3-4df7-8a09-765794883524

Tools/FrameworkWizardMinReq.doc
Tools/XMLSchema/FrameworkDataElements.xsd
Tools/XMLSchema/FrameworkDataTypes.xsd
Tools/XMLSchema/FrameworkPlatformDataElements.xsd
Tools/XMLSchema/SurfaceArea.xsd

index 8ce27ebbe1fa000af9a341f1d79ed1a1ba2b2737..823cd9347e72f4248ab41b868f28090d6c2df128 100644 (file)
Binary files a/Tools/FrameworkWizardMinReq.doc and b/Tools/FrameworkWizardMinReq.doc differ
index 8136662969b7bee886dbed1fe29387648f9292ea..344111ac31d68111b8d6daac3f2b08ec2d939733 100644 (file)
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r
-    <xs:element name="MsaFileList">\r
-        <xs:annotation>\r
-            <xs:documentation xml:lang="en">Surface Area Package Description (SPD) list of Module Surface Area files</xs:documentation>\r
-        </xs:annotation>\r
-        <xs:complexType>\r
-            <xs:sequence>\r
-                <xs:element minOccurs="0" maxOccurs="unbounded" name="Filename">\r
-                    <xs:complexType>\r
-                        <xs:simpleContent>\r
-                            <xs:extension base="xs:anyURI">\r
-                                <xs:attributeGroup ref="ModuleNameSaAttributes"/>\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="MsaPcdDeclarations">\r
         <xs:annotation>\r
             <xs:documentation xml:lang="en">Child of Module Surface Area Description (MSA)</xs:documentation>\r
     <xs:element name="MsaPcdDeclarations">\r
         <xs:annotation>\r
             <xs:documentation xml:lang="en">Child of Module Surface Area Description (MSA)</xs:documentation>\r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r
+    <xs:element name="MsaFileList">\r
+        <xs:annotation>\r
+            <xs:documentation xml:lang="en">Surface Area Package Description (SPD) list of Module Surface Area files</xs:documentation>\r
+        </xs:annotation>\r
+        <xs:complexType>\r
+            <xs:sequence>\r
+                <xs:element minOccurs="0" maxOccurs="unbounded" name="Filename">\r
+                    <xs:complexType>\r
+                        <xs:simpleContent>\r
+                            <xs:extension base="xs:anyURI">\r
+                                <xs:attributeGroup ref="ModuleNameSaAttributes"/>\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="OutputDirectory">\r
         <xs:annotation>\r
             <xs:documentation xml:lang="en">Define where we want our output to go. The Attribute, IntermediateDirectories, default MODULE, says that intermediate files will be local to the module, versus a unified directory structure.</xs:documentation>\r
     <xs:element name="OutputDirectory">\r
         <xs:annotation>\r
             <xs:documentation xml:lang="en">Define where we want our output to go. The Attribute, IntermediateDirectories, default MODULE, says that intermediate files will be local to the module, versus a unified directory structure.</xs:documentation>\r
                             <xs:element default="false" minOccurs="0" maxOccurs="1" name="SkuDataArrayEnable" type="xs:boolean"/>\r
                             <xs:element default="0x00" minOccurs="0" maxOccurs="1" name="MaxSku" type="HexByteDataType"/>\r
                             <xs:element default="0x00" minOccurs="0" maxOccurs="1" name="SkuId" type="HexByteDataType"/>\r
                             <xs:element default="false" minOccurs="0" maxOccurs="1" name="SkuDataArrayEnable" type="xs:boolean"/>\r
                             <xs:element default="0x00" minOccurs="0" maxOccurs="1" name="MaxSku" type="HexByteDataType"/>\r
                             <xs:element default="0x00" minOccurs="0" maxOccurs="1" name="SkuId" type="HexByteDataType"/>\r
-                            <xs:element minOccurs="0" maxOccurs="1" name="DatumSize">\r
-                                <xs:annotation>\r
-                                    <xs:documentation xml:lang="en">Max Number of Bytes of the data.</xs:documentation>\r
-                                </xs:annotation>\r
-                                <xs:simpleType>\r
-                                    <xs:restriction base="xs:int">\r
-                                        <xs:minInclusive value="1"/>\r
-                                        <xs:maxInclusive value="16777215"/>\r
-                                    </xs:restriction>\r
-                                </xs:simpleType>\r
-                            </xs:element>\r
+                            <xs:element minOccurs="0" maxOccurs="1" name="DatumSize" type="DatumSizeLimitation"/>\r
                             <xs:element minOccurs="0" maxOccurs="1" name="VariableName" type="xs:normalizedString"/>\r
                             <xs:element minOccurs="0" maxOccurs="1" name="VariableGuid" type="VariableGuidType"/>\r
                             <xs:element minOccurs="0" maxOccurs="1" name="DataOffset" type="Hex64BitDataType"/>\r
                             <xs:element minOccurs="0" maxOccurs="1" name="VariableName" type="xs:normalizedString"/>\r
                             <xs:element minOccurs="0" maxOccurs="1" name="VariableGuid" type="VariableGuidType"/>\r
                             <xs:element minOccurs="0" maxOccurs="1" name="DataOffset" type="Hex64BitDataType"/>\r
                                 </xs:complexType>\r
                             </xs:element>\r
                             <xs:element minOccurs="0" maxOccurs="1" name="TokenSpaceGuid" type="GuidType"/>\r
                                 </xs:complexType>\r
                             </xs:element>\r
                             <xs:element minOccurs="0" maxOccurs="1" name="TokenSpaceGuid" type="GuidType"/>\r
-                            <xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDataTypes">\r
-                                <xs:annotation>\r
-                                    <xs:documentation xml:lang="en">This specifies the size of the Pcd Datum. It is either 8, 16, 32 or 64 bits for values, 1 bit for BOOLEAN and variable length for elements defined as VOID*</xs:documentation>\r
-                                </xs:annotation>\r
-                            </xs:element>\r
-                            <xs:element default="false" minOccurs="1" maxOccurs="1" name="HiiEnable" type="xs:boolean">\r
-                                <xs:annotation>\r
-                                    <xs:documentation xml:lang="en">This Bit means that the Variable data is associated with HII</xs:documentation>\r
-                                </xs:annotation>\r
-                            </xs:element>\r
-                            <xs:element default="false" minOccurs="1" maxOccurs="1" name="VpdEnable" type="xs:boolean">\r
-                                <xs:annotation>\r
-                                    <xs:documentation xml:lang="en">This bit enables the Vital Product Data area within flash for maintaining PCD information</xs:documentation>\r
-                                </xs:annotation>\r
-                            </xs:element>\r
-                            <xs:element default="false" minOccurs="1" maxOccurs="1" name="AlternateNameSpaceEnable" type="xs:boolean">\r
-                                <xs:annotation>\r
-                                    <xs:documentation>This is only applicable to ItemType DYNAMIC_EX</xs:documentation>\r
-                                </xs:annotation>\r
-                            </xs:element>\r
+                            <xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDataTypes"/>\r
+                            <xs:element default="false" minOccurs="1" maxOccurs="1" name="HiiEnable" type="xs:boolean"/>\r
+                            <xs:element default="false" minOccurs="1" maxOccurs="1" name="VpdEnable" type="xs:boolean"/>\r
+                            <xs:element default="false" minOccurs="1" maxOccurs="1" name="AlternateNameSpaceEnable" type="xs:boolean"/>\r
                             <xs:element default="false" minOccurs="1" maxOccurs="1" name="SkuEnable" type="xs:boolean"/>\r
                             <xs:element default="false" minOccurs="1" maxOccurs="1" name="SkuDataArrayEnable" type="xs:boolean"/>\r
                             <xs:choice minOccurs="0">\r
                             <xs:element default="false" minOccurs="1" maxOccurs="1" name="SkuEnable" type="xs:boolean"/>\r
                             <xs:element default="false" minOccurs="1" maxOccurs="1" name="SkuDataArrayEnable" type="xs:boolean"/>\r
                             <xs:choice minOccurs="0">\r
                                     <xs:documentation xml:lang="en">This value comes from a production line database, and has nothing to do with the number of SkuData IDs that have been defined.</xs:documentation>\r
                                 </xs:annotation>\r
                             </xs:element>\r
                                     <xs:documentation xml:lang="en">This value comes from a production line database, and has nothing to do with the number of SkuData IDs that have been defined.</xs:documentation>\r
                                 </xs:annotation>\r
                             </xs:element>\r
-                            <xs:element default="0x00" minOccurs="1" maxOccurs="1" name="SkuId" type="HexByteDataType">\r
-                                <xs:annotation>\r
-                                    <xs:documentation xml:lang="en">This is the specific Sku ID for this build.</xs:documentation>\r
-                                </xs:annotation>\r
-                            </xs:element>\r
-                            <xs:element minOccurs="1" maxOccurs="1" name="DatumSize">\r
-                                <xs:annotation>\r
-                                    <xs:documentation xml:lang="en">Max Number of Bytes of the data.</xs:documentation>\r
-                                </xs:annotation>\r
-                                <xs:simpleType>\r
-                                    <xs:restriction base="xs:int">\r
-                                        <xs:minInclusive value="1"/>\r
-                                        <xs:maxInclusive value="16777215"/>\r
-                                    </xs:restriction>\r
-                                </xs:simpleType>\r
-                            </xs:element>\r
-                            <xs:element minOccurs="1" maxOccurs="1" name="VariableGuid" type="VariableGuidType">\r
-                                <xs:annotation>\r
-                                    <xs:documentation xml:lang="en">This is the Variable's GUID if and only if HII is enabled.</xs:documentation>\r
-                                </xs:annotation>\r
-                            </xs:element>\r
-                            <xs:element minOccurs="1" maxOccurs="1" name="VariableName" type="xs:normalizedString">\r
-                                <xs:annotation>\r
-                                    <xs:documentation xml:lang="en">This is the C Name for the Variable, and is valid if and only HII is enabled.</xs:documentation>\r
-                                </xs:annotation>\r
-                            </xs:element>\r
+                            <xs:element default="0x00" minOccurs="1" maxOccurs="1" name="SkuId" type="HexByteDataType"/>\r
+                            <xs:element minOccurs="1" maxOccurs="1" name="DatumSize" type="DatumSizeLimitation"/>\r
+                            <xs:element minOccurs="1" maxOccurs="1" name="VariableGuid" type="VariableGuidType"/>\r
+                            <xs:element minOccurs="1" maxOccurs="1" name="VariableName" type="xs:normalizedString"/>\r
                             <xs:element minOccurs="0" maxOccurs="1" name="VariableValueDefault" type="xs:normalizedString"/>\r
                             <xs:element minOccurs="0" maxOccurs="1" name="VariableValueDefault" type="xs:normalizedString"/>\r
-                            <xs:element minOccurs="1" maxOccurs="1" name="DataOffset" type="Hex64BitDataType">\r
-                                <xs:annotation>\r
-                                    <xs:documentation xml:lang="en">If HII is enabled, This is the offset into the variable data entry, If Vpd is enabled, then it's the Offset into the VPD area of the image defined by platform manufacturer, if neither HII nor Vpd are enabled, it's the offset into the PCD Data Area. HII and VPD can never be enabled at the same time (as of the date of this document.)</xs:documentation>\r
-                                </xs:annotation>\r
-                            </xs:element>\r
-                            <xs:element minOccurs="0" maxOccurs="1" name="GuidOffset" type="Hex64BitDataType">\r
-                                <xs:annotation>\r
-                                    <xs:documentation xml:lang="en">FIELD IS NOT USED! REMOVE in FINAL!</xs:documentation>\r
-                                </xs:annotation>\r
-                            </xs:element>\r
+                            <xs:element minOccurs="1" maxOccurs="1" name="DataOffset" type="Hex64BitDataType"/>\r
+                            <xs:element minOccurs="0" maxOccurs="1" name="GuidOffset" type="Hex64BitDataType"/>\r
                             <xs:element minOccurs="1" maxOccurs="1" name="DefaultValue" type="xs:normalizedString"/>\r
                         </xs:sequence>\r
                         <xs:attributeGroup ref="PcdAttributes"/>\r
                             <xs:element minOccurs="1" maxOccurs="1" name="DefaultValue" type="xs:normalizedString"/>\r
                         </xs:sequence>\r
                         <xs:attributeGroup ref="PcdAttributes"/>\r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r
+    <xs:element name="DynamicPcdBuildDefinitions">\r
+        <xs:annotation>\r
+            <xs:documentation xml:lang="en">Child of Framework Platform Description (FPD)</xs:documentation>\r
+            <xs:documentation xml:lang="en">FPD uses this PCD information for Dynamic PCDs Only</xs:documentation>\r
+        </xs:annotation>\r
+        <xs:complexType>\r
+            <xs:sequence>\r
+                <xs:element minOccurs="0" maxOccurs="unbounded" name="PcdBuildData">\r
+                    <xs:complexType>\r
+                        <xs:sequence>\r
+                            <xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/>\r
+                            <xs:element minOccurs="1" maxOccurs="1" name="Token" type="HexDoubleWordDataType"/>\r
+                            <xs:element minOccurs="0" maxOccurs="1" name="TokenSpaceGuid" type="GuidType"/>\r
+                            <xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDataTypes"/>\r
+                            <xs:group minOccurs="0" maxOccurs="1" ref="SkuGroup"/>\r
+                            <xs:choice minOccurs="0" maxOccurs="1">\r
+                                <xs:group minOccurs="0" maxOccurs="1" ref="HiiGroup"/>\r
+                                <xs:group minOccurs="0" maxOccurs="1" ref="VpdGroup"/>\r
+                            </xs:choice>\r
+                            <xs:element minOccurs="1" maxOccurs="1" name="DatumSize" type="DatumSizeLimitation"/>\r
+                            <xs:element minOccurs="1" maxOccurs="1" name="Value" type="xs:normalizedString"/>\r
+                        </xs:sequence>\r
+                        <xs:attributeGroup ref="PcdAttributes"/>\r
+                    </xs:complexType>\r
+                </xs:element>\r
+            </xs:sequence>\r
+        </xs:complexType>\r
+    </xs:element>\r
+    <xs:element name="PcdBuildDefinition">\r
+        <xs:annotation>\r
+            <xs:documentation xml:lang="en">Child of FPD ModuleSA element for FIXED_AT_BUILD, PATCHABLE_IN_MODULE, and FEATURE_FLAG PCDS Only!</xs:documentation>\r
+        </xs:annotation>\r
+        <xs:complexType>\r
+            <xs:sequence minOccurs="1">\r
+                <xs:element maxOccurs="unbounded" name="PcdData">\r
+                    <xs:complexType>\r
+                        <xs:sequence>\r
+                            <xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/>\r
+                            <xs:element minOccurs="1" maxOccurs="1" name="Token" type="HexDoubleWordDataType"/>\r
+                            <xs:element minOccurs="0" maxOccurs="1" name="TokenSpaceGuid" type="GuidType"/>\r
+                            <xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDataTypes"/>\r
+                            <xs:group minOccurs="0" maxOccurs="1" ref="SkuGroup"/>\r
+                            <xs:choice minOccurs="0" maxOccurs="1">\r
+                                <xs:group minOccurs="0" maxOccurs="1" ref="HiiGroup"/>\r
+                                <xs:group minOccurs="0" maxOccurs="1" ref="VpdGroup"/>\r
+                            </xs:choice>\r
+                            <xs:element minOccurs="0" maxOccurs="1" name="DatumSize" type="DatumSizeLimitation"/>\r
+                            <xs:element minOccurs="0" maxOccurs="1" name="Value" type="xs:normalizedString"/>\r
+                        </xs:sequence>\r
+                        <xs:attributeGroup ref="PcdAttributes"/>\r
+                    </xs:complexType>\r
+                </xs:element>\r
+            </xs:sequence>\r
+        </xs:complexType>\r
+    </xs:element>\r
+    <xs:group name="HiiGroup">\r
+        <xs:annotation>\r
+            <xs:documentation xml:lang="en">If HiiGroup is specified, then HiiEnable is default true</xs:documentation>\r
+        </xs:annotation>\r
+        <xs:sequence>\r
+            <xs:element minOccurs="0" maxOccurs="1" name="VariableName" type="xs:normalizedString"/>\r
+            <xs:element minOccurs="0" maxOccurs="1" name="VariableGuid" type="VariableGuidType"/>\r
+            <xs:element minOccurs="0" maxOccurs="1" name="VariableOffset" type="Hex64BitDataType"/>\r
+        </xs:sequence>\r
+    </xs:group>\r
+    <xs:group name="VpdGroup">\r
+        <xs:sequence>\r
+            <xs:element minOccurs="0" maxOccurs="1" name="VpdOffset" type="Hex64BitDataType"/>\r
+        </xs:sequence>\r
+    </xs:group>\r
+    <xs:group name="SkuGroup">\r
+        <xs:sequence>\r
+            <xs:element default="0x00" minOccurs="0" maxOccurs="1" name="SkuSet" type="SkuListType"/>\r
+            <xs:element default="0x00" minOccurs="0" maxOccurs="1" name="SkuList" type="SkuListType"/>\r
+            <xs:element default="false" minOccurs="0" maxOccurs="1" name="SkuDataArrayEnable" type="xs:boolean"/>\r
+            <xs:element minOccurs="0" maxOccurs="unbounded" name="SkuData">\r
+                <xs:complexType>\r
+                    <xs:sequence minOccurs="1">\r
+                        <xs:element name="Id" type="xs:int"/>\r
+                        <xs:element name="Value" type="xs:normalizedString"/>\r
+                    </xs:sequence>\r
+                </xs:complexType>\r
+            </xs:element>\r
+        </xs:sequence>\r
+    </xs:group>\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 minOccurs="1">\r
+                <xs:element maxOccurs="unbounded" name="PcdEntry">\r
+                    <xs:annotation>\r
+                        <xs:documentation xml:lang="en">This is the valid content of the PCD table of a Module. The contents may not be wired at build time, and these only refer to Platform Build values, not modules.</xs:documentation>\r
+                        <xs:documentation xml:lang="en">This element is valid for PcdInfo.xml and FPD files.</xs:documentation>\r
+                    </xs:annotation>\r
+                    <xs:complexType>\r
+                        <xs:sequence>\r
+                            <xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/>\r
+                            <xs:element minOccurs="0" maxOccurs="1" name="DefaultValue" type="DefaultValue"/>\r
+                            <xs:element minOccurs="0" 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:attribute name="PcdItemType" type="PcdItemTypes" use="required"/>\r
+                    </xs:complexType>\r
+                </xs:element>\r
+            </xs:sequence>\r
+        </xs:complexType>\r
+    </xs:element>\r
     <xs:element name="PcdDeclarations">\r
         <xs:annotation>\r
             <xs:documentation xml:lang="en">Child of Package Surface Area Description (SPD)</xs:documentation>\r
     <xs:element name="PcdDeclarations">\r
         <xs:annotation>\r
             <xs:documentation xml:lang="en">Child of Package Surface Area Description (SPD)</xs:documentation>\r
             </xs:sequence>\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:complexContent mixed="true">\r
+                <xs:extension base="xs:anyType">\r
+                    <xs:attribute name="UserID" type="xs:NCName" use="required"/>\r
+                    <xs:attribute name="Identifier" type="xs:integer" use="required"/>\r
+                </xs:extension>\r
+            </xs:complexContent>\r
+        </xs:complexType>\r
+    </xs:element>\r
     <xs:element name="Variables">\r
         <xs:annotation>\r
             <xs:documentation xml:lang="en">A list of EFI Variables described by GUID string pair.</xs:documentation>\r
     <xs:element name="Variables">\r
         <xs:annotation>\r
             <xs:documentation xml:lang="en">A list of EFI Variables described by GUID string pair.</xs:documentation>\r
index 8199df0f6adde3144c8b1b68378cb59ab333aa1f..10bde1f703684f0bb1220e069904a691f19020ff 100644 (file)
             <xs:pattern value="[1-9][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9] [0-2][0-9]:[0-5][0-9]"/>\r
         </xs:restriction>\r
     </xs:simpleType>\r
             <xs:pattern value="[1-9][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9] [0-2][0-9]:[0-5][0-9]"/>\r
         </xs:restriction>\r
     </xs:simpleType>\r
+    <xs:simpleType name="DatumSizeLimitation">\r
+        <xs:restriction base="xs:int">\r
+            <xs:minInclusive value="1"/>\r
+            <xs:maxInclusive value="16777215"/>\r
+        </xs:restriction>\r
+    </xs:simpleType>\r
     <xs:simpleType name="DefaultValue">\r
         <xs:annotation>\r
             <xs:documentation xml:lang="en"> The DefaultValue is a union of a string and an integer. </xs:documentation>\r
     <xs:simpleType name="DefaultValue">\r
         <xs:annotation>\r
             <xs:documentation xml:lang="en"> The DefaultValue is a union of a string and an integer. </xs:documentation>\r
             </xs:enumeration>\r
         </xs:restriction>\r
     </xs:simpleType>\r
             </xs:enumeration>\r
         </xs:restriction>\r
     </xs:simpleType>\r
+    <xs:simpleType name="SkuListType">\r
+        <xs:list itemType="HexByteDataType"/>\r
+    </xs:simpleType>\r
     <xs:simpleType name="SupportedArchitectures">\r
         <xs:annotation>\r
             <xs:documentation xml:lang="en"> These are the currently Supportted Architectures type codes </xs:documentation>\r
     <xs:simpleType name="SupportedArchitectures">\r
         <xs:annotation>\r
             <xs:documentation xml:lang="en"> These are the currently Supportted Architectures type codes </xs:documentation>\r
index 188ea9015c64f6e20e205bc6b2eabc56e21bc05b..08a8ecffdd12dddb2a72cf585e5879a1f23d9020 100644 (file)
         </xs:annotation>\r
         <xs:complexType>\r
             <xs:sequence minOccurs="1">\r
         </xs:annotation>\r
         <xs:complexType>\r
             <xs:sequence minOccurs="1">\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="SourceFiles"/>  <!-- DO NOT USE! REMOVE in FINAL -->\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="Includes"/>  <!-- DO NOT USE! REMOVE in FINAL -->\r
+                <!-- DO NOT USE! REMOVE SourceFiles in FINAL -->\r
+                <xs:element minOccurs="0" maxOccurs="1" ref="SourceFiles"/>\r
+                <!-- DO NOT USE! REMOVE Includes in FINAL -->\r
+                <xs:element minOccurs="0" maxOccurs="1" ref="Includes"/>\r
+                <!-- Libraries stays in FINAL -->\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="Libraries"/>\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="Libraries"/>\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="Protocols"/>  <!-- DO NOT USE! REMOVE in FINAL -->\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="Events"/>  <!-- DO NOT USE! REMOVE in FINAL -->\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="Hobs"/>  <!-- DO NOT USE! REMOVE in FINAL -->\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="PPIs"/>  <!-- DO NOT USE! REMOVE in FINAL -->\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="Variables"/>  <!-- DO NOT USE! REMOVE in FINAL -->\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="BootModes"/>  <!-- DO NOT USE! REMOVE in FINAL -->\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="SystemTables"/>  <!-- DO NOT USE! REMOVE in FINAL -->\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="DataHubs"/>  <!-- DO NOT USE! REMOVE in FINAL -->\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="Formsets"/>  <!-- DO NOT USE! REMOVE in FINAL -->\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="Guids"/>  <!-- DO NOT USE! REMOVE in FINAL -->\r
+                <!-- DO NOT USE! REMOVE Protocols in FINAL -->\r
+                <xs:element minOccurs="0" maxOccurs="1" ref="Protocols"/>\r
+                <!-- DO NOT USE! REMOVE Events in FINAL -->\r
+                <xs:element minOccurs="0" maxOccurs="1" ref="Events"/>\r
+                <!-- DO NOT USE! REMOVE Hobs in FINAL -->\r
+                <xs:element minOccurs="0" maxOccurs="1" ref="Hobs"/>\r
+                <!-- DO NOT USE! REMOVE PPIs in FINAL -->\r
+                <xs:element minOccurs="0" maxOccurs="1" ref="PPIs"/>\r
+                <!-- DO NOT USE! REMOVE Variables in FINAL -->\r
+                <xs:element minOccurs="0" maxOccurs="1" ref="Variables"/>\r
+                <!-- DO NOT USE! REMOVE BootModes in FINAL -->\r
+                <xs:element minOccurs="0" maxOccurs="1" ref="BootModes"/>\r
+                <!-- DO NOT USE! REMOVE SystemTables in FINAL -->\r
+                <xs:element minOccurs="0" maxOccurs="1" ref="SystemTables"/>\r
+                <!-- DO NOT USE! REMOVE DataHubs in FINAL -->\r
+                <xs:element minOccurs="0" maxOccurs="1" ref="DataHubs"/>\r
+                <!-- DO NOT USE! REMOVE Formsets in FINAL -->\r
+                <xs:element minOccurs="0" maxOccurs="1" ref="Formsets"/>\r
+                <!-- DO NOT USE! REMOVE Guids in FINAL -->\r
+                <xs:element minOccurs="0" maxOccurs="1" ref="Guids"/>\r
+                <!-- EXTERNS stays in FINAL -->\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="Externs"/>\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="Externs"/>\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="PcdBuildDeclarations"/>\r
+                <xs:choice>\r
+                    <!-- DO NOT USE! REMOVE PcdBuildDeclarations in FINAL -->\r
+                    <xs:element minOccurs="0" maxOccurs="1" ref="PcdBuildDeclarations"/>\r
+                    <!-- PcdBuildDefinition stays in FINAL -->\r
+                    <xs:element minOccurs="0" maxOccurs="1" ref="PcdBuildDefinition"/>\r
+                </xs:choice>\r
+                <!-- BuildOptions stays in FINAL -->\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="BuildOptions"/>\r
             </xs:sequence>\r
             <xs:attributeGroup ref="MsaAttributes"/>\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="BuildOptions"/>\r
             </xs:sequence>\r
             <xs:attributeGroup ref="MsaAttributes"/>\r
index a0223cb96f2611de587ca6aea1586c426c9487b4..e5e0276c38058f2b0bab03ecd5e8411468a600e1 100644 (file)
                 <xs:element minOccurs="0" maxOccurs="1" ref="FrameworkModules"/>\r
                 <!-- DO NOT USE! removing PcdBuildDeclarations here, use PcdBuildDeclaratiion in ModuleSA instead. -->\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="PcdBuildDeclarations"/>\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="FrameworkModules"/>\r
                 <!-- DO NOT USE! removing PcdBuildDeclarations here, use PcdBuildDeclaratiion in ModuleSA instead. -->\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="PcdBuildDeclarations"/>\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="PcdDynamicBuildDeclarations"/>\r
+                <xs:choice minOccurs="0">\r
+                    <xs:element minOccurs="0" maxOccurs="1" ref="PcdDynamicBuildDeclarations"/>\r
+                    <xs:element minOccurs="0" maxOccurs="1" ref="DynamicPcdBuildDefinitions"/>\r
+                </xs:choice>\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="BuildOptions"/>\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="BuildOptions"/>\r
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="UserExtensions"/>\r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r
                 <xs:element minOccurs="1" maxOccurs="1" ref="MsaHeader"/>\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="LibraryClassDefinitions"/>\r
                 <xs:element minOccurs="1" maxOccurs="1" ref="SourceFiles"/>\r
                 <xs:element minOccurs="1" maxOccurs="1" ref="MsaHeader"/>\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="LibraryClassDefinitions"/>\r
                 <xs:element minOccurs="1" maxOccurs="1" ref="SourceFiles"/>\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="Includes"/>\r
+                <xs:choice minOccurs="0">\r
+                    <xs:element minOccurs="0" maxOccurs="1" ref="Includes"/>\r
+                    <xs:element minOccurs="0" maxOccurs="1" ref="PackageDependencies"/>\r
+                </xs:choice>\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="Protocols"/>\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="Events"/>\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="Hobs"/>\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="Protocols"/>\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="Events"/>\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="Hobs"/>\r
                 <xs:choice minOccurs="0">\r
                     <!-- DO NOT USE! removing PCDs, use MsaPcdDeclarations instead -->\r
                     <xs:element minOccurs="0" maxOccurs="1" ref="PCDs"/>\r
                 <xs:choice minOccurs="0">\r
                     <!-- DO NOT USE! removing PCDs, use MsaPcdDeclarations instead -->\r
                     <xs:element minOccurs="0" maxOccurs="1" ref="PCDs"/>\r
-                    <xs:element minOccurs="0" maxOccurs="1" ref="MsaPcdDeclarations"/>\r
+                    <xs:element minOccurs="0" maxOccurs="1" ref="PcdCoded"/>\r
                 </xs:choice>\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="BuildOptions"/>\r
                 </xs:choice>\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="BuildOptions"/>\r
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="UserExtensions"/>\r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r
                     <xs:element minOccurs="0" maxOccurs="1" ref="PcdDefinitions"/>\r
                     <xs:element minOccurs="0" maxOccurs="1" ref="PcdDeclarations"/>\r
                 </xs:choice>\r
                     <xs:element minOccurs="0" maxOccurs="1" ref="PcdDefinitions"/>\r
                     <xs:element minOccurs="0" maxOccurs="1" ref="PcdDeclarations"/>\r
                 </xs:choice>\r
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="UserExtensions"/>\r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r