]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/XMLSchema/FrameworkPlatformDataElements.xsd
Added More Comments and started doing data type checking so that if a ModuleName...
[mirror_edk2.git] / Tools / XMLSchema / FrameworkPlatformDataElements.xsd
index 678179cf555cf54f08d488c8dfc8a3a3fe71692d..188ea9015c64f6e20e205bc6b2eabc56e21bc05b 100644 (file)
@@ -16,6 +16,7 @@
         <xs:documentation xml:lang="en"> This schema defines EFI and Framework Platform Data Elements that are specific to platform creation.</xs:documentation>\r
     </xs:annotation>\r
     <xs:include schemaLocation="NamingConvention.xsd"/>\r
+    <xs:include schemaLocation="FrameworkDataAttributes.xsd"/>\r
     <xs:include schemaLocation="FrameworkDataTypes.xsd"/>\r
     <xs:include schemaLocation="FrameworkDataElements.xsd"/>\r
     <xs:element name="Capsule">\r
                     </xs:complexType>\r
                 </xs:element>\r
             </xs:sequence>\r
-            <xs:attributeGroup ref="BlockAttributes"/>\r
+            <xs:attributeGroup ref="FlashDeviceInfoAttributes"/>\r
         </xs:complexType>\r
     </xs:element>\r
     <xs:element name="FlashDeviceOverrideImage">\r
                 <xs:element minOccurs="1" maxOccurs="unbounded" ref="FvImageNames"/>\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="FvImageOptions"/>\r
             </xs:sequence>\r
-            <xs:attribute name="Type" type="xs:string" use="optional"/>\r
+            <xs:attribute name="Type" type="FvImageTypes" use="optional"/>\r
         </xs:complexType>\r
     </xs:element>\r
     <xs:element name="FvImageName">\r
             <xs:attribute name="Name" type="FvRegionTypes" use="required"/>\r
         </xs:complexType>\r
     </xs:element>\r
-    <xs:element name="FvImageNames" type="xs:string"/>\r
+    <xs:element name="FvImageNames" type="xs:NCName"/>\r
     <xs:element name="FvImageOptions">\r
         <xs:annotation>\r
             <xs:documentation xml:lang="en">This element is used specify different name value pairs.</xs:documentation>\r
         </xs:annotation>\r
         <xs:complexType>\r
             <xs:sequence minOccurs="1">\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="SourceFiles"/>\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="Includes"/>\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
                 <xs:element minOccurs="0" maxOccurs="1" ref="Libraries"/>\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="PPIs"/>\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="Variables"/>\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="BootModes"/>\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="SystemTables"/>\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="DataHubs"/>\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="Formsets"/>\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="Guids"/>\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
                 <xs:element minOccurs="0" maxOccurs="1" ref="Externs"/>\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="PcdBuildDeclarations">\r
+                <xs:element minOccurs="0" maxOccurs="1" ref="PcdBuildDeclarations"/>\r
+                <xs:element minOccurs="0" maxOccurs="1" ref="BuildOptions"/>\r
             </xs:sequence>\r
             <xs:attributeGroup ref="MsaAttributes"/>\r
         </xs:complexType>\r
             <xs:enumeration value="4MB"/>\r
         </xs:restriction>\r
     </xs:simpleType>\r
+    <xs:simpleType name="FvImageTypes">\r
+        <xs:restriction base="xs:NCName">\r
+            <xs:enumeration value="Attributes"/>\r
+            <xs:enumeration value="Options"/>\r
+            <xs:enumeration value="Components"/>\r
+            <xs:enumeration value="ValidImageNames"/>\r
+        </xs:restriction>\r
+    </xs:simpleType>\r
     <xs:simpleType name="FvSubRegionTypes">\r
         <xs:restriction base="UCNameType">\r
             <xs:enumeration value="NV_VARIABLE_STORE"/>\r
         <xs:attribute name="Name" type="xs:string" use="required"/>\r
         <xs:attribute name="Size" type="HexAddressType" use="required"/>\r
         <xs:attribute name="BaseAddress" type="HexAddressType" use="required"/>\r
-        <xs:attribute name="ErasePolarity" type="ZeroOrOne" use="required"/>\r
+        <xs:attribute name="ErasePolarity" type="Polarity" use="required"/>\r
     </xs:attributeGroup>\r
     <xs:attributeGroup name="RawDataAttributes">\r
         <xs:attribute name="Name" type="xs:string" use="required"/>\r