]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/XMLSchema/FrameworkPlatformDataElements.xsd
merged the new changes in new schema, and corrected many inconsistencies in attribute...
[mirror_edk2.git] / Tools / XMLSchema / FrameworkPlatformDataElements.xsd
index 1cab356b2f498aaacff2ad82badba8e5f2dd9569..3fb6b07af765a291587119731a392bc9b66ef22d 100644 (file)
         <xs:complexType>\r
             <xs:sequence>\r
                 <xs:element minOccurs="0" maxOccurs="unbounded" ref="NameValue"/>\r
-                <xs:element minOccurs="0" maxOccurs="unbounded" ref="FvImage"/>\r
+                <xs:choice>\r
+                    <xs:element minOccurs="0" maxOccurs="unbounded" ref="FvImage"/>\r
+                    <xs:element minOccurs="0" maxOccurs="unbounded" ref="FvRegionName"/>\r
+                </xs:choice>\r
                 <xs:element minOccurs="0" maxOccurs="unbounded" ref="FvImageName"/>\r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r
+    <xs:element name="FvRegionName">\r
+        <xs:complexType>\r
+            <xs:simpleContent>\r
+                <xs:extension base="KeywordType">\r
+                    <xs:attributeGroup ref="FvRegionNameAttributes"/>\r
+                </xs:extension>\r
+            </xs:simpleContent>\r
+        </xs:complexType>\r
+    </xs:element>    \r
     <xs:element name="ModuleSA">\r
         <xs:annotation>\r
             <xs:documentation xml:lang="en">This element is used to specify information in the Platform Description File.</xs:documentation>\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:choice minOccurs="0">\r
+                    <!-- DO NOT USE! REMOVE Externs stays in FINAL -->\r
+                    <xs:element minOccurs="0" maxOccurs="1" ref="Externs"/>\r
+                    <xs:element minOccurs="0" maxOccurs="1" name="Extern">\r
+                        <xs:annotation>\r
+                            <xs:documentation xml:lang="en">Only specification is allow here. We need to let this be an addtion OR, if the WORD portion exists, this entry takes precedence.</xs:documentation>\r
+                        </xs:annotation>\r
+                        <xs:complexType>\r
+                            <xs:sequence>\r
+                                <xs:element minOccurs="1" maxOccurs="unbounded" ref="Specification"/>\r
+                            </xs:sequence>\r
+                        </xs:complexType>\r
+                    </xs:element>\r
+                </xs:choice>\r
+                <xs:element minOccurs="0" maxOccurs="unbounded" name="Specification" type="Sentence"/>\r
                 <xs:choice>\r
                     <!-- DO NOT USE! REMOVE PcdBuildDeclarations in FINAL -->\r
                     <xs:element minOccurs="0" maxOccurs="1" ref="PcdBuildDeclarations"/>\r
                 </xs:choice>\r
                 <!-- BuildOptions stays in FINAL -->\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="BuildOptions"/>\r
+                <xs:element minOccurs="0" maxOccurs="1" ref="ModuleSaBuildOptions"/>\r
             </xs:sequence>\r
             <xs:attributeGroup ref="MsaAttributes"/>\r
         </xs:complexType>\r
         <xs:complexType>\r
             <xs:sequence maxOccurs="unbounded">\r
                 <xs:element ref="Platform"/>\r
+                <xs:element name="Filename" type="PathAndFilename" minOccurs="0" maxOccurs="unbounded"/>\r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r
         </xs:annotation>\r
         <xs:complexType>\r
             <xs:sequence>\r
-                <xs:element minOccurs="0" maxOccurs="1" name="SEC" type="Components"/>\r
-                <xs:element minOccurs="0" maxOccurs="1" name="PEI_CORE" type="Components"/>\r
-                <xs:element minOccurs="0" maxOccurs="1" name="PEIM" type="Components"/>\r
-                <xs:element minOccurs="0" maxOccurs="1" name="DXE_CORE" type="Components"/>\r
-                <xs:element minOccurs="0" maxOccurs="1" name="DXE_DRIVERS" type="Components"/>\r
-                <xs:element minOccurs="0" maxOccurs="1" name="OTHER_COMPONENTS" type="Components"/>\r
+                <xs:choice>\r
+                    <xs:sequence>\r
+                        <xs:element minOccurs="0" maxOccurs="1" name="SEC" type="Components"/>\r
+                        <xs:element minOccurs="0" maxOccurs="1" name="PEI_CORE" type="Components"/>\r
+                        <xs:element minOccurs="0" maxOccurs="1" name="PEIM" type="Components"/>\r
+                        <xs:element minOccurs="0" maxOccurs="1" name="DXE_CORE" type="Components"/>\r
+                        <xs:element minOccurs="0" maxOccurs="1" name="DXE_DRIVERS" type="Components"/>\r
+                        <xs:element minOccurs="0" maxOccurs="1" name="OTHER_COMPONENTS" type="Components"/>\r
+                    </xs:sequence>\r
+                    <xs:element minOccurs="1" maxOccurs="unbounded" ref="ModuleSA"/>\r
+                </xs:choice>\r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r
+    <xs:element name="FlashDeviceDefinitions">\r
+        <xs:complexType>\r
+            <xs:annotation>\r
+                <xs:documentation xml:lang="en">We allow specifying the FlashMap filename</xs:documentation>\r
+            </xs:annotation>\r
+            <xs:sequence>\r
+                <xs:element minOccurs="0" maxOccurs="1" name="FlashDefinitionFile" type="PathAndFilename"/>\r
+                <xs:element minOccurs="0" maxOccurs="1" ref="FvImages"/>\r
+            </xs:sequence>\r
+        </xs:complexType>\r
+    </xs:element>\r
+    <xs:element name="PlatformDefinitions">\r
+        <xs:complexType>\r
+            <xs:sequence>\r
+                <!-- This is the list of ALL architectures that are supported by this Platform -->\r
+                <xs:element minOccurs="1" maxOccurs="1" name="SupportedArchitectures" type="ArchListType"/>\r
+                <xs:element minOccurs="1" maxOccurs="1" name="BuildTargets" type="BuildTargetList"/>\r
+                <xs:element default="UNIFIED" name="IntermediateDirectories" type="IntermediateOutputType"/>\r
+                <xs:element minOccurs="0" maxOccurs="1" name="OutputDirectory" type="xs:anyURI"/>\r
+                <!-- SkuInfo is only defined if Sku enabled -->\r
+                <xs:element minOccurs="0" maxOccurs="1" ref="SkuInfo"/>\r
+                <xs:element minOccurs="0" maxOccurs="1" ref="FlashDeviceDefinitions"/>\r
+                <xs:element minOccurs="0" maxOccurs="1" ref="FfsFormatDeclarations"/>\r
+            </xs:sequence>\r
+        </xs:complexType>\r
+    </xs:element>    \r
     <xs:complexType name="Components">\r
         <xs:sequence minOccurs="1" maxOccurs="unbounded">\r
             <xs:element ref="ModuleSA"/>\r