]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/XMLSchema/FrameworkDataTypes.xsd
changed back to old Abstract and Version in SpdHeader for ModuleEditor and PackageEdi...
[mirror_edk2.git] / Tools / XMLSchema / FrameworkDataTypes.xsd
index 885ab5b77b862431896a17dff2e66023d39529cc..b99fd2b495a6cfc97989fb0b2845b5dbe3bdc6d0 100644 (file)
             <xs:enumeration value="SOMETIMES_PRODUCED"/>\r
         </xs:restriction>\r
     </xs:simpleType>\r
+    <xs:simpleType name="ModuleListType">\r
+        <xs:list itemType="FrameworkModuleTypes"/>\r
+    </xs:simpleType>    \r
+    <xs:simpleType name="IntermediateOutputType">\r
+        <xs:restriction base="UCNameType">\r
+            <xs:enumeration value="MODULE"/>\r
+            <xs:enumeration value="UNIFIED"/>\r
+        </xs:restriction>\r
+    </xs:simpleType>    \r
     <xs:simpleType name="BuildTargets">\r
         <xs:restriction base="xs:NCName">\r
             <xs:enumeration value="DEBUG"/>\r
             <xs:enumeration value="BOTH"/>\r
         </xs:restriction>\r
     </xs:simpleType>\r
+    <xs:simpleType name="BuildTargetList">\r
+        <xs:union memberTypes="UCNameType DEBUG RELEASE"/>\r
+    </xs:simpleType>\r
+    <xs:simpleType name="DEBUG">\r
+        <xs:restriction base="UCNameType">\r
+            <xs:pattern value="DEBUG"/>\r
+        </xs:restriction>\r
+    </xs:simpleType>\r
+    <xs:simpleType name="RELEASE">\r
+        <xs:restriction base="UCNameType">\r
+            <xs:pattern value="RELEASE"/>\r
+        </xs:restriction>\r
+    </xs:simpleType>    \r
     <xs:simpleType name="ComponentExecutionPhase">\r
         <xs:restriction base="UCNameType">\r
             <xs:enumeration value="MDE"/>\r
             <xs:enumeration value="PRIVATE"/>\r
         </xs:restriction>\r
     </xs:simpleType>\r
+    <xs:simpleType name="HexWordArrayType">\r
+      <xs:restriction base="xs:normalizedString">\r
+         <xs:pattern value="((( )?0x[a-fA-F0-9]{4})(,)?)+( )?"/>\r
+      </xs:restriction>\r
+    </xs:simpleType>\r
     <xs:simpleType name="HiiPackageUsage">\r
         <xs:restriction base="NameConvention">\r
             <xs:enumeration value="ALWAYS_PRODUCED"/>\r
     <xs:simpleType name="Token">\r
         <xs:union memberTypes="GuidArrayType GuidNamingConvention HexDoubleWordDataType"/>\r
     </xs:simpleType>\r
+    <!-- TokenDataType is xs:nonNegativeInteger in final -->\r
+    <xs:simpleType name="TokenDataType">\r
+        <xs:union memberTypes="HexDoubleWordDataType  xs:nonNegativeInteger"/>\r
+    </xs:simpleType>\r
     <xs:simpleType name="ToolChains">\r
         <xs:restriction base="UCNameType">\r
             <xs:enumeration value="MSFT"/>\r
         </xs:restriction>\r
     </xs:simpleType>\r
     <xs:simpleType name="VariableNameDataType">\r
-        <xs:list itemType="HexWordDataType"/>\r
+        <xs:list itemType="HexWordArrayType"/>\r
     </xs:simpleType>\r
     <xs:simpleType name="UsageTypes">\r
         <xs:restriction base="NameConvention">\r
             <xs:element name="ToolArgs" type="xs:string"/>\r
         </xs:sequence>\r
     </xs:complexType>\r
+    <xs:simpleType name="FfsNameType">\r
+        <xs:annotation>\r
+            <xs:documentation xml:lang="en"> This defines what an FFS Name can consist of.</xs:documentation>\r
+        </xs:annotation>\r
+        <xs:restriction base="xs:string">\r
+            <xs:pattern value="[a-zA-Z][_\-a-zA-Z0-9]*(.)?[a-zA-Z0-9]*"/>\r
+        </xs:restriction>\r
+    </xs:simpleType>\r
+    <xs:simpleType name="FeatureFlagExpressionType">\r
+        <xs:restriction base="xs:normalizedString">\r
+            <xs:pattern value="(\w*\W*)*"/>\r
+        </xs:restriction>\r
+    </xs:simpleType>    \r
 </xs:schema>\r