]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/XMLSchema/FrameworkHeaders.xsd
Fix some minor bugs on PCD schema according to final schema email send by Larry
[mirror_edk2.git] / Tools / XMLSchema / FrameworkHeaders.xsd
index 718ce84d60ce22f372fd9fd4fab90bccbb1bb530..7dd823aa1558cb28e43581710a52d658bfaa78f1 100644 (file)
@@ -20,6 +20,7 @@
         <xs:complexType>\r
             <xs:sequence>\r
                 <xs:element minOccurs="1" maxOccurs="1" ref="DatabaseName"/>\r
+                <!-- Value fixed during initialization: FrameworkDatabase -->\r
                 <xs:choice minOccurs="1" maxOccurs="1">\r
                     <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
                     <!-- Guid needs to be removed -->\r
         <xs:complexType>\r
             <xs:sequence>\r
                 <xs:choice>\r
+                    <!-- BaseName needs to be removed  -->\r
                     <xs:element minOccurs="0" maxOccurs="1" ref="BaseName"/>\r
-                    <xs:element minOccurs="0" maxOccurs="1" name="ModuleName" type="xs:NCName"/>\r
+                    <!-- ModuleName needs to be required -->\r
+                    <xs:element minOccurs="0" maxOccurs="1" name="ModuleName" type="UiNameType"/>\r
                 </xs:choice>\r
                 <xs:element minOccurs="1" maxOccurs="1" ref="ModuleType"/>\r
                 <xs:element minOccurs="1" maxOccurs="1" ref="ComponentType"/>\r
                 <xs:choice>\r
-                    <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
                     <!-- Guid needs to be removed -->\r
-                    <xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>\r
+                    <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
                     <!-- GuidValue needs to be required -->\r
+                    <xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>\r
                 </xs:choice>\r
+                <!-- Version needs to be a decimal in final -->\r
                 <xs:element minOccurs="1" maxOccurs="1" ref="Version"/>\r
                 <xs:element minOccurs="1" maxOccurs="1" ref="Abstract"/>\r
                 <xs:element minOccurs="1" maxOccurs="1" ref="Description"/>\r
                 <xs:element minOccurs="1" maxOccurs="1" ref="Copyright"/>\r
                 <xs:element minOccurs="1" maxOccurs="1" ref="License"/>\r
                 <xs:choice minOccurs="1" maxOccurs="1">\r
-                    <xs:element minOccurs="0" maxOccurs="1" ref="Created"/>\r
                     <!-- Created needs to be removed -->\r
+                    <xs:element minOccurs="0" maxOccurs="1" ref="Created"/>\r
+                    <!-- CreatedDate needs to be removed -->\r
                     <xs:element minOccurs="0" maxOccurs="1" ref="CreatedDate"/>\r
-                    <!-- CreatedDate needs to be required -->\r
                 </xs:choice>\r
                 <xs:choice>\r
-                    <xs:element minOccurs="0" maxOccurs="1" ref="Updated"/>\r
                     <!-- Updated needs to be removed -->\r
+                    <xs:element minOccurs="0" maxOccurs="1" ref="Updated"/>\r
+                    <!-- ModifiedDate needs to be removed -->\r
                     <xs:element minOccurs="0" maxOccurs="1" ref="ModifiedDate"/>\r
                 </xs:choice>\r
+                <xs:element minOccurs="0" maxOccurs="1" name="SupportedArchitectures">\r
+                    <xs:simpleType>\r
+                        <xs:list itemType="SupportedArchitectures"/>\r
+                    </xs:simpleType>\r
+                </xs:element>\r
+                <xs:element default="false" minOccurs="0" name="BinaryModule" type="xs:boolean"/>\r
+                <!-- Specification needs to be required - FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052 -->\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="Specification"/>\r
-                <!-- Specification needs to be required - FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00090000 -->\r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r
                 <xs:element minOccurs="1" maxOccurs="1" ref="Description"/>\r
                 <xs:element minOccurs="1" maxOccurs="1" ref="Copyright"/>\r
                 <xs:element minOccurs="1" maxOccurs="1" ref="License"/>\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="Specification"/>\r
                 <xs:choice minOccurs="1" maxOccurs="1">\r
                     <xs:element minOccurs="0" maxOccurs="1" ref="Created"/>\r
                     <xs:element minOccurs="0" maxOccurs="1" ref="CreatedDate"/>\r
                 </xs:choice>\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="Updated"/>\r
+                <xs:element minOccurs="0" maxOccurs="1" ref="Specification"/>\r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r
         </xs:annotation>\r
         <xs:complexType>\r
             <xs:sequence>\r
-                <xs:element minOccurs="1" maxOccurs="1" name="PlatformName" type="PlatformNamingConvention">\r
-                    <xs:annotation>\r
-                        <xs:documentation xml:lang="en">Define the Name of a Platform</xs:documentation>\r
-                    </xs:annotation>\r
-                </xs:element>\r
+                <xs:element minOccurs="1" maxOccurs="1" name="PlatformName" type="PlatformNamingConvention"/>\r
                 <xs:choice>\r
-                    <xs:element minOccurs="0" maxOccurs="1" ref="Guid">\r
-                        <!-- Guid needs to be removed -->\r
-                        <xs:annotation>\r
-                            <xs:documentation xml:lang="en">DO NOT USE! removing from XMLSchema</xs:documentation>\r
-                        </xs:annotation>\r
-                    </xs:element>\r
+                    <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
+                    <!-- DO NOT USE Guid needs to be removed -->\r
                     <xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>\r
                     <!-- GuidValue needs to be required -->\r
                 </xs:choice>\r
+                <!-- Version needs to be xs:decimal in final -->\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="Version"/>\r
                 <xs:element minOccurs="1" maxOccurs="1" ref="Abstract"/>\r
                 <xs:element minOccurs="1" maxOccurs="1" ref="Description"/>\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="Copyright"/>\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="License"/>\r
                 <xs:choice minOccurs="1" maxOccurs="1">\r
-                    <xs:element minOccurs="0" maxOccurs="1" ref="Created">\r
-                        <!-- Created needs to be removed -->\r
-                        <xs:annotation>\r
-                            <xs:documentation xml:lang="en">DO NOT USE! removing from XMLSchema</xs:documentation>\r
-                        </xs:annotation>\r
-                    </xs:element>\r
+                    <!-- DO NOT USE Created needs to be removed -->\r
+                    <xs:element minOccurs="0" maxOccurs="1" ref="Created"/>\r
+                    <!-- DO NOT USE CreatedDate needs to be removed -->\r
                     <xs:element minOccurs="0" maxOccurs="1" ref="CreatedDate"/>\r
-                    <!-- CreatedDate needs to be required -->\r
                 </xs:choice>\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="CreatedBy">\r
-                    <!-- CreatedBy needs to be removed -->\r
-                    <xs:annotation>\r
-                        <xs:documentation xml:lang="en">DO NOT USE! removing from XMLSchema</xs:documentation>\r
-                    </xs:annotation>\r
-                </xs:element>\r
+                <!-- DO NOT USE CreatedBy needs to be removed -->\r
+                <xs:element minOccurs="0" maxOccurs="1" ref="CreatedBy"/>\r
                 <xs:choice>\r
-                    <xs:element minOccurs="0" maxOccurs="1" ref="Updated">\r
-                        <!-- Updated needs to be removed -->\r
-                        <xs:annotation>\r
-                            <xs:documentation xml:lang="en">DO NOT USE! removing from XMLSchema</xs:documentation>\r
-                        </xs:annotation>\r
-                    </xs:element>\r
+                    <!-- DO NOT USE Updated needs to be removed -->\r
+                    <xs:element minOccurs="0" maxOccurs="1" ref="Updated"/>\r
+                    <!-- DO NOT USE ModifiedDate needs to be removed -->\r
                     <xs:element minOccurs="0" maxOccurs="1" ref="ModifiedDate"/>\r
                 </xs:choice>\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="PackageType">\r
-                    <!-- PackageType needs to be removed -->\r
-                    <xs:annotation>\r
-                        <xs:documentation xml:lang="en">DO NOT USE! removing from XMLSchema</xs:documentation>\r
-                    </xs:annotation>\r
-                </xs:element>\r
+                <!-- DO NOT USE PackageType needs to be removed -->\r
+                <xs:element minOccurs="0" maxOccurs="1" ref="PackageType"/>\r
+                <!-- DO NOT USE BuildTarget needs to be removed -->\r
                 <xs:element minOccurs="0" maxOccurs="1" name="BuildTarget" type="BuildTargets"/>\r
+                <!-- Specification needs to be required - FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052 -->\r
                 <xs:element minOccurs="0" maxOccurs="unbounded" ref="Specification"/>\r
-                <!-- Specification needs to be required - FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00090000 -->\r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r
     <xs:element name="SpdHeader">\r
         <xs:annotation>\r
-            <xs:documentation xml:lang="en">This head is for the Surface Area Package Description file (SPD) The Guid may change when the contents of the file are changed.</xs:documentation>\r
+            <xs:documentation xml:lang="en">This head is for the Surface Area Package Description file (SPD)</xs:documentation>\r
+            <xs:documentation xml:lang="en">The Guid MUST change when the contents of the file undergo MAJOR FUNCTIONALITY changes.</xs:documentation>\r
+            <xs:documentation xml:lang="en">The Version MUST change when the contents of the file undergo MINOR FUNCTIONALITY changes.</xs:documentation>\r
         </xs:annotation>\r
         <xs:complexType>\r
             <xs:sequence>\r
-                <xs:element minOccurs="1" maxOccurs="1" ref="PackageName"/>\r
+                <xs:element minOccurs="1" maxOccurs="1" name="PackageName" type="UiNameType"/>\r
                 <xs:choice minOccurs="1" maxOccurs="1">\r
+                    <!-- DO NOT USE! Guid needs to be removed -->\r
                     <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
-                    <!-- Guid needs to be removed -->\r
+                    <!-- GuidValue needs to be required -->\r
                     <xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>\r
                 </xs:choice>\r
-                <xs:element minOccurs="1" maxOccurs="1" ref="Version"/>\r
+                <xs:element minOccurs="1" maxOccurs="1" name="Version" type="xs:decimal"/>\r
                 <xs:element minOccurs="1" maxOccurs="1" ref="Abstract"/>\r
                 <xs:element minOccurs="1" maxOccurs="1" ref="Description"/>\r
                 <xs:element minOccurs="1" maxOccurs="1" ref="Copyright"/>\r
                 <xs:element minOccurs="1" maxOccurs="1" ref="License"/>\r
                 <xs:choice minOccurs="1" maxOccurs="1">\r
-                    <xs:element minOccurs="0" maxOccurs="1" ref="Created"/>\r
                     <!-- Created needs to be removed -->\r
+                    <xs:element minOccurs="0" maxOccurs="1" ref="Created"/>\r
+                    <!-- CreatedDate needs to be removed -->\r
                     <xs:element minOccurs="0" maxOccurs="1" ref="CreatedDate"/>\r
                 </xs:choice>\r
+                <!-- E_Mail needs to be removed -->\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="E-Mail"/>\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="Updated"/>\r
+                <xs:choice minOccurs="0" maxOccurs="1">\r
+                    <!-- Updated needs to be removed -->\r
+                    <xs:element minOccurs="0" maxOccurs="1" ref="Updated"/>\r
+                    <!-- UpdatedDate needs to be removed -->\r
+                    <xs:element minOccurs="0" maxOccurs="1" ref="ModifiedDate"/>\r
+                </xs:choice>\r
+                <!-- URL needs to be removed -->\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="URL"/>\r
+                <!-- PackageType needs to be removed -->\r
                 <xs:element minOccurs="1" maxOccurs="1" ref="PackageType"/>\r
+                <!-- ReadOnly and RePackage remain in final -->\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="ReadOnly"/>\r
                 <xs:element minOccurs="0" maxOccurs="1" ref="RePackage"/>\r
+                <!-- Specification needs to be required - FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052 -->\r
                 <xs:element minOccurs="0" maxOccurs="unbounded" ref="Specification"/>\r
-                <!-- Specification needs to be required - FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00090000 -->\r
-                <xs:element minOccurs="0" maxOccurs="1" ref="OutputDirectory"/>\r
                 <!-- OutputDirectory needs to be removed -->\r
+                <xs:element minOccurs="0" maxOccurs="1" ref="OutputDirectory"/>\r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r