Intermediate Check-in this SPD schema handles both old and new elements.

This is not the final version of the XML Transition Schema - what is here works.
More will come later.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@446 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lhauch 2006-06-09 02:06:06 +00:00
parent c12c6c7dc6
commit 716b237185
6 changed files with 238 additions and 150 deletions

View File

@ -17,13 +17,57 @@
</xs:annotation>
<xs:include schemaLocation="NamingConvention.xsd"/>
<xs:include schemaLocation="FrameworkDataTypes.xsd"/>
<xs:include schemaLocation="FrameworkPlatformDataTypes.xsd"/>
<xs:attributeGroup name="BlockAttributes">
<xs:attribute name="Name" type="BlockNameType" use="required"/>
<xs:attribute name="Size" type="HexAddressType" use="required"/>
<xs:attribute name="Flags" type="HexAddressType" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="FlashDeviceImageAttributes">
<xs:attribute name="Name" type="xs:string" use="required"/>
</xs:attributeGroup>
<xs:attributeGroup name="FlashDeviceImageFileAttributes">
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="Region" type="xs:string" use="required"/>
<xs:attribute name="SubRegion" type="xs:string" use="optional"/>
<xs:attribute name="Optional" type="xs:boolean" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="FlashDeviceInfoAttributes">
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="Size" type="HexAddressType" use="required"/>
<xs:attribute name="BaseAddress" type="HexAddressType" use="required"/>
<xs:attribute name="ErasePolarity" type="Polarity" use="required"/>
</xs:attributeGroup>
<xs:attributeGroup name="RawDataAttributes">
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="Region" type="xs:string" use="required"/>
<xs:attribute name="SubRegion" type="xs:string" use="required"/>
</xs:attributeGroup>
<xs:attributeGroup name="RegionAttributes">
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="Size" type="HexAddressType" use="required"/>
<xs:attribute name="Flags" type="HexAddressType" use="optional"/>
<xs:attribute name="Alignment" type="HexAddressType" use="optional"/>
<xs:attribute name="Attributes" type="xs:string" use="required"/>
<xs:attribute name="AreaType" type="EfiFvAreaType" use="required"/>
</xs:attributeGroup>
<xs:attributeGroup name="SubRegionAttributes">
<xs:attribute name="CreateHob" type="xs:boolean" use="required"/>
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="Size" type="HexAddressType" use="required"/>
<xs:attribute name="Attributes" type="xs:string" use="required"/>
<xs:attribute name="AreaType" type="EfiFvAreaType" use="required"/>
<xs:attribute name="NameGuid" type="xs:string" use="required"/>
<xs:attribute name="AreaTypeGuid" type="xs:string" use="optional"/>
<xs:attribute name="FileSystemGuid" type="xs:string" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="BaseNameAttributes">
<xs:attribute name="Guid" type="GuidType" use="optional"/>
<xs:attribute name="Version" type="VersionDataType" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="BootModeAttributes">
<xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
<xs:attribute name="ArchType" type="ArchListType" use="optional"/>
<xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
<xs:attribute name="BootModeName" type="BootModeNames" use="required"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<xs:attribute name="Guid" type="GuidType" use="optional"/>
@ -38,7 +82,7 @@
</xs:attributeGroup>
<xs:attributeGroup name="DataHubAttributes">
<xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
<xs:attribute name="ArchType" type="ArchListType" use="optional"/>
<xs:attribute name="SupArchList" type="ArchListType" 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="Guid" type="GuidType" use="optional"/>
@ -51,7 +95,7 @@
</xs:attributeGroup>
<xs:attributeGroup name="EventAttributes">
<xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
<xs:attribute name="ArchType" type="ArchListType" use="optional"/>
<xs:attribute name="SupArchList" type="ArchListType" 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"/>
@ -62,7 +106,7 @@
</xs:attributeGroup>
<xs:attributeGroup name="ExternAttributes">
<xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
<xs:attribute name="ArchType" type="ArchListType" use="optional"/>
<xs:attribute name="SupArchList" type="ArchListType" 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="Guid" type="GuidType" use="optional"/>
@ -72,7 +116,7 @@
</xs:attributeGroup>
<xs:attributeGroup name="FilenameAttributes">
<xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
<xs:attribute name="ArchType" type="ArchListType" use="optional"/>
<xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
<xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>
<!-- LAH Does a Filename need to have FeatureFlag Attribute? -->
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
@ -86,7 +130,7 @@
</xs:attributeGroup>
<xs:attributeGroup name="FormsetAttributes">
<xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
<xs:attribute name="ArchType" type="ArchListType" use="optional"/>
<xs:attribute name="SupArchList" type="ArchListType" 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="Guid" type="GuidType" use="optional"/>
@ -96,16 +140,23 @@
</xs:attributeGroup>
<xs:attributeGroup name="GuidAttributes">
<xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
<xs:attribute name="ArchType" type="ArchListType" use="optional"/>
<xs:attribute name="SupArchList" type="ArchListType" 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="Usage" type="GuidUsage" use="optional"/>
<!-- DO NOT USE remove OverrideID from use -->
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="GuidDeclarationAttributes">
<xs:attribute name="Name" type="xs:NCName" use="required"/>
<xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<xs:attribute name="ModuleTypeList" type="ModuleTypeList" use="optional"/>
<xs:attribute name="GuidTypeList" type="GuidListType" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="HobAttributes">
<xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
<xs:attribute name="ArchType" type="ArchListType" use="optional"/>
<xs:attribute name="SupArchList" type="ArchListType" 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="Guid" type="GuidType" use="optional"/>
@ -117,18 +168,24 @@
</xs:attributeGroup>
<!-- DO NOT USE remove IncludeAttributes from use -->
<xs:attributeGroup name="IncludeAttributes">
<!-- DO NOT USE remove Arch from use, use SupArchList instead -->
<xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
<xs:attribute name="ArchType" type="ArchListType" use="optional"/>
<xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
<!-- DO NOT USE remove Class from use -->
<xs:attribute name="Class" type="BaseNameConvention" use="optional"/>
<!-- DO NOT USE remove EnableFeature from use -->
<xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>
<!-- LAH Does a Include need to have FeatureFlag Attribute? -->
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<!-- DO NOT USE remove Guid from use -->
<xs:attribute name="Guid" type="GuidType" use="optional"/>
<xs:attribute name="ModuleType" type="ModuleTypeDef" use="optional"/>
<!-- DO NOT USE remove Path from use -->
<xs:attribute name="Path" type="DirectoryNamingConvention" use="optional"/>
<!-- DO NOT USE remove Version from use -->
<xs:attribute name="Version" type="VersionDataType" use="optional"/>
<!-- DO NOT USE remove OverrideID from use -->
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>
<xs:attribute name="ModuleTypeList" type="ModuleTypeList" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="IncludeHeaderAttributes">
<xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
@ -143,7 +200,7 @@
<xs:attributeGroup name="LibraryAttributes">
<!-- LibraryAttributes is used for Libraries -> Library elements in FPD files -->
<xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
<xs:attribute name="ArchType" type="ArchListType" use="optional"/>
<xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
<xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>
<!-- LAH Does a LibraryInstance need to have FeatureFlag Attribute? -->
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
@ -170,7 +227,7 @@
</xs:attributeGroup>
<xs:attributeGroup name="LibraryClassAttributes">
<xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
<xs:attribute name="ArchType" type="ArchListType" use="optional"/>
<xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<xs:attribute name="RecommendedInstance" type="xs:NCName" use="optional"/>
<xs:attribute name="RecommendedInstanceGuid" type="GuidType" use="optional"/>
@ -195,7 +252,7 @@
</xs:attributeGroup>
<xs:attributeGroup name="MsaAttributes">
<xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
<xs:attribute name="ArchType" type="ArchListType" use="optional"/>
<xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
<xs:attribute name="BuildSequence" type="xs:int" use="optional"/>
<xs:attribute name="FvBinding" type="xs:string" use="optional"/>
<xs:attribute name="ModuleName" type="xs:NCName" use="optional"/>
@ -205,7 +262,7 @@
</xs:attributeGroup>
<xs:attributeGroup name="OptionAttributes">
<xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
<xs:attribute name="ArchType" type="ArchListType" use="optional"/>
<xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
<xs:attribute name="BuildTarget" type="BuildTargets" use="optional"/>
<xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>
<!-- LAH Does an Option need to have FeatureFlag Attribute? -->
@ -216,9 +273,12 @@
<!-- DO NOT USE remove OverrideID from use -->
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="PackageHeaderAttributes">
<xs:attribute name="ModuleType" type="ModuleTypeDef" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="PackageAttributes">
<xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
<xs:attribute name="ArchType" type="ArchListType" use="optional"/>
<xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
<xs:attribute name="PackageGuid" type="GuidType" use="optional"/>
<xs:attribute name="PackageType" type="PackageType" use="optional"/>
<xs:attribute name="PackageVersion" type="xs:string" use="optional"/>
@ -228,7 +288,7 @@
<!-- PackageNameAttributres are only used in the Package Dependencies section of an SPD file. -->
<xs:attributeGroup name="PackageNameAttributes">
<xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
<xs:attribute name="ArchType" type="ArchListType" use="optional"/>
<xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
<!-- DO NOT USE remove Guid and start using PackageGuid instead -->
<xs:attribute name="Guid" type="GuidType" use="optional"/>
<xs:attribute name="PackageGuid" type="GuidType" use="optional"/>
@ -245,7 +305,7 @@
<xs:documentation xml:lang="en">Only NON FEATURE_FLAG PCDS should have the FeatureFlag attribute set.</xs:documentation>
</xs:annotation>
<xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
<xs:attribute name="ArchType" type="ArchListType" use="optional"/>
<xs:attribute name="SupArchList" type="ArchListType" 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="ItemType" type="PcdItemTypes" use="required"/>
@ -261,8 +321,9 @@
<xs:attributeGroup name="PlatformAttributes">
<!-- DO NOT USE remove AlternateName from use -->
<xs:attribute name="AlternateName" type="FileNameConvention" use="optional"/>
<!-- DO NOT USE remove Arch from use -->
<xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
<xs:attribute name="ArchType" type="ArchListType" use="optional"/>
<xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
<!-- DO NOT USE remove Guid from use -->
<xs:attribute name="Guid" type="GuidType" use="optional"/>
<xs:attribute name="PlatformName" type="PlatformNamingConvention" use="optional"/>
@ -271,21 +332,31 @@
<!-- DO NOT USE remove Version and start using PlatformVersion instead -->
<xs:attribute name="Version" type="VersionDataType" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="PpiDeclarationAttributes">
<xs:attribute name="Name" type="xs:NCName" use="required"/>
<xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<xs:attribute name="ModuleTypeList" type="ModuleTypeList" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="PpiAttributes">
<!-- DO NOT USE remove Arch from use -->
<xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
<xs:attribute name="ArchType" type="ArchListType" use="optional"/>
<xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
<xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<!-- DO NOT USE remove Guid from use -->
<xs:attribute name="Guid" type="GuidType" use="optional"/>
<xs:attribute name="Usage" type="PpiUsage" use="optional"/>
<!-- DO NOT USE remove OverrideID from use -->
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="PpiNotifyAttributes">
<!-- DO NOT USE remove Arch from use -->
<xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
<xs:attribute name="ArchType" type="ArchListType" use="optional"/>
<xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
<xs:attribute default="true" name="EnableFeature" type="xs:boolean" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<!-- DO NOT USE remove Guid from use -->
<xs:attribute name="Guid" type="GuidType" use="optional"/>
<xs:attribute name="Usage" type="PpiNotifyUsage" use="optional"/>
<!-- DO NOT USE remove OverrideID from use -->
@ -293,7 +364,7 @@
</xs:attributeGroup>
<xs:attributeGroup name="ProtocolAttributes">
<xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
<xs:attribute name="ArchType" type="ArchListType" use="optional"/>
<xs:attribute name="SupArchList" type="ArchListType" 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="Guid" type="GuidType" use="optional"/>
@ -301,9 +372,15 @@
<!-- DO NOT USE remove OverrideID from use -->
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="ProtocolDeclarationAttributes">
<xs:attribute name="Name" type="xs:NCName" use="required"/>
<xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<xs:attribute name="ModuleTypeList" type="ModuleTypeList" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="ProtocolNotifyAttributes">
<xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
<xs:attribute name="ArchType" type="ArchListType" use="optional"/>
<xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
<xs:attribute name="Guid" type="GuidType" use="optional"/>
<xs:attribute name="Usage" type="ProtocolNotifyUsage" use="optional"/>
@ -337,7 +414,7 @@
</xs:attributeGroup>
<xs:attributeGroup name="SystemTableAttributes">
<xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
<xs:attribute name="ArchType" type="ArchListType" use="optional"/>
<xs:attribute name="SupArchList" type="ArchListType" 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="Guid" type="GuidType" use="optional"/>
@ -350,7 +427,7 @@
</xs:attributeGroup>
<xs:attributeGroup name="VariableAttributes">
<xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
<xs:attribute name="ArchType" type="ArchListType" use="optional"/>
<xs:attribute name="SupArchList" type="ArchListType" 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="Guid" type="GuidType" use="optional"/>

View File

@ -17,6 +17,7 @@
</xs:annotation>
<xs:include schemaLocation="NamingConvention.xsd"/>
<xs:include schemaLocation="FrameworkDataTypes.xsd"/>
<xs:include schemaLocation="FrameworkPlatformDataTypes.xsd"/>
<xs:include schemaLocation="FrameworkDataAttributes.xsd"/>
<xs:element name="Abstract">
<xs:annotation>
@ -516,6 +517,9 @@
</xs:complexType>
</xs:element>
<xs:element name="GuidDeclarations">
<xs:annotation>
<xs:documentation xml:lang="en">This is a child of PackageSurfaceArea (SPD) </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="unbounded" name="Entry">
@ -526,9 +530,9 @@
<xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>
<xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>
</xs:choice>
<xs:element minOccurs="0" maxOccurs="unbounded" name="FeatureFlag" type="C_Name"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="HelpText"/>
</xs:sequence>
<xs:attribute name="Name" type="xs:normalizedString" use="required"/>
<xs:attributeGroup ref="GuidDeclarationAttributes"/>
</xs:complexType>
</xs:element>
</xs:sequence>
@ -602,7 +606,6 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Hobs">
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="unbounded">
@ -872,21 +875,14 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Use in Final -->
<xs:element name="MsaFileList">
<xs:annotation>
<xs:documentation xml:lang="en">Surface Area Package Description (SPD) list of Module Surface Area files</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Filename">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:anyURI">
<xs:attributeGroup ref="ModuleNameSaAttributes"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Filename" type="PathAndFilename"/>
</xs:sequence>
</xs:complexType>
</xs:element>
@ -964,11 +960,23 @@
</xs:element>
<xs:element name="PackageHeaders">
<xs:annotation>
<xs:documentation xml:lang="en">This defines the minimum header file needed to support a given ModuleType.</xs:documentation>
<xs:documentation xml:lang="en">This is a child of PackageSurfaceArea (SPD) </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="unbounded" ref="IncludeHeader"/>
<xs:choice>
<!-- DO NOT USE! removing IncludeHeader, use IncludePkgHeader instead. -->
<xs:element minOccurs="0" maxOccurs="unbounded" ref="IncludeHeader"/>
<xs:element minOccurs="0" maxOccurs="unbounded" name="IncludePkgHeader">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="PathAndFilename">
<xs:attributeGroup ref="PackageHeaderAttributes"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
@ -1473,6 +1481,9 @@
</xs:complexType>
</xs:element>
<xs:element name="PpiDeclarations">
<xs:annotation>
<xs:documentation xml:lang="en">This is a child of PackageSurfaceArea (SPD) </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="unbounded" name="Entry">
@ -1480,12 +1491,13 @@
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/>
<xs:choice>
<!-- DO NOT USE removing Guid in final, use GuidValue instead -->
<xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>
<xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>
</xs:choice>
<xs:element minOccurs="0" maxOccurs="unbounded" name="FeatureFlag" type="xs:normalizedString"/>
<xs:element minOccurs="0" maxOccurs="1" ref="HelpText"/>
</xs:sequence>
<xs:attribute name="Name" type="xs:normalizedString" use="required"/>
<xs:attributeGroup ref="PpiDeclarationAttributes"/>
</xs:complexType>
</xs:element>
</xs:sequence>
@ -1545,16 +1557,22 @@
</xs:complexType>
</xs:element>
<xs:element name="ProtocolDeclarations">
<xs:annotation>
<xs:documentation xml:lang="en">This is a child of PackageSurfaceArea (SPD) </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="unbounded" name="Entry">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/>
<xs:element minOccurs="1" maxOccurs="1" ref="Guid"/>
<xs:element minOccurs="0" maxOccurs="unbounded" name="FeatureFlag" type="C_Name"/>
<xs:choice>
<xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>
<xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>
</xs:choice>
<xs:element minOccurs="0" maxOccurs="1" ref="HelpText"/>
</xs:sequence>
<xs:attribute name="Name" type="xs:normalizedString" use="required"/>
<xs:attributeGroup ref="ProtocolDeclarationAttributes"/>
</xs:complexType>
</xs:element>
</xs:sequence>

View File

@ -217,6 +217,19 @@
<xs:enumeration value="USER_DEFINED"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="GuidTypes">
<xs:restriction base="UCNameType">
<xs:enumeration value="DATA_HUB_RECORD"/>
<xs:enumeration value="EFI_EVENT"/>
<xs:enumeration value="EFI_SYSTEM_CONFIGURATION_TABLE"/>
<xs:enumeration value="EFI_VARIABLE"/>
<xs:enumeration value="HII_PACKAGE_LIST"/>
<xs:enumeration value="HOB"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="GuidListType">
<xs:list itemType="GuidTypes"/>
</xs:simpleType>
<xs:simpleType name="GuidUsage">
<xs:restriction base="NameConvention">
<xs:enumeration value="ALWAYS_CONSUMED"/>

View File

@ -19,6 +19,7 @@
<xs:include schemaLocation="FrameworkDataAttributes.xsd"/>
<xs:include schemaLocation="FrameworkDataTypes.xsd"/>
<xs:include schemaLocation="FrameworkDataElements.xsd"/>
<xs:include schemaLocation="FrameworkPlatformDataTypes.xsd"/>
<xs:element name="Capsule">
<xs:complexType>
<xs:sequence>
@ -343,62 +344,6 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="EfiFvAttributeType">
<xs:annotation>
<xs:documentation xml:lang="en">The list of EFI_FLASH_AREA Attributes</xs:documentation>
</xs:annotation>
<xs:restriction base="UCNameType">
<xs:enumeration value="EFI_FLASH_AREA_FV"/>
<xs:enumeration value="EFI_FLASH_AREA_MEMMAPPED_FV"/>
<xs:enumeration value="EFI_FLASH_AREA_SUBFV"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="EfiFvAreaType">
<xs:annotation>
<xs:documentation xml:lang="en">The list of valid EFI Area Types</xs:documentation>
</xs:annotation>
<xs:restriction base="UCNameType">
<xs:enumeration value="EFI_FLASH_AREA_EFI_VARIABLES"/>
<xs:enumeration value="EFI_FLASH_AREA_UNUSED"/>
<xs:enumeration value="EFI_FLASH_AREA_MAIN_BIOS"/>
<xs:enumeration value="EFI_FLASH_AREA_GUID_DEFINED"/>
<xs:enumeration value="EFI_FLASH_AREA_FTW_STATE"/>
<xs:enumeration value="EFI_FLASH_AREA_FTW_BACKUP"/>
<xs:enumeration value="EFI_FLASH_AREA_RECOVERY_BIOS"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="EfiNameGuidType">
<xs:annotation>
<xs:documentation xml:lang="en">Right now, only EFI_FLASH_MAP_HOB_GUID is defined</xs:documentation>
</xs:annotation>
<xs:restriction base="UCNameType">
<xs:enumeration value="EFI_FLASH_MAP_HOB_GUID"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="FlashSize">
<xs:restriction base="xs:string">
<xs:enumeration value="256KB"/>
<xs:enumeration value="512KB"/>
<xs:enumeration value="1MB"/>
<xs:enumeration value="2MB"/>
<xs:enumeration value="4MB"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="FvImageTypes">
<xs:restriction base="xs:NCName">
<xs:enumeration value="Attributes"/>
<xs:enumeration value="Options"/>
<xs:enumeration value="Components"/>
<xs:enumeration value="ValidImageNames"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="FvSubRegionTypes">
<xs:restriction base="UCNameType">
<xs:enumeration value="NV_VARIABLE_STORE"/>
<xs:enumeration value="MICROCODE"/>
<xs:enumeration value="NV_FTW_WORKING"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="Components">
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element ref="ModuleSA"/>
@ -465,47 +410,4 @@
<xs:element minOccurs="1" maxOccurs="1" name="NameGuid" type="EfiNameGuidType"/>
</xs:sequence>
</xs:complexType>
<xs:attributeGroup name="BlockAttributes">
<xs:attribute name="Name" type="BlockNameType" use="required"/>
<xs:attribute name="Size" type="HexAddressType" use="required"/>
<xs:attribute name="Flags" type="HexAddressType" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="FlashDeviceImageAttributes">
<xs:attribute name="Name" type="xs:string" use="required"/>
</xs:attributeGroup>
<xs:attributeGroup name="FlashDeviceImageFileAttributes">
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="Region" type="xs:string" use="required"/>
<xs:attribute name="SubRegion" type="xs:string" use="optional"/>
<xs:attribute name="Optional" type="xs:boolean" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="FlashDeviceInfoAttributes">
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="Size" type="HexAddressType" use="required"/>
<xs:attribute name="BaseAddress" type="HexAddressType" use="required"/>
<xs:attribute name="ErasePolarity" type="Polarity" use="required"/>
</xs:attributeGroup>
<xs:attributeGroup name="RawDataAttributes">
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="Region" type="xs:string" use="required"/>
<xs:attribute name="SubRegion" type="xs:string" use="required"/>
</xs:attributeGroup>
<xs:attributeGroup name="RegionAttributes">
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="Size" type="HexAddressType" use="required"/>
<xs:attribute name="Flags" type="HexAddressType" use="optional"/>
<xs:attribute name="Alignment" type="HexAddressType" use="optional"/>
<xs:attribute name="Attributes" type="xs:string" use="required"/>
<xs:attribute name="AreaType" type="EfiFvAreaType" use="required"/>
</xs:attributeGroup>
<xs:attributeGroup name="SubRegionAttributes">
<xs:attribute name="CreateHob" type="xs:boolean" use="required"/>
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="Size" type="HexAddressType" use="required"/>
<xs:attribute name="Attributes" type="xs:string" use="required"/>
<xs:attribute name="AreaType" type="EfiFvAreaType" use="required"/>
<xs:attribute name="NameGuid" type="xs:string" use="required"/>
<xs:attribute name="AreaTypeGuid" type="xs:string" use="optional"/>
<xs:attribute name="FileSystemGuid" type="xs:string" use="optional"/>
</xs:attributeGroup>
</xs:schema>

View File

@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://www.TianoCore.org/2006/Edk2.0" targetNamespace="http://www.TianoCore.org/2006/Edk2.0">
<!--
Filename: FrameworkPlatformDataTypes.xsd
Copyright (c) 2006, Intel Corp.
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which may be found at http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-->
<xs:annotation>
<xs:documentation xml:lang="en"> This schema defines EFI and Framework Platform Data Types.</xs:documentation>
</xs:annotation>
<xs:include schemaLocation="NamingConvention.xsd"/>
<xs:include schemaLocation="FrameworkDataAttributes.xsd"/>
<xs:include schemaLocation="FrameworkDataTypes.xsd"/>
<xs:simpleType name="EfiFvAttributeType">
<xs:annotation>
<xs:documentation xml:lang="en">The list of EFI_FLASH_AREA Attributes</xs:documentation>
</xs:annotation>
<xs:restriction base="UCNameType">
<xs:enumeration value="EFI_FLASH_AREA_FV"/>
<xs:enumeration value="EFI_FLASH_AREA_MEMMAPPED_FV"/>
<xs:enumeration value="EFI_FLASH_AREA_SUBFV"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="EfiFvAreaType">
<xs:annotation>
<xs:documentation xml:lang="en">The list of valid EFI Area Types</xs:documentation>
</xs:annotation>
<xs:restriction base="UCNameType">
<xs:enumeration value="EFI_FLASH_AREA_EFI_VARIABLES"/>
<xs:enumeration value="EFI_FLASH_AREA_UNUSED"/>
<xs:enumeration value="EFI_FLASH_AREA_MAIN_BIOS"/>
<xs:enumeration value="EFI_FLASH_AREA_GUID_DEFINED"/>
<xs:enumeration value="EFI_FLASH_AREA_FTW_STATE"/>
<xs:enumeration value="EFI_FLASH_AREA_FTW_BACKUP"/>
<xs:enumeration value="EFI_FLASH_AREA_RECOVERY_BIOS"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="EfiNameGuidType">
<xs:annotation>
<xs:documentation xml:lang="en">Right now, only EFI_FLASH_MAP_HOB_GUID is defined</xs:documentation>
</xs:annotation>
<xs:restriction base="UCNameType">
<xs:enumeration value="EFI_FLASH_MAP_HOB_GUID"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="FlashSize">
<xs:restriction base="xs:string">
<xs:enumeration value="256KB"/>
<xs:enumeration value="512KB"/>
<xs:enumeration value="1MB"/>
<xs:enumeration value="2MB"/>
<xs:enumeration value="4MB"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="FvImageTypes">
<xs:restriction base="xs:NCName">
<xs:enumeration value="Attributes"/>
<xs:enumeration value="Options"/>
<xs:enumeration value="Components"/>
<xs:enumeration value="ValidImageNames"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="FvSubRegionTypes">
<xs:restriction base="UCNameType">
<xs:enumeration value="NV_VARIABLE_STORE"/>
<xs:enumeration value="MICROCODE"/>
<xs:enumeration value="NV_FTW_WORKING"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>

View File

@ -178,7 +178,9 @@
<xs:element minOccurs="0" maxOccurs="1" ref="IndustryStdIncludes"/>
<!-- DO NOT USE removing PackageDependencies, this is moving to FDP installation process -->
<xs:element minOccurs="0" maxOccurs="1" ref="PackageDependencies"/>
<!-- DO NOT USE removing MsaFiles, use MsaFileList instead , do not wrap in choice, too many entries to convert all at once. -->
<xs:element minOccurs="0" maxOccurs="1" ref="MsaFiles"/>
<xs:element minOccurs="0" maxOccurs="1" ref="MsaFileList"/>
<xs:element minOccurs="0" maxOccurs="1" ref="PackageHeaders"/>
<xs:element minOccurs="0" maxOccurs="1" ref="GuidDeclarations"/>
<xs:element minOccurs="0" maxOccurs="1" ref="ProtocolDeclarations"/>