- <xs:element minOccurs="1" maxOccurs="unbounded" name="Entry">\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:sequence>\r
- <xs:attribute name="Name" type="xs:normalizedString" use="required"/>\r
- </xs:complexType>\r
- </xs:element>\r
- </xs:sequence>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="Protocols">\r
- <xs:annotation>\r
- <xs:documentation xml:lang="en">If either Protocol or ProtocolNotify sections are needed, one or more of them should be specified within this section</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence minOccurs="1" maxOccurs="unbounded">\r
- <xs:element minOccurs="0" maxOccurs="unbounded" name="Protocol">\r
- <xs:complexType>\r
- <xs:simpleContent>\r
- <xs:extension base="C_Name">\r
- <xs:attributeGroup ref="ProtocolAttributes"/>\r
- </xs:extension>\r
- </xs:simpleContent>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element minOccurs="0" maxOccurs="unbounded" name="ProtocolNotify">\r
- <xs:complexType>\r
- <xs:simpleContent>\r
- <xs:extension base="C_Name">\r
- <xs:attributeGroup ref="ProtocolNotifyAttributes"/>\r
- </xs:extension>\r
- </xs:simpleContent>\r
- </xs:complexType>\r
- </xs:element>\r
- <!-- DO NOT USE! removing Arch element, use Arch attribute of Protocol or ProtocolNotify instead. -->\r
- <xs:element minOccurs="0" maxOccurs="unbounded" name="Arch">\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element minOccurs="0" maxOccurs="unbounded" name="Protocol">\r
- <xs:complexType>\r
- <xs:simpleContent>\r
- <xs:extension base="C_Name">\r
- <xs:attributeGroup ref="ProtocolAttributes"/>\r
- </xs:extension>\r
- </xs:simpleContent>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element minOccurs="0" maxOccurs="unbounded" name="ProtocolNotify">\r
- <xs:complexType>\r
- <xs:simpleContent>\r
- <xs:extension base="C_Name">\r
- <xs:attributeGroup ref="ProtocolNotifyAttributes"/>\r
- </xs:extension>\r
- </xs:simpleContent>\r
- </xs:complexType>\r
- </xs:element>\r
- </xs:sequence>\r
- <xs:attribute name="ArchType" type="SupportedArchitectures"/>\r
- </xs:complexType>\r
- </xs:element>\r
- </xs:sequence>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element default="false" name="ReadOnly" type="xs:boolean"/>\r
- <xs:element default="false" name="RePackage" type="xs:boolean"/>\r
- <xs:element name="Sections">\r
- <xs:annotation>\r
- <xs:documentation xml:lang="en">Sections refers to the Firmware Filesystem sections, PE32, UI, VER, DXS, etc. and how they are made</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence minOccurs="1">\r
- <xs:element minOccurs="0" maxOccurs="unbounded" name="Section">\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element minOccurs="0" ref="Filenames"/>\r
- <xs:element minOccurs="0" name="Args" type="ArgsType"/>\r
- <xs:element minOccurs="0" name="OutFile" type="FileNameConvention"/>\r
- <xs:element minOccurs="0" name="OutputFileExtension" type="xs:string"/>\r
- <xs:element minOccurs="0" name="ToolName" type="ToolType"/>\r
- </xs:sequence>\r
- <xs:attributeGroup ref="SectionAttributes"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element minOccurs="0" maxOccurs="unbounded" name="Sections">\r
- <xs:complexType>\r
- <xs:sequence minOccurs="1" maxOccurs="unbounded">\r
- <xs:element name="Section">\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element minOccurs="0" ref="Filenames"/>\r
- <xs:element minOccurs="0" name="Args" type="ArgsType"/>\r
- <xs:element minOccurs="0" name="OutFile" type="FileNameConvention"/>\r
- <xs:element minOccurs="0" name="OutputFileExtension" type="xs:string"/>\r
- <xs:element minOccurs="0" name="ToolName" type="ToolType"/>\r
- </xs:sequence>\r
- <xs:attributeGroup ref="SectionAttributes"/>\r
- </xs:complexType>\r
- </xs:element>\r
- </xs:sequence>\r
- <xs:attributeGroup ref="SectionsAttributes"/>\r
- </xs:complexType>\r
- </xs:element>\r
- </xs:sequence>\r
- <xs:attributeGroup ref="SectionsAttributes"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="SetVirtualAddressMapCallBack" type="C_Name"/>\r
- <xs:element name="SourceFiles">\r
- <xs:annotation>\r
- <xs:documentation xml:lang="en">Multiple Filenames may be specified, and they may also be scoped to a specific Architecture.</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence minOccurs="1">\r
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="Filename"/>\r
- <!-- DO NOT USE! removing Arch element, use Arch Attribute of Filename instead. -->\r
- <xs:element minOccurs="0" maxOccurs="unbounded" name="Arch">\r
- <xs:complexType>\r
- <xs:sequence minOccurs="1">\r
- <xs:element maxOccurs="unbounded" ref="Filename"/>\r
- </xs:sequence>\r
- <xs:attribute name="ArchType" type="SupportedArchitectures"/>\r
- </xs:complexType>\r
- </xs:element>\r
- </xs:sequence>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="Specification">\r
- <xs:annotation>\r
- <xs:documentation xml:lang="en">This string is used to provide the name and version of the Specification that the component conforms to.</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="TokenSpaceGuidCName" type="C_NameType"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" name="DefaultValue" type="DefaultValueType"/>\r
+ <xs:element minOccurs="1" 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:attributeGroup ref="PcdCodedAttributes"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <!-- LAH This is PcdDeclarations FINAL version -->\r
+ <xs:element name="PcdDeclarations">\r
+ <xs:annotation>\r
+ <xs:documentation xml:lang="en">PcdDeclaratins is a child of Package Surface Area Description (SPD)</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence minOccurs="1">\r
+ <xs:element maxOccurs="unbounded" name="PcdEntry">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="Token" type="TokenDataType"/>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="TokenSpaceGuidCName" type="C_NameType"/>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDataTypes"/>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="ValidUsage" type="PcdListType"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" name="DefaultValue" type="DefaultValueType"/>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
+ </xs:sequence>\r
+ <xs:attributeGroup ref="PcdDeclarationAttributes"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="FarList">\r
+ <!-- Valid for DB usage only! -->\r
+ <xs:annotation>\r
+ <xs:documentation xml:lang="en">This tag is used in the Framework Package Database File to track all DISTRIBUTION packages (FAR files) installed in a workspace. (Database)</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename" type="DbPathAndFilename"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="FfsFormatDeclarations">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="1" maxOccurs="unbounded" name="FfsFormatDeclaration">\r
+ <!-- Required Attributes are the FfsFormatKeyword and SupModuleList -->\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="1" maxOccurs="unbounded" ref="ProcessStep"/>\r
+ </xs:sequence>\r
+ <xs:attributeGroup ref="FfsAttributes"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="PpiDeclarations">\r
+ <xs:annotation>\r
+ <xs:documentation xml:lang="en">PpiDeclarations is a child of PackageSurfaceArea (SPD) </xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="1" maxOccurs="unbounded" name="Entry">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="GuidValue" type="GuidType"/>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
+ </xs:sequence>\r
+ <xs:attributeGroup ref="PpiDeclarationAttributes"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="PPIs">\r
+ <xs:annotation>\r
+ <xs:documentation xml:lang="en">Provide for one or more Ppi or PpiNotify sections. </xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence minOccurs="1">\r
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="Ppi">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="PpiCName" type="C_NameType"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
+ </xs:sequence>\r
+ <xs:attributeGroup ref="PpiAttributes"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="PpiNotify">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="PpiNotifyCName" type="C_NameType"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
+ </xs:sequence>\r
+ <xs:attributeGroup ref="PpiNotifyAttributes"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="ProtocolDeclarations">\r
+ <xs:annotation>\r
+ <xs:documentation xml:lang="en">ProtocolDeclarations is a child of PackageSurfaceArea (SPD) </xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="1" maxOccurs="unbounded" name="Entry">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="GuidValue" type="GuidType"/>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
+ </xs:sequence>\r
+ <xs:attributeGroup ref="ProtocolDeclarationAttributes"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="Protocols">\r
+ <xs:annotation>\r
+ <xs:documentation xml:lang="en">If either Protocol or ProtocolNotify sections are needed, one or more of them should be specified within this section</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="Protocol">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="ProtocolCName" type="C_NameType"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
+ </xs:sequence>\r
+ <xs:attributeGroup ref="ProtocolAttributes"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="ProtocolNotify">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="ProtocolNotifyCName" type="C_NameType"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
+ </xs:sequence>\r
+ <xs:attributeGroup ref="ProtocolNotifyAttributes"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="ProcessStep">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="ToolName" type="xs:string"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" name="ToolArgs" type="xs:string"/>\r
+ <!-- Input patterns to be processed by the tool above -->\r
+ <xs:element minOccurs="0" maxOccurs="1" name="InputPattern" type="xs:string"/>\r
+ <!-- A pattern to match for the output -->\r
+ <xs:element minOccurs="1" maxOccurs="1" name="OutputPattern" type="xs:string"/>\r
+ </xs:sequence>\r
+ <xs:attributeGroup ref="ProcessStepAttributes"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="SourceFiles">\r
+ <xs:annotation>\r
+ <xs:documentation xml:lang="en">Multiple Filenames may be specified, and they may also be scoped to a specific Architecture.</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="1" maxOccurs="unbounded" ref="Filename"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="SkuInfo">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="1" maxOccurs="unbounded" name="UiSkuName">\r
+ <xs:complexType>\r