+ <xs:element name="DynamicPcdBuildDefinitions">\r
+ <xs:annotation>\r
+ <xs:documentation xml:lang="en">Child of Framework Platform Description (FPD)</xs:documentation>\r
+ <xs:documentation xml:lang="en">FPD uses this PCD information for Dynamic PCDs Only</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="PcdBuildData">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="Token" type="HexDoubleWordDataType"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" name="TokenSpaceGuid" type="GuidType"/>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDataTypes"/>\r
+ <xs:group minOccurs="0" maxOccurs="1" ref="SkuGroup"/>\r
+ <xs:choice minOccurs="0" maxOccurs="1">\r
+ <xs:group minOccurs="0" maxOccurs="1" ref="HiiGroup"/>\r
+ <xs:group minOccurs="0" maxOccurs="1" ref="VpdGroup"/>\r
+ </xs:choice>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="DatumSize" type="DatumSizeLimitation"/>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="Value" type="xs:normalizedString"/>\r
+ </xs:sequence>\r
+ <xs:attributeGroup ref="PcdAttributes"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="PcdBuildDefinition">\r
+ <xs:annotation>\r
+ <xs:documentation xml:lang="en">Child of FPD ModuleSA element for FIXED_AT_BUILD, PATCHABLE_IN_MODULE, and FEATURE_FLAG PCDS Only!</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence minOccurs="1">\r
+ <xs:element maxOccurs="unbounded" name="PcdData">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="Token" type="HexDoubleWordDataType"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" name="TokenSpaceGuid" type="GuidType"/>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDataTypes"/>\r
+ <xs:group minOccurs="0" maxOccurs="1" ref="SkuGroup"/>\r
+ <xs:choice minOccurs="0" maxOccurs="1">\r
+ <xs:group minOccurs="0" maxOccurs="1" ref="HiiGroup"/>\r
+ <xs:group minOccurs="0" maxOccurs="1" ref="VpdGroup"/>\r
+ </xs:choice>\r
+ <xs:element minOccurs="0" maxOccurs="1" name="DatumSize" type="DatumSizeLimitation"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" name="Value" type="xs:normalizedString"/>\r
+ </xs:sequence>\r
+ <xs:attributeGroup ref="PcdAttributes"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:group name="HiiGroup">\r
+ <xs:annotation>\r
+ <xs:documentation xml:lang="en">If HiiGroup is specified, then HiiEnable is default true</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="0" maxOccurs="1" name="VariableName" type="xs:normalizedString"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" name="VariableGuid" type="VariableGuidType"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" name="VariableOffset" type="Hex64BitDataType"/>\r
+ </xs:sequence>\r
+ </xs:group>\r
+ <xs:group name="VpdGroup">\r
+ <xs:sequence>\r
+ <xs:element minOccurs="0" maxOccurs="1" name="VpdOffset" type="Hex64BitDataType"/>\r
+ </xs:sequence>\r
+ </xs:group>\r
+ <xs:group name="SkuGroup">\r
+ <xs:sequence>\r
+ <xs:element default="0x00" minOccurs="0" maxOccurs="1" name="SkuSet" type="SkuListType"/>\r
+ <xs:element default="0x00" minOccurs="0" maxOccurs="1" name="SkuList" type="SkuListType"/>\r
+ <xs:element default="false" minOccurs="0" maxOccurs="1" name="SkuDataArrayEnable" type="xs:boolean"/>\r
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="SkuData">\r
+ <xs:complexType>\r
+ <xs:sequence minOccurs="1">\r
+ <xs:element name="Id" type="xs:int"/>\r
+ <xs:element name="Value" type="xs:normalizedString"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ </xs:sequence>\r
+ </xs:group>\r
+ <xs:element name="PcdCoded">\r
+ <xs:annotation>\r
+ <xs:documentation xml:lang="en">Child of Module Surface Area Description (MSA)</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence minOccurs="1">\r
+ <xs:element maxOccurs="unbounded" name="PcdEntry">\r
+ <xs:annotation>\r
+ <xs:documentation xml:lang="en">This is the valid content of the PCD table of a Module. The contents may not be wired at build time, and these only refer to Platform Build values, not modules.</xs:documentation>\r
+ <xs:documentation xml:lang="en">This element is valid for PcdInfo.xml and FPD files.</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" name="DefaultValue" type="DefaultValue"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
+ </xs:sequence>\r
+ <!-- MSA file declares a single usage, and must match one of the entries in what the SPD file declares as the set of possible Item Types. -->\r
+ <xs:attribute name="PcdItemType" type="PcdItemTypes" use="required"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r