<xs:documentation xml:lang="en"> This schema defines EFI and Framework Platform Data Elements that are specific to platform creation.</xs:documentation>\r
</xs:annotation>\r
<xs:include schemaLocation="NamingConvention.xsd"/>\r
+ <xs:include schemaLocation="FrameworkDataAttributes.xsd"/>\r
<xs:include schemaLocation="FrameworkDataTypes.xsd"/>\r
<xs:include schemaLocation="FrameworkDataElements.xsd"/>\r
<xs:element name="Capsule">\r
</xs:complexType>\r
</xs:element>\r
</xs:sequence>\r
- <xs:attributeGroup ref="BlockAttributes"/>\r
+ <xs:attributeGroup ref="FlashDeviceInfoAttributes"/>\r
</xs:complexType>\r
</xs:element>\r
<xs:element name="FlashDeviceOverrideImage">\r
<xs:element minOccurs="1" maxOccurs="unbounded" ref="FvImageNames"/>\r
<xs:element minOccurs="0" maxOccurs="1" ref="FvImageOptions"/>\r
</xs:sequence>\r
- <xs:attribute name="Type" type="xs:string" use="optional"/>\r
+ <xs:attribute name="Type" type="FvImageTypes" use="optional"/>\r
</xs:complexType>\r
</xs:element>\r
<xs:element name="FvImageName">\r
<xs:attribute name="Name" type="FvRegionTypes" use="required"/>\r
</xs:complexType>\r
</xs:element>\r
- <xs:element name="FvImageNames" type="xs:string"/>\r
+ <xs:element name="FvImageNames" type="xs:NCName"/>\r
<xs:element name="FvImageOptions">\r
<xs:annotation>\r
<xs:documentation xml:lang="en">This element is used specify different name value pairs.</xs:documentation>\r
</xs:annotation>\r
<xs:complexType>\r
<xs:sequence minOccurs="1">\r
- <xs:element minOccurs="0" maxOccurs="1" ref="SourceFiles"/> <!-- DO NOT USE! REMOVE in FINAL -->\r
- <xs:element minOccurs="0" maxOccurs="1" ref="Includes"/> <!-- DO NOT USE! REMOVE in FINAL -->\r
+ <!-- DO NOT USE! REMOVE SourceFiles in FINAL -->\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="SourceFiles"/>\r
+ <!-- DO NOT USE! REMOVE Includes in FINAL -->\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="Includes"/>\r
+ <!-- Libraries stays in FINAL -->\r
<xs:element minOccurs="0" maxOccurs="1" ref="Libraries"/>\r
- <xs:element minOccurs="0" maxOccurs="1" ref="Protocols"/> <!-- DO NOT USE! REMOVE in FINAL -->\r
- <xs:element minOccurs="0" maxOccurs="1" ref="Events"/> <!-- DO NOT USE! REMOVE in FINAL -->\r
- <xs:element minOccurs="0" maxOccurs="1" ref="Hobs"/> <!-- DO NOT USE! REMOVE in FINAL -->\r
- <xs:element minOccurs="0" maxOccurs="1" ref="PPIs"/> <!-- DO NOT USE! REMOVE in FINAL -->\r
- <xs:element minOccurs="0" maxOccurs="1" ref="Variables"/> <!-- DO NOT USE! REMOVE in FINAL -->\r
- <xs:element minOccurs="0" maxOccurs="1" ref="BootModes"/> <!-- DO NOT USE! REMOVE in FINAL -->\r
- <xs:element minOccurs="0" maxOccurs="1" ref="SystemTables"/> <!-- DO NOT USE! REMOVE in FINAL -->\r
- <xs:element minOccurs="0" maxOccurs="1" ref="DataHubs"/> <!-- DO NOT USE! REMOVE in FINAL -->\r
- <xs:element minOccurs="0" maxOccurs="1" ref="Formsets"/> <!-- DO NOT USE! REMOVE in FINAL -->\r
- <xs:element minOccurs="0" maxOccurs="1" ref="Guids"/> <!-- DO NOT USE! REMOVE in FINAL -->\r
+ <!-- DO NOT USE! REMOVE Protocols in FINAL -->\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="Protocols"/>\r
+ <!-- DO NOT USE! REMOVE Events in FINAL -->\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="Events"/>\r
+ <!-- DO NOT USE! REMOVE Hobs in FINAL -->\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="Hobs"/>\r
+ <!-- DO NOT USE! REMOVE PPIs in FINAL -->\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="PPIs"/>\r
+ <!-- DO NOT USE! REMOVE Variables in FINAL -->\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="Variables"/>\r
+ <!-- DO NOT USE! REMOVE BootModes in FINAL -->\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="BootModes"/>\r
+ <!-- DO NOT USE! REMOVE SystemTables in FINAL -->\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="SystemTables"/>\r
+ <!-- DO NOT USE! REMOVE DataHubs in FINAL -->\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="DataHubs"/>\r
+ <!-- DO NOT USE! REMOVE Formsets in FINAL -->\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="Formsets"/>\r
+ <!-- DO NOT USE! REMOVE Guids in FINAL -->\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="Guids"/>\r
+ <!-- EXTERNS stays in FINAL -->\r
<xs:element minOccurs="0" maxOccurs="1" ref="Externs"/>\r
- <xs:element minOccurs="0" maxOccurs="1" ref="PcdBuildDeclarations"/>\r
+ <xs:choice>\r
+ <!-- DO NOT USE! REMOVE PcdBuildDeclarations in FINAL -->\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="PcdBuildDeclarations"/>\r
+ <!-- PcdBuildDefinition stays in FINAL -->\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="PcdBuildDefinition"/>\r
+ </xs:choice>\r
+ <!-- BuildOptions stays in FINAL -->\r
<xs:element minOccurs="0" maxOccurs="1" ref="BuildOptions"/>\r
</xs:sequence>\r
<xs:attributeGroup ref="MsaAttributes"/>\r
<xs:enumeration value="4MB"/>\r
</xs:restriction>\r
</xs:simpleType>\r
+ <xs:simpleType name="FvImageTypes">\r
+ <xs:restriction base="xs:NCName">\r
+ <xs:enumeration value="Attributes"/>\r
+ <xs:enumeration value="Options"/>\r
+ <xs:enumeration value="Components"/>\r
+ <xs:enumeration value="ValidImageNames"/>\r
+ </xs:restriction>\r
+ </xs:simpleType>\r
<xs:simpleType name="FvSubRegionTypes">\r
<xs:restriction base="UCNameType">\r
<xs:enumeration value="NV_VARIABLE_STORE"/>\r
<xs:attribute name="Name" type="xs:string" use="required"/>\r
<xs:attribute name="Size" type="HexAddressType" use="required"/>\r
<xs:attribute name="BaseAddress" type="HexAddressType" use="required"/>\r
- <xs:attribute name="ErasePolarity" type="ZeroOrOne" use="required"/>\r
+ <xs:attribute name="ErasePolarity" type="Polarity" use="required"/>\r
</xs:attributeGroup>\r
<xs:attributeGroup name="RawDataAttributes">\r
<xs:attribute name="Name" type="xs:string" use="required"/>\r