]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/XMLSchema/FrameworkDataElements.xsd
merged the new changes in new schema, and corrected many inconsistencies in attribute...
[mirror_edk2.git] / Tools / XMLSchema / FrameworkDataElements.xsd
index 2015e01676f449c50688b3c10592f3896f0240d8..8e00b70ea680fbba7cc95a0898ef68d46bad5824 100644 (file)
     <xs:include schemaLocation="FrameworkDataTypes.xsd"/>\r
     <xs:include schemaLocation="FrameworkPlatformDataTypes.xsd"/>\r
     <xs:include schemaLocation="FrameworkDataAttributes.xsd"/>\r
-    <xs:element name="Abstract">\r
+    <xs:element name="Abstract" type="Sentence">\r
         <xs:annotation>\r
             <xs:documentation xml:lang="en">Abstract is valid for all Description Files</xs:documentation>\r
             <xs:documentation xml:lang="en">This section is required. This is a single sentence to describe the module and will be used in sample files as the abstract data in the header comment section.</xs:documentation>\r
         </xs:annotation>\r
-        <xs:complexType>\r
-            <xs:simpleContent>\r
-                <xs:extension base="Sentence">\r
-                    <xs:attribute name="URL" type="xs:anyURI" use="optional"/>\r
-                </xs:extension>\r
-            </xs:simpleContent>\r
-        </xs:complexType>\r
     </xs:element>\r
     <xs:element name="AntCmd">\r
         <xs:annotation>\r
@@ -46,7 +39,6 @@
                     </xs:simpleType>\r
                 </xs:element>\r
             </xs:sequence>\r
-            <xs:attributeGroup ref="SectionAttributes"/>\r
         </xs:complexType>\r
     </xs:element>\r
     <xs:element name="AntTask">\r
                 <xs:element name="DataHubRecord">\r
                     <xs:complexType>\r
                         <xs:simpleContent>\r
-                            <xs:extension base="xs:normalizedString">\r
+                            <xs:extension base="C_NameType">\r
                                 <xs:attributeGroup ref="DataHubAttributes"/>\r
                             </xs:extension>\r
                         </xs:simpleContent>\r
                                 <xs:complexType>\r
                                     <xs:sequence>\r
                                         <xs:choice>\r
-                                            <xs:element minOccurs="0" maxOccurs="1" name="GuidC_Name" type="GuidC_NameType"/>\r
+                                            <xs:element minOccurs="0" maxOccurs="1" name="GuidC_Name" type="C_NameType"/>\r
                                             <!-- DO NOT USE, removing C_Name in final -->\r
                                             <xs:element minOccurs="0" maxOccurs="1" ref="C_Name"/>\r
                                         </xs:choice>\r
                                 <xs:complexType>\r
                                     <xs:sequence>\r
                                         <xs:choice>\r
-                                            <xs:element minOccurs="0" maxOccurs="1" name="GuidC_Name" type="GuidC_NameType"/>\r
+                                            <xs:element minOccurs="0" maxOccurs="1" name="GuidC_Name" type="C_NameType"/>\r
                                             <!-- DO NOT USE, removing C_Name in final -->\r
                                             <xs:element minOccurs="0" maxOccurs="1" ref="C_Name"/>\r
                                         </xs:choice>\r
         <xs:complexType>\r
             <xs:sequence minOccurs="1">\r
                 <xs:element minOccurs="0" maxOccurs="1" name="PcdIsDriver" type="PcdDriverTypes"/>\r
-                <xs:element minOccurs="0" maxOccurs="unbounded" ref="Specification"/>\r
+                <xs:element minOccurs="0" maxOccurs="unbounded" name="Specification" type="Sentence"/>\r
                 <xs:element minOccurs="0" maxOccurs="unbounded" name="Extern">\r
                     <xs:complexType>\r
                         <xs:choice minOccurs="1">\r
         </xs:annotation>\r
         <xs:complexType>\r
             <xs:simpleContent>\r
-                <xs:extension base="VariableConvention">\r
+                <xs:extension base="PathAndFilename">\r
                     <xs:attributeGroup ref="FilenameAttributes"/>\r
                 </xs:extension>\r
             </xs:simpleContent>\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" name="C_Name" type="C_NameType"/>\r
                             <xs:choice minOccurs="1">\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" ref="HelpText"/>\r
+                            <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
                         </xs:sequence>\r
                         <xs:attributeGroup ref="GuidDeclarationAttributes"/>\r
                     </xs:complexType>\r
     <xs:element name="Guids">\r
         <xs:complexType>\r
             <xs:sequence minOccurs="1" maxOccurs="unbounded">\r
+                <xs:element minOccurs="0" maxOccurs="unbounded" name="GuidCName">\r
+                    <xs:annotation>\r
+                        <xs:documentation xml:lang="en">Describe the valid content of a GUID element in and MSA file.</xs:documentation>\r
+                    </xs:annotation>\r
+                    <xs:complexType>\r
+                        <xs:simpleContent>\r
+                            <xs:extension base="C_NameType">\r
+                                <xs:attributeGroup ref="GuidAttributes"/>\r
+                            </xs:extension>\r
+                        </xs:simpleContent>\r
+                    </xs:complexType>\r
+                </xs:element>                \r
                 <xs:element name="GuidEntry">\r
                     <xs:annotation>\r
                         <xs:documentation xml:lang="en">Describe the valid content of a GUID element in and MSA file.</xs:documentation>\r
                     </xs:annotation>\r
-                    <xs:complexType mixed="true">\r
+                    <xs:complexType>\r
                         <xs:sequence minOccurs="0" maxOccurs="1">\r
                             <xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/>\r
                             <!-- DO NOT USE removing GuidValue from use -->\r
                 <xs:element name="HiiPackage">\r
                     <xs:complexType>\r
                         <xs:simpleContent>\r
-                            <xs:extension base="C_Name">\r
+                            <xs:extension base="C_NameType">\r
                                 <xs:attributeGroup ref="HiiPackageAttributes"/>\r
                             </xs:extension>\r
                         </xs:simpleContent>\r
                             <xs:choice>\r
                                 <!-- Remove Name from use -->\r
                                 <xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:normalizedString"/>\r
-                                <xs:element minOccurs="0" maxOccurs="1" name="GuidC_Name" type="GuidC_NameType"/>\r
+                                <xs:element minOccurs="0" maxOccurs="1" name="GuidC_Name" type="C_NameType"/>\r
                             </xs:choice>\r
                             <!-- Remove C_Name from use -->\r
                             <xs:element minOccurs="0" maxOccurs="1" ref="C_Name"/>\r
             <xs:sequence>\r
                 <xs:element minOccurs="0" maxOccurs="1" name="Header" type="UiNameType"/>\r
                 <xs:element minOccurs="1" maxOccurs="1" name="IncludeHeader" type="PathAndFilename"/>\r
-                <xs:element minOccurs="1" maxOccurs="1" ref="HelpText"/>\r
+                <xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
             </xs:sequence>\r
             <xs:attributeGroup ref="IndustryStdHeaderAttributes"/>\r
         </xs:complexType>\r
         <xs:complexType>\r
             <xs:sequence minOccurs="1">\r
                 <xs:element minOccurs="0" maxOccurs="unbounded" name="Library">\r
-                    <xs:complexType mixed="true">\r
+                    <xs:complexType>\r
                         <xs:simpleContent>\r
                             <xs:extension base="xs:NCName">\r
                                 <xs:attributeGroup ref="LibraryAttributes"/>\r
                     </xs:complexType>\r
                 </xs:element>\r
                 <!-- /remove Arch Element -->\r
+                <xs:element minOccurs="0" maxOccurs="unbounded" name="Instance">\r
+                    <xs:complexType>\r
+                        <xs:attributeGroup ref="LibraryAttributes"/>\r
+                    </xs:complexType>\r
+                </xs:element>                \r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r
         </xs:annotation>\r
         <xs:complexType>\r
             <xs:simpleContent>\r
-                <xs:extension base="xs:NCName">\r
+                <xs:extension base="KeywordType">\r
                     <xs:attributeGroup ref="LibraryClassAttributes"/>\r
                 </xs:extension>\r
             </xs:simpleContent>\r
                 <xs:element name="LibraryClass" minOccurs="0" maxOccurs="unbounded">\r
                     <xs:complexType>\r
                         <xs:sequence>\r
-                            <xs:element name="IncludeHeader" type="PathAndFilename" minOccurs="1" maxOccurs="1"/>\r
-                            <xs:element ref="HelpText" minOccurs="1" maxOccurs="1"/>\r
+                            <xs:element minOccurs="1" maxOccurs="1" name="IncludeHeader" type="PathAndFilename"/>\r
+                            <xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
                         </xs:sequence>\r
                         <xs:attributeGroup ref="LibraryClassAttributes"/>\r
                     </xs:complexType>\r
                     </xs:complexType>\r
                 </xs:element>\r
             </xs:sequence>\r
-            <xs:element minOccurs="1" maxOccurs="unbounded" ref="Filename"/>\r
+              <xs:element minOccurs="0" maxOccurs="unbounded" name="Filename" type="PathAndFilename"/>\r
           </xs:choice>\r
         </xs:complexType>\r
     </xs:element>\r
                 <!-- A pattern to match for the output -->\r
                 <xs:element minOccurs="1" maxOccurs="1" name="OutputPattern" type="xs:string"/>\r
             </xs:sequence>\r
-            <xs:attributeGroup ref="SectionAttributes"/>\r
+            <xs:attributeGroup ref="ProcessStepAttributes"/>\r
         </xs:complexType>\r
     </xs:element>    \r
     <xs:element name="FfsFormatDeclarations">\r
         <xs:annotation>\r
             <xs:documentation xml:lang="en">This tag is used in the Package Surface Area Description File to track package dependencies for a module (SPD) </xs:documentation>\r
         </xs:annotation>\r
-        <xs:complexType mixed="true">\r
-            <xs:simpleContent>\r
-                <xs:extension base="UiNameType">\r
-                    <xs:attributeGroup ref="PackageAttributes"/>\r
-                </xs:extension>\r
-            </xs:simpleContent>\r
+        <xs:complexType>\r
+            <xs:attributeGroup ref="PackageAttributes"/>\r
         </xs:complexType>\r
     </xs:element>\r
     <xs:element name="PackageName">\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" name="C_Name" type="C_NameType"/>\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="1" ref="HelpText"/>\r
+                            <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
                         </xs:sequence>\r
                         <xs:attributeGroup ref="PpiDeclarationAttributes"/>\r
                     </xs:complexType>\r
                 <xs:element minOccurs="0" maxOccurs="unbounded" name="Ppi">\r
                     <xs:complexType>\r
                         <xs:simpleContent>\r
-                            <xs:extension base="C_Name">\r
+                            <xs:extension base="C_NameType">\r
                                 <xs:attributeGroup ref="PpiAttributes"/>\r
                             </xs:extension>\r
                         </xs:simpleContent>\r
                 <xs:element minOccurs="0" maxOccurs="unbounded" name="PpiNotify">\r
                     <xs:complexType>\r
                         <xs:simpleContent>\r
-                            <xs:extension base="C_Name">\r
+                            <xs:extension base="C_NameType">\r
                                 <xs:attributeGroup ref="PpiNotifyAttributes"/>\r
                             </xs:extension>\r
                         </xs:simpleContent>\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" name="C_Name" type="C_NameType"/>\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:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
                         </xs:sequence>\r
                         <xs:attributeGroup ref="ProtocolDeclarationAttributes"/>\r
                     </xs:complexType>\r
                 <xs:element minOccurs="0" maxOccurs="unbounded" name="Protocol">\r
                     <xs:complexType>\r
                         <xs:simpleContent>\r
-                            <xs:extension base="C_Name">\r
+                            <xs:extension base="C_NameType">\r
                                 <xs:attributeGroup ref="ProtocolAttributes"/>\r
                             </xs:extension>\r
                         </xs:simpleContent>\r
                 <xs:element minOccurs="0" maxOccurs="unbounded" name="ProtocolNotify">\r
                     <xs:complexType>\r
                         <xs:simpleContent>\r
-                            <xs:extension base="C_Name">\r
+                            <xs:extension base="C_NameType">\r
                                 <xs:attributeGroup ref="ProtocolNotifyAttributes"/>\r
                             </xs:extension>\r
                         </xs:simpleContent>\r
                             <xs:element minOccurs="0" maxOccurs="unbounded" name="Protocol">\r
                                 <xs:complexType>\r
                                     <xs:simpleContent>\r
-                                        <xs:extension base="C_Name">\r
+                                        <xs:extension base="C_NameType">\r
                                             <xs:attributeGroup ref="ProtocolAttributes"/>\r
                                         </xs:extension>\r
                                     </xs:simpleContent>\r
                             <xs:element minOccurs="0" maxOccurs="unbounded" name="ProtocolNotify">\r
                                 <xs:complexType>\r
                                     <xs:simpleContent>\r
-                                        <xs:extension base="C_Name">\r
+                                        <xs:extension base="C_NameType">\r
                                             <xs:attributeGroup ref="ProtocolNotifyAttributes"/>\r
                                         </xs:extension>\r
                                     </xs:simpleContent>\r
     </xs:element>\r
     <xs:element name="SkuInfo">\r
         <xs:complexType>\r
-            <xs:sequence minOccurs="1" maxOccurs="unbounded">\r
-                <xs:element name="UiSkuName">\r
+            <xs:sequence>\r
+                <xs:element minOccurs="1" maxOccurs="unbounded" name="UiSkuName">\r
                     <xs:complexType>\r
                         <xs:simpleContent>\r
                             <xs:extension base="UiNameType">\r
         <xs:complexType>\r
             <xs:sequence minOccurs="1" maxOccurs="unbounded">\r
                 <xs:element name="SystemTable">\r
-                    <xs:complexType mixed="true">\r
+                    <xs:complexType>\r
                         <xs:sequence minOccurs="1" maxOccurs="unbounded">\r
                             <!-- Remove Entry from Use -->\r
                             <xs:element minOccurs="0" maxOccurs="1" name="Entry" type="xs:normalizedString"/>\r
                         <xs:attributeGroup ref="SystemTableAttributes"/>\r
                     </xs:complexType>\r
                 </xs:element>\r
+                <xs:element minOccurs="0" maxOccurs="unbounded" name="SystemTableCName">\r
+                    <xs:complexType>\r
+                        <xs:simpleContent>\r
+                            <xs:extension base="C_NameType">\r
+                                <xs:attributeGroup ref="SystemTableAttributes"/>\r
+                            </xs:extension>\r
+                        </xs:simpleContent>\r
+                    </xs:complexType>\r
+                </xs:element>                \r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r
                 <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##local"/>\r
             </xs:sequence>\r
             <xs:attribute name="UserID" type="xs:NCName" use="required"/>\r
-            <xs:attribute name="Identifier" type="xs:integer" use="required"/>\r
+            <xs:attribute name="Identifier" type="xs:nonNegativeInteger" use="required"/>\r
         </xs:complexType>\r
     </xs:element>\r
     <xs:element name="Variables">\r
                                 <!-- DO NOT USE, use GuidC_Name instead -->\r
                                 <xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>\r
                                 <!-- Make GuidC_Name required -->\r
-                                <xs:element minOccurs="0" maxOccurs="1" name="GuidC_Name" type="GuidC_NameType"/>\r
+                                <xs:element minOccurs="0" maxOccurs="1" name="GuidC_Name" type="C_NameType"/>\r
                             </xs:choice>\r
                             <!-- DO NOT USE, removiing  ByteOffset, Bit Offset and OffsetBitSize-->\r
                             <xs:element minOccurs="0" maxOccurs="1" name="ByteOffset" type="HexWordDataType">\r