]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/XMLSchema/FrameworkDataElements.xsd
Intermediate Check-in this SPD schema handles both old and new elements.
[mirror_edk2.git] / Tools / XMLSchema / FrameworkDataElements.xsd
index cc9302a53b101087a41be18a9eb0dff28762ca62..f38f47211d69a61217e649ebc53e20b79352ae5c 100644 (file)
@@ -17,6 +17,7 @@
     </xs:annotation>\r
     <xs:include schemaLocation="NamingConvention.xsd"/>\r
     <xs:include schemaLocation="FrameworkDataTypes.xsd"/>\r
+    <xs:include schemaLocation="FrameworkPlatformDataTypes.xsd"/>\r
     <xs:include schemaLocation="FrameworkDataAttributes.xsd"/>\r
     <xs:element name="Abstract">\r
         <xs:annotation>\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:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
                                 <xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>\r
                             </xs:choice>\r
-                            <xs:element minOccurs="0" maxOccurs="unbounded" name="FeatureFlag" type="C_Name"/>\r
+                            <xs:element minOccurs="0" maxOccurs="unbounded" ref="HelpText"/>\r
                         </xs:sequence>\r
-                        <xs:attribute name="Name" type="xs:normalizedString" use="required"/>\r
+                        <xs:attributeGroup ref="GuidDeclarationAttributes"/>\r
                     </xs:complexType>\r
                 </xs:element>\r
             </xs:sequence>\r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r
-\r
     <xs:element name="Hobs">\r
         <xs:complexType>\r
             <xs:sequence minOccurs="1" maxOccurs="unbounded">\r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r
+    <!-- Use in Final -->\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:element minOccurs="0" maxOccurs="unbounded" name="Filename" type="PathAndFilename"/>\r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r
     </xs:element>\r
     <xs:element name="PackageHeaders">\r
         <xs:annotation>\r
-            <xs:documentation xml:lang="en">This defines the minimum header file needed to support a given ModuleType.</xs:documentation>\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" ref="IncludeHeader"/>\r
+                <xs:choice>\r
+                    <!-- DO NOT USE! removing IncludeHeader, use IncludePkgHeader instead. -->\r
+                    <xs:element minOccurs="0" maxOccurs="unbounded" ref="IncludeHeader"/>\r
+                    <xs:element minOccurs="0" 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:choice>\r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r
         </xs:complexType>\r
     </xs:element>\r
     <xs:element name="PpiDeclarations">\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:sequence>\r
                             <xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/>\r
                             <xs:choice>\r
+                                <!-- DO NOT USE removing Guid in final, use GuidValue instead -->\r
                                 <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
                                 <xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>\r
                             </xs:choice>\r
-                            <xs:element minOccurs="0" maxOccurs="unbounded" name="FeatureFlag" type="xs:normalizedString"/>\r
+                            <xs:element minOccurs="0" maxOccurs="1" ref="HelpText"/>\r
                         </xs:sequence>\r
-                        <xs:attribute name="Name" type="xs:normalizedString" use="required"/>\r
+                        <xs:attributeGroup ref="PpiDeclarationAttributes"/>\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">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" ref="C_Name"/>\r
-                            <xs:element minOccurs="1" maxOccurs="1" ref="Guid"/>\r
-                            <xs:element minOccurs="0" maxOccurs="unbounded" name="FeatureFlag" type="C_Name"/>\r
+                            <xs:choice>\r
+                                <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
+                                <xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>\r
+                            </xs:choice>\r
+                            <xs:element minOccurs="0" maxOccurs="1" ref="HelpText"/>\r
                         </xs:sequence>\r
-                        <xs:attribute name="Name" type="xs:normalizedString" use="required"/>\r
+                        <xs:attributeGroup ref="ProtocolDeclarationAttributes"/>\r
                     </xs:complexType>\r
                 </xs:element>\r
             </xs:sequence>\r
         <xs:complexType>\r
             <xs:sequence minOccurs="1" maxOccurs="unbounded">\r
                 <xs:element name="UiSkuName">\r
-                        <xs:complexType>\r
-                            <xs:simpleContent>\r
-                                <xs:extension base="UiNameType">\r
-                                    <xs:attribute name="SkuID" type="xs:nonNegativeInteger" use="required"/>\r
-                                </xs:extension>\r
-                            </xs:simpleContent>\r
-                        </xs:complexType>\r
-                    </xs:element>\r
+                    <xs:complexType>\r
+                        <xs:simpleContent>\r
+                            <xs:extension base="UiNameType">\r
+                                <xs:attribute name="SkuID" type="xs:nonNegativeInteger" use="required"/>\r
+                            </xs:extension>\r
+                        </xs:simpleContent>\r
+                    </xs:complexType>\r
+                </xs:element>\r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r