summaryrefslogtreecommitdiff
path: root/Tools/XMLSchema/FrameworkDataAttributes.xsd
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/XMLSchema/FrameworkDataAttributes.xsd')
-rw-r--r--Tools/XMLSchema/FrameworkDataAttributes.xsd79
1 files changed, 70 insertions, 9 deletions
diff --git a/Tools/XMLSchema/FrameworkDataAttributes.xsd b/Tools/XMLSchema/FrameworkDataAttributes.xsd
index 778d339e15..5cf3922847 100644
--- a/Tools/XMLSchema/FrameworkDataAttributes.xsd
+++ b/Tools/XMLSchema/FrameworkDataAttributes.xsd
@@ -25,8 +25,10 @@
<xs:attribute name="Guid" type="GuidType" use="optional"/>
<xs:attribute name="BootModeName" type="BootModeNames" use="required"/>
<xs:attribute name="Usage" type="BootModeUsage" use="required"/>
+ <xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>
+ <!-- DO NOT USE remove OverrideID from use -->
</xs:attributeGroup>
<xs:attributeGroup name="ConvertAttributeString">
<xs:attribute name="SourceString" type="xs:string" use="optional"/>
@@ -36,86 +38,115 @@
<xs:attributeGroup name="DataHubAttributes">
<xs:attribute name="Guid" type="GuidType" use="optional"/>
<xs:attribute name="Usage" type="DataHubUsage" use="optional"/>
+ <xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>
+ <!-- DO NOT USE remove OverrideID from use -->
</xs:attributeGroup>
<xs:attributeGroup name="DirectoryAttributes">
<xs:attribute name="Separator" type="ToothPick"/>
</xs:attributeGroup>
<xs:attributeGroup name="EventAttributes">
+ <xs:attribute name="Guid" type="GuidType" use="optional"/>
<xs:attribute name="Usage" type="EventUsage" use="optional"/>
<xs:attribute name="EventGroup" type="EventTypes" use="optional"/>
+ <xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>
+ <!-- DO NOT USE remove OverrideID from use -->
</xs:attributeGroup>
<xs:attributeGroup name="ExternAttributes">
+ <xs:attribute name="Guid" type="GuidType" use="optional"/>
<xs:attribute name="Usage" type="ExternUsage" use="optional"/>
+ <xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>
+ <!-- DO NOT USE remove OverrideID from use -->
</xs:attributeGroup>
<xs:attributeGroup name="FilenameAttributes">
<xs:attribute name="Usage" type="FileNameUsage" use="optional"/>
<xs:attribute name="Guid" type="GuidType" use="optional"/>
- <xs:attribute name="GuidValue" type="GuidType" use="optional"/>
<xs:attribute name="Path" type="DirectoryNamingConvention" use="optional"/>
<xs:attribute name="FileType" type="xs:string" use="optional"/>
<xs:attribute name="ToolChain" type="ToolChains" use="optional"/>
+ <xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>
+ <!-- DO NOT USE remove OverrideID from use -->
</xs:attributeGroup>
<xs:attributeGroup name="FormsetAttributes">
- <xs:attribute name="Usage" type="FormSetUsage" use="optional"/>
<xs:attribute name="Guid" type="GuidType" use="optional"/>
+ <xs:attribute name="Usage" type="FormSetUsage" use="optional"/>
+ <xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>
+ <!-- DO NOT USE remove OverrideID from use -->
</xs:attributeGroup>
<xs:attributeGroup name="GuidAttributes">
<xs:attribute name="Usage" type="GuidUsage" use="optional"/>
<xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>
+ <!-- DO NOT USE remove OverrideID from use -->
</xs:attributeGroup>
<xs:attributeGroup name="HobAttributes">
+ <xs:attribute name="Guid" type="GuidType" use="optional"/>
<xs:attribute name="Usage" type="HobUsage" use="optional"/>
<xs:attribute name="HobType" type="HobTypes" use="required"/>
<xs:attribute default="true" name="HobEnabled" type="xs:boolean" use="optional"/>
+ <xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>
+ <!-- DO NOT USE remove OverrideID from use -->
</xs:attributeGroup>
<xs:attributeGroup name="IncludeAttributes">
<xs:attribute name="Guid" type="GuidType" use="optional"/>
<xs:attribute name="Path" type="DirectoryNamingConvention" use="optional"/>
- <xs:attribute name="Class" type="xs:normalizedString" use="optional"/>
+ <xs:attribute name="Class" type="BaseNameConvention" use="optional"/>
<xs:attribute name="Version" type="VersionDataType" use="optional"/>
+ <xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>
+ <!-- DO NOT USE remove OverrideID from use -->
<xs:attribute name="ModuleType" type="ModuleTypeDef" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="LibraryAttributes">
+ <!-- LibraryAttributes is used for Libraries -> Library elements in FPD files -->
<xs:attribute name="Guid" type="GuidType" use="optional"/>
+ <!-- DO NOT USE remove Guid from use, Start using LibraryGuid instead -->
+ <xs:attribute name="LibraryGuid" type="GuidType" use="optional"/>
+ <xs:attribute name="Version" type="VersionDataType" use="optional"/>
+ <!-- DO NOT USE remove Version from use, Start using LibraryVersion instead -->
+ <xs:attribute name="ModuleVersion" type="VersionDataType" use="optional"/>
<xs:attribute name="LibraryClass" type="BaseNameConvention" use="optional"/>
<xs:attribute name="ClassGuid" type="GuidType" use="optional"/>
- <xs:attribute name="Version" type="VersionDataType" use="optional"/>
<xs:attribute name="Usage" type="LibraryUsage" use="optional"/>
<xs:attribute name="Package" type="xs:string" use="optional"/>
+ <!-- DO NOT USE remove Package from use, Start using PackageName instead -->
+ <xs:attribute name="PackageName" type="BaseNameConvention" use="optional"/>
+ <xs:attribute name="PackageVersion" type="VersionDataType" use="optional"/>
+ <xs:attribute name="PackageGuid" type="GuidType" use="optional"/>
+ <xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
+ <xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>
+ <!-- DO NOT USE remove OverrideID from use -->
</xs:attributeGroup>
<xs:attributeGroup name="ModuleNameAttributes">
<xs:attribute name="Guid" type="GuidType" use="required"/>
<xs:attribute name="Version" type="VersionDataType" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="ModuleNameSaAttributes">
+ <xs:attribute name="Guid" type="GuidType" use="optional"/>
<xs:attribute name="ModuleName" type="xs:NCName" use="required"/>
- <xs:attribute name="Guid" type="GuidType" use="required"/>
<xs:attribute name="Version" type="VersionDataType" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="MsaAttributes">
<xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
<xs:attribute name="FvBinding" type="xs:string" use="optional"/>
- <xs:attribute name="ModuleName" type="C_Name" use="optional"/>
+ <xs:attribute name="ModuleName" type="xs:NCName" use="optional"/>
<xs:attribute name="ModuleGuid" type="GuidType" use="optional"/>
- <xs:attribute name="PackageName" type="C_Name" use="optional"/>
+ <xs:attribute name="PackageName" type="BaseNameConvention" use="optional"/>
<xs:attribute name="PackageGuid" type="GuidType" use="optional"/>
<xs:attribute name="BuildSequence" type="xs:int" use="optional"/>
</xs:attributeGroup>
@@ -123,17 +154,29 @@
<xs:attribute name="Platform" type="PlatformNamingConvention" use="optional"/>
<xs:attribute name="ToolChain" type="ToolChains" use="optional"/>
<xs:attribute name="BuildTarget" type="BuildTargets" use="optional"/>
+ <xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>
+ <!-- DO NOT USE remove OverrideID from use -->
</xs:attributeGroup>
<xs:attributeGroup name="PackageAttributes">
+ <xs:attribute name="PackageGuid" type="GuidType" use="optional"/>
+ <xs:attribute name="PackageVersion" type="xs:string" use="optional"/>
<xs:attribute name="Usage" type="PackageUsage" use="optional"/>
<xs:attribute name="PackageType" type="PackageType" use="optional"/>
<xs:attribute name="UpdatedDate" type="DateType" use="optional"/>
+ <xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
</xs:attributeGroup>
+ <!-- PackageNameAttributres are only used in the Package Dependencies section of an SPD file. -->
<xs:attributeGroup name="PackageNameAttributes">
<xs:attribute name="Guid" type="GuidType" use="optional"/>
+ <!-- DO NOT USE remove Guid and start using PackageGuid instead -->
+ <xs:attribute name="PackageGuid" type="GuidType" use="optional"/>
<xs:attribute name="Version" type="VersionDataType" use="optional"/>
+ <!-- DO NOT USE remove Version and start using PackageVersion instead -->
+ <xs:attribute name="PackageVersion" type="xs:string" use="optional"/>
+ <!-- PackageTypeDepencency is used to identify if a SOURCE or BINARY PackageType is required, in case PackageGuid and/or PackageVersion are not tracked. -->
+ <xs:attribute name="PackageTypeDependency" type="PackageType" use="optional"/>
<xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="PcdAttributes">
@@ -143,14 +186,18 @@
</xs:annotation>
<xs:attribute name="ItemType" type="PcdItemTypes" use="required"/>
<xs:attribute name="PcdUsage" type="PcdUsage" use="optional"/>
+ <xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>
+ <!-- DO NOT USE remove OverrideID from use -->
</xs:attributeGroup>
<xs:attributeGroup name="PlatformAttributes">
<xs:attribute name="Guid" type="GuidType" use="optional"/>
+ <!-- DO NOT USE remove Guid from use -->
<xs:attribute name="Version" type="VersionDataType" use="optional"/>
<xs:attribute name="AlternateName" type="FileNameConvention" use="optional"/>
- <xs:attribute name="PlatformName" type="BaseNameConvention" use="optional"/>
+ <!-- DO NOT USE remove AlternateName from use -->
+ <xs:attribute name="PlatformName" type="PlatformNamingConvention" use="optional"/>
<xs:attribute name="PlatformGuid" type="GuidType" use="optional"/>
<xs:attribute name="PlatformVersion" type="xs:string" use="optional"/>
</xs:attributeGroup>
@@ -160,6 +207,7 @@
<xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>
+ <!-- DO NOT USE remove OverrideID from use -->
</xs:attributeGroup>
<xs:attributeGroup name="PpiNotifyAttributes">
<xs:attribute name="Guid" type="GuidType" use="optional"/>
@@ -167,6 +215,7 @@
<xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>
+ <!-- DO NOT USE remove OverrideID from use -->
</xs:attributeGroup>
<xs:attributeGroup name="ProtocolAttributes">
<xs:attribute name="Guid" type="GuidType" use="optional"/>
@@ -174,12 +223,14 @@
<xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>
+ <!-- DO NOT USE remove OverrideID from use -->
</xs:attributeGroup>
<xs:attributeGroup name="ProtocolNotifyAttributes">
<xs:attribute name="Guid" type="GuidType" use="optional"/>
<xs:attribute name="Usage" type="ProtocolNotifyUsage" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>
+ <!-- DO NOT USE remove OverrideID from use -->
</xs:attributeGroup>
<xs:attributeGroup name="SectionAttributes">
<xs:annotation>
@@ -188,29 +239,39 @@
<xs:attribute name="SectionType" type="EfiSectionType" use="optional"/>
<xs:attribute default="true" name="Compressible" type="xs:boolean" use="optional"/>
<xs:attribute name="BindingOrder" type="xs:int" use="optional"/>
+ <xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>
+ <!-- DO NOT USE remove OverrideID from use -->
</xs:attributeGroup>
<xs:attributeGroup name="SectionsAttributes">
<xs:annotation>
- <xs:documentation xml:lang="en">Attributes for Sections, EncapsulationTag, EncapsulationType and OverrideID</xs:documentation>
+ <xs:documentation xml:lang="en">Attributes for Sections, EncapsulationTag, EncapsulationType and FeatureFlag</xs:documentation>
</xs:annotation>
<xs:attribute name="EncapsulationType" type="xs:normalizedString" use="optional"/>
<xs:attribute name="EncapsulationTag" type="xs:string" use="optional"/>
+ <xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>
+ <!-- DO NOT USE remove OverrideID from use -->
</xs:attributeGroup>
<xs:attributeGroup name="SystemTableAttributes">
+ <xs:attribute name="Guid" type="GuidType" use="optional"/>
<xs:attribute name="Usage" type="SystemTableUsage" use="optional"/>
+ <xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>
+ <!-- DO NOT USE remove OverrideID from use -->
</xs:attributeGroup>
<xs:attributeGroup name="UrlAttribute">
<xs:attribute name="Url" type="xs:anyURI"/>
</xs:attributeGroup>
<xs:attributeGroup name="VariableAttributes">
+ <xs:attribute name="Guid" type="GuidType" use="optional"/>
<xs:attribute name="Usage" type="VariableUsage" use="optional"/>
+ <xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>
+ <!-- DO NOT USE remove OverrideID from use -->
</xs:attributeGroup>
</xs:schema>