<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="USER_DEFINED"/>\r
</xs:restriction>\r
</xs:simpleType>\r
+ <xs:simpleType name="GuidTypes">\r
+ <xs:restriction base="UCNameType">\r
+ <xs:enumeration value="DATA_HUB_RECORD"/>\r
+ <xs:enumeration value="EFI_EVENT"/>\r
+ <xs:enumeration value="EFI_SYSTEM_CONFIGURATION_TABLE"/>\r
+ <xs:enumeration value="EFI_VARIABLE"/>\r
+ <xs:enumeration value="HII_PACKAGE_LIST"/>\r
+ <xs:enumeration value="HOB"/>\r
+ </xs:restriction>\r
+ </xs:simpleType>\r
+ <xs:simpleType name="GuidListType">\r
+ <xs:list itemType="GuidTypes"/>\r
+ </xs:simpleType>\r
<xs:simpleType name="GuidUsage">\r
<xs:restriction base="NameConvention">\r
<xs:enumeration value="ALWAYS_CONSUMED"/>\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: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:pattern value="L(:)?(")(\w+)*((\W*)*(\s*)*(\w*)*)*(")"/>\r
</xs:restriction>\r
</xs:simpleType>\r
+ <xs:simpleType name="VariableNameDataType">\r
+ <xs:list itemType="HexWordArrayType"/>\r
+ </xs:simpleType>\r
<xs:simpleType name="UsageTypes">\r
<xs:restriction base="NameConvention">\r
<xs:enumeration value="ALWAYS_CONSUMED"/>\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