Made sure that the Extern element groups were clearly defined, made sure that a Drive...
[mirror_edk2.git] / Tools / XMLSchema / FrameworkDataElements.xsd
index 0695932c7d9217cb702aeb18decba9bc1841e742..a900080f4b5cf7ef57fbed2013ac9911367f422e 100644 (file)
         <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:sequence>\r
+            <xs:choice minOccurs="1" maxOccurs="1">\r
+              <xs:sequence minOccurs="0" maxOccurs="1">\r
                 <xs:annotation>\r
                   <xs:documentation xml:lang="en">Driver Module</xs:documentation>\r
                 </xs:annotation>\r
                 <xs:element minOccurs="0" maxOccurs="1" name="ModuleEntryPoint" type="C_NameType"/>\r
                 <xs:element minOccurs="0" maxOccurs="1" name="ModuleUnloadImage" type="C_NameType"/>\r
               </xs:sequence>\r
-              <xs:sequence>\r
+              <xs:sequence minOccurs="0" maxOccurs="1">\r
                 <xs:annotation>\r
                   <xs:documentation xml:lang="en">Library Module</xs:documentation>\r
                 </xs:annotation>\r
                 <xs:element minOccurs="0" maxOccurs="1" name="Constructor" type="C_NameType"/>\r
                 <xs:element minOccurs="0" maxOccurs="1" name="Destructor" type="C_NameType"/>\r
               </xs:sequence>\r
-              <xs:sequence>\r
+              <xs:sequence minOccurs="0" maxOccurs="1">\r
                 <xs:annotation>\r
                   <xs:documentation xml:lang="en">Allow multiple entries for DriverBinding, ComponentName, DriverConfig and DriverDiag elements. For ComponentName, DriverConfig and/or DriverDiag - you must have a 1:1 mapping to DriverBinding if the element is defined.</xs:documentation>\r
                   <xs:documentation xml:lang="en">Permit User Defined Extern Tags</xs:documentation>\r
                 </xs:annotation>\r
-                <xs:element minOccurs="0" maxOccurs="1" name="DriverBinding" type="C_NameType"/>\r
+                <xs:element minOccurs="1" maxOccurs="1" name="DriverBinding" type="C_NameType"/>\r
                 <xs:element minOccurs="0" maxOccurs="1" name="ComponentName" type="C_NameType"/>\r
                 <xs:element minOccurs="0" maxOccurs="1" name="DriverConfig" type="C_NameType"/>\r
                 <xs:element minOccurs="0" maxOccurs="1" name="DriverDiag" type="C_NameType"/>\r
               </xs:sequence>\r
-              <xs:sequence>\r
+              <xs:sequence minOccurs="0" maxOccurs="1">\r
                 <xs:annotation>\r
                   <xs:documentation xml:lang="en"> Module Call Backs</xs:documentation>\r
                 </xs:annotation>\r