<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="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