<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:maxInclusive value="16777215"/>\r
</xs:restriction>\r
</xs:simpleType>\r
- <xs:simpleType name="DefaultValue">\r
- <xs:union memberTypes="xs:normalizedString xs:int UnicodeString"/>\r
- </xs:simpleType>\r
+ <xs:simpleType name="DefaultValueType">\r
+ <xs:union memberTypes="xs:normalizedString Hex64BitDataType UnicodeString HexByteArrayType"/>\r
+ </xs:simpleType> \r
<xs:simpleType name="EfiSectionType">\r
<xs:restriction base="UCNameType">\r
<xs:enumeration value="EFI_SECTION_FREEFORM_SUBTYPE_GUID"/>\r
<xs:enumeration value="PRIVATE"/>\r
</xs:restriction>\r
</xs:simpleType>\r
+ <xs:simpleType name="HexByteArrayType">\r
+ <xs:list itemType="HexByteDataType"/>\r
+ </xs:simpleType>\r
+ <xs:simpleType name="HexByteArrayListType">\r
+ <xs:restriction base="xs:normalizedString">\r
+ <xs:pattern value="((( )?0x[a-fA-F0-9]{2})(,)?)+( )?"/>\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: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