<xs:attribute name="ToolChain" type="ToolChains" use="optional"/>\r
<xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>\r
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>\r
+ <xs:attribute name="ArchType" use="optional">\r
+ <xs:simpleType>\r
+ <xs:list itemType="SupportedArchitectures"/>\r
+ </xs:simpleType>\r
+ </xs:attribute>\r
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>\r
<!-- DO NOT USE remove OverrideID from use -->\r
</xs:attributeGroup>\r
<xs:attribute name="PackageName" type="BaseNameConvention" use="optional"/>\r
<xs:attribute name="PackageVersion" type="VersionDataType" use="optional"/>\r
<xs:attribute name="PackageGuid" type="GuidType" use="optional"/>\r
- <xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>\r
+ <xs:attribute name="ArchType" use="optional">\r
+ <xs:simpleType>\r
+ <xs:list itemType="SupportedArchitectures"/>\r
+ </xs:simpleType>\r
+ </xs:attribute>\r
<xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>\r
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>\r
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>\r
<xs:attribute name="PackageName" type="BaseNameConvention" use="optional"/>\r
<xs:attribute name="PackageGuid" type="GuidType" use="optional"/>\r
<xs:attribute name="BuildSequence" type="xs:int" use="optional"/>\r
+ <xs:attribute name="ArchType" use="optional">\r
+ <xs:simpleType>\r
+ <xs:list itemType="SupportedArchitectures"/>\r
+ </xs:simpleType>\r
+ </xs:attribute>\r
</xs:attributeGroup>\r
<xs:attributeGroup name="OptionAttributes">\r
<xs:attribute name="Platform" type="PlatformNamingConvention" use="optional"/>\r
<xs:attribute name="Usage" type="PpiUsage" use="optional"/>\r
<xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>\r
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>\r
+ <xs:attribute name="ArchType" use="optional">\r
+ <xs:simpleType>\r
+ <xs:list itemType="SupportedArchitectures"/>\r
+ </xs:simpleType>\r
+ </xs:attribute>\r
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>\r
<!-- DO NOT USE remove OverrideID from use -->\r
</xs:attributeGroup>\r
<xs:attribute name="Usage" type="PpiNotifyUsage" use="optional"/>\r
<xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>\r
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>\r
+ <xs:attribute name="ArchType" use="optional">\r
+ <xs:simpleType>\r
+ <xs:list itemType="SupportedArchitectures"/>\r
+ </xs:simpleType>\r
+ </xs:attribute>\r
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>\r
<!-- DO NOT USE remove OverrideID from use -->\r
</xs:attributeGroup>\r
<xs:attribute name="Usage" type="ProtocolUsage" use="optional"/>\r
<xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>\r
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>\r
+ <xs:attribute name="ArchType" use="optional">\r
+ <xs:simpleType>\r
+ <xs:list itemType="SupportedArchitectures"/>\r
+ </xs:simpleType>\r
+ </xs:attribute>\r
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>\r
<!-- DO NOT USE remove OverrideID from use -->\r
</xs:attributeGroup>\r
<xs:attribute name="Guid" type="GuidType" use="optional"/>\r
<xs:attribute name="Usage" type="ProtocolNotifyUsage" use="optional"/>\r
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>\r
+ <xs:attribute name="ArchType" use="optional">\r
+ <xs:simpleType>\r
+ <xs:list itemType="SupportedArchitectures"/>\r
+ </xs:simpleType>\r
+ </xs:attribute>\r
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>\r
<!-- DO NOT USE remove OverrideID from use -->\r
</xs:attributeGroup>\r
<xs:attribute name="Usage" type="VariableUsage" use="optional"/>\r
<xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>\r
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>\r
+ <xs:attribute name="ArchType" use="optional">\r
+ <xs:simpleType>\r
+ <xs:list itemType="SupportedArchitectures"/>\r
+ </xs:simpleType>\r
+ </xs:attribute>\r
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>\r
<!-- DO NOT USE remove OverrideID from use -->\r
</xs:attributeGroup>\r
</xs:simpleContent>\r
</xs:complexType>\r
</xs:element>\r
+ <!-- Arch element should be removed - use Arch attributes to the above instead. -->\r
<xs:element minOccurs="0" maxOccurs="unbounded" name="Arch">\r
<xs:complexType>\r
<xs:sequence minOccurs="1">\r
<xs:documentation xml:lang="en">Describe the valid Framework Component Type</xs:documentation>\r
</xs:annotation>\r
</xs:element>\r
- <xs:element name="Condition">\r
- <xs:annotation>\r
- <xs:documentation xml:lang="en">A conditional expression that must be evaluated to determine whether a feature is implemented or not. The expression must be either numeric, string or boolean.</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:sequence minOccurs="0" maxOccurs="1">\r
- <xs:element minOccurs="0" maxOccurs="1" name="Condition" type="xs:normalizedString"/>\r
- </xs:sequence>\r
- <xs:attribute name="ConditionalTarget" type="ConditionalTarget" use="optional"/>\r
- </xs:complexType>\r
- </xs:element>\r
<xs:element name="ConditionalExpression">\r
+ <!-- DO NOT USE remove and use FeatureFlag instead -->\r
<xs:annotation>\r
<xs:documentation xml:lang="en">A conditional expression that must be evaluated to determine whether a feature is implemented or not. The expression must be either numeric, string or boolean.</xs:documentation>\r
</xs:annotation>\r
</xs:simpleContent>\r
</xs:complexType>\r
</xs:element>\r
+ <!-- Remove Arch and use Arch Attribute for DataHubRecord instead. -->\r
<xs:element minOccurs="0" maxOccurs="unbounded" name="Arch">\r
<xs:complexType>\r
<xs:sequence>\r
<xs:complexType>\r
<xs:sequence>\r
<xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/>\r
- <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
+ <xs:choice minOccurs="0">\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>\r
+ </xs:choice>\r
</xs:sequence>\r
<xs:attributeGroup ref="EventAttributes"/>\r
</xs:complexType>\r
</xs:element>\r
+ <!-- Remove Arch Section and use Arch Attribute instead in above. -->\r
<xs:element minOccurs="0" maxOccurs="unbounded" name="Arch">\r
<xs:complexType>\r
<xs:sequence>\r
<xs:complexType>\r
<xs:sequence>\r
<xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/>\r
- <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
+ <xs:choice minOccurs="0">\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>\r
+ </xs:choice>\r
</xs:sequence>\r
<xs:attributeGroup ref="EventAttributes"/>\r
</xs:complexType>\r
<xs:complexType>\r
<xs:sequence>\r
<xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/>\r
- <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
+ <xs:choice minOccurs="0">\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>\r
+ </xs:choice>\r
</xs:sequence>\r
<xs:attributeGroup ref="EventAttributes"/>\r
</xs:complexType>\r
</xs:element>\r
+ <!-- Remove Arch and use Arch attribute in above -->\r
<xs:element minOccurs="0" maxOccurs="unbounded" name="Arch">\r
<xs:complexType>\r
<xs:sequence>\r
<xs:complexType>\r
<xs:sequence>\r
<xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/>\r
- <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
</xs:sequence>\r
<xs:attributeGroup ref="EventAttributes"/>\r
</xs:complexType>\r
<xs:attributeGroup ref="ExternAttributes"/>\r
</xs:complexType>\r
</xs:element>\r
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="Specification"/>\r
+ <!-- Remove Arch and use Arch Attribute in above. -->\r
<xs:element minOccurs="0" maxOccurs="unbounded" name="Arch">\r
<xs:complexType>\r
<xs:sequence>\r
<xs:complexType>\r
<xs:sequence minOccurs="1">\r
<xs:element minOccurs="0" maxOccurs="unbounded" ref="Filename"/>\r
+ <!-- DO NOT USE Arch remove it element and use Arch Attribute to Filename instead -->\r
<xs:element minOccurs="0" maxOccurs="unbounded" name="Arch">\r
<xs:complexType>\r
<xs:sequence minOccurs="1">\r
<xs:complexType>\r
<xs:sequence>\r
<xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/>\r
- <xs:element minOccurs="1" maxOccurs="1" ref="Guid"/>\r
+ <xs:choice minOccurs="1">\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>\r
+ </xs:choice>\r
<xs:element minOccurs="0" maxOccurs="unbounded" name="FeatureFlag" type="C_Name"/>\r
</xs:sequence>\r
<xs:attribute name="Name" type="xs:normalizedString" use="required"/>\r
<xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>\r
<xs:element minOccurs="0" maxOccurs="unbounded" name="FeatureFlag" type="C_Name"/>\r
<xs:element minOccurs="0" maxOccurs="unbounded" ref="ConditionalExpression"/>\r
+ <!-- DO NOT USE remove and use FeatureFlag instead -->\r
<xs:element minOccurs="0" maxOccurs="1" ref="DefaultValue"/>\r
<xs:element minOccurs="0" maxOccurs="1" ref="HelpText"/>\r
</xs:sequence>\r
<xs:attributeGroup ref="GuidAttributes"/>\r
</xs:complexType>\r
</xs:element>\r
+ <!-- DO NOT USE Arch, Arch should be removed and the attribute Arch should be used in the above. -->\r
<xs:element minOccurs="0" maxOccurs="unbounded" name="Arch">\r
<xs:complexType>\r
<xs:sequence>\r
<xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>\r
<xs:element minOccurs="0" maxOccurs="unbounded" name="FeatureFlag" type="C_Name"/>\r
<xs:element minOccurs="0" maxOccurs="unbounded" ref="ConditionalExpression"/>\r
+ <!-- DO NOT USE remove and use FeatureFlag instead -->\r
<xs:element minOccurs="0" maxOccurs="1" ref="DefaultValue"/>\r
<xs:element minOccurs="0" maxOccurs="1" ref="HelpText"/>\r
</xs:sequence>\r
<xs:sequence>\r
<xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:normalizedString"/>\r
<xs:element minOccurs="0" maxOccurs="1" ref="C_Name"/>\r
- <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
+ <xs:choice minOccurs="0">\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>\r
+ </xs:choice>\r
</xs:sequence>\r
<xs:attributeGroup ref="HobAttributes"/>\r
</xs:complexType>\r
</xs:element>\r
+ <!-- DO NOT USE Arch, use attribute Arch for Hob in above -->\r
<xs:element minOccurs="0" maxOccurs="unbounded" name="Arch">\r
<xs:complexType>\r
<xs:sequence>\r
<xs:element name="InstalledDate" type="DateType"/>\r
<xs:element name="Libraries">\r
<xs:annotation>\r
- <xs:documentation xml:lang="en">Different (Module) Instances of Libraries used ONLY in FPD Files.</xs:documentation>\r
+ <xs:documentation xml:lang="en">Different (Module) Instances of Libraries used ONLY in FPD Files.</xs:documentation>\r
</xs:annotation>\r
<xs:complexType>\r
<xs:sequence minOccurs="1">\r
</xs:annotation>\r
<xs:sequence>\r
<xs:element minOccurs="1" maxOccurs="1" ref="ModuleName"/>\r
- <xs:element minOccurs="1" maxOccurs="1" ref="Guid"/>\r
+ <xs:choice minOccurs="1">\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>\r
+ </xs:choice>\r
<xs:element minOccurs="1" maxOccurs="1" ref="Version"/>\r
<xs:element minOccurs="1" maxOccurs="1" ref="Path"/>\r
</xs:sequence>\r
<xs:attributeGroup ref="MsaAttributes"/>\r
</xs:complexType>\r
</xs:element>\r
+ <!-- DO NOT USE Arch element, use attribute Arch in above. -->\r
<xs:element minOccurs="0" maxOccurs="unbounded" name="Arch">\r
<xs:complexType>\r
<xs:sequence minOccurs="1">\r
</xs:complexType>\r
</xs:element>\r
<xs:element name="PCDs">\r
+ <!-- PCDs section is going away to be replaced by something else TB Named later -->\r
<xs:annotation>\r
<xs:documentation xml:lang="en">Child of Module Surface Area documents, MSA and MBD files, Library Modules and Other Modules</xs:documentation>\r
<xs:documentation xml:lang="en">One or more PcdData or PcdBuildData Elements Only one type is permitted</xs:documentation>\r
<xs:complexType>\r
<xs:sequence maxOccurs="unbounded">\r
<xs:element minOccurs="0" maxOccurs="1" ref="PackageName"/>\r
- <xs:choice minOccurs="1">\r
+ <xs:choice minOccurs="0">\r
<xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
<!-- DO NOT USE Guid should be removed, use PackageGuid instead -->\r
<xs:element minOccurs="0" maxOccurs="1" name="PackageGuid" type="GuidType"/>\r
</xs:choice>\r
- <xs:choice minOccurs="1">\r
+ <xs:choice minOccurs="0">\r
<xs:element minOccurs="0" maxOccurs="1" ref="Version"/>\r
<xs:element minOccurs="0" maxOccurs="1" name="PackageVersion" type="VersionDataType"/>\r
</xs:choice>\r
- <xs:element minOccurs="1" maxOccurs="1" ref="Path"/>\r
+ <xs:choice minOccurs="1">\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="Path"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="Filename"/>\r
+ </xs:choice>\r
<xs:element minOccurs="1" maxOccurs="1" ref="InstalledDate"/>\r
</xs:sequence>\r
<xs:attributeGroup ref="PackageAttributes"/>\r
<xs:complexType>\r
<xs:sequence>\r
<xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/>\r
- <xs:element minOccurs="0" maxOccurs="1" name="TokenSpaceGuid" type="GuidType"/>\r
<xs:element minOccurs="1" maxOccurs="1" name="Token">\r
<xs:annotation>\r
<xs:documentation xml:lang="en">This as a unique identifier defined for either this name space.</xs:documentation>\r
</xs:simpleContent>\r
</xs:complexType>\r
</xs:element>\r
- <xs:element minOccurs="0" maxOccurs="1" ref="Path"/>\r
- <!--\r
- <xs:element minOccurs="0" maxOccurs="1" ref="File"/>\r
- -->\r
+ <xs:choice minOccurs="0">\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="Path"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="Filename"/>\r
+ </xs:choice>\r
<xs:element minOccurs="0" maxOccurs="1" ref="InstalledDate"/>\r
<xs:element minOccurs="0" maxOccurs="1" ref="ModifiedDate"/>\r
<xs:element minOccurs="0" maxOccurs="1" name="AlternatePcdFile" type="FileNameConvention"/>\r
<xs:complexType>\r
<xs:sequence>\r
<xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/>\r
- <xs:element minOccurs="1" maxOccurs="1" ref="Guid"/>\r
- <xs:element minOccurs="0" maxOccurs="unbounded" name="FeatureFlag" type="C_Name"/>\r
+ <xs:choice>\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>\r
+ </xs:choice>\r
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="FeatureFlag" type="xs:normalizedString"/>\r
</xs:sequence>\r
<xs:attribute name="Name" type="xs:normalizedString" use="required"/>\r
</xs:complexType>\r
</xs:simpleContent>\r
</xs:complexType>\r
</xs:element>\r
+ <!-- DO NOT USE Arch element, use Arch Attribute in above instead. -->\r
<xs:element minOccurs="0" maxOccurs="unbounded" name="Arch">\r
<xs:complexType>\r
<xs:sequence>\r
<xs:complexType>\r
<xs:sequence>\r
<xs:element minOccurs="1" maxOccurs="1" name="String" type="xs:normalizedString"/>\r
- <xs:element minOccurs="1" maxOccurs="1" ref="Guid"/>\r
+ <xs:choice minOccurs="1">\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>\r
+ </xs:choice>\r
<xs:element minOccurs="0" maxOccurs="1" name="ByteOffset" type="HexWordDataType">\r
<xs:annotation>\r
<xs:documentation xml:lang="en">This entry represents the Hex Byte Offset {0x0, 0xn} to where the data starts.</xs:documentation>\r
<xs:attributeGroup ref="VariableAttributes"/>\r
</xs:complexType>\r
</xs:element>\r
+ <!-- DO NOT USE Arch element, use attribute Arch in above. -->\r
<xs:element minOccurs="0" maxOccurs="unbounded" name="Arch">\r
<xs:complexType>\r
<xs:sequence>\r