X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=Tools%2FXMLSchema%2FFrameworkDataElements.xsd;h=db1a585f8a6d06a74ac8d57b87b1fc422911d2e7;hp=d43cd96bbd4cbb1c7f03ed4c3592f7c2c88421ce;hb=9ee538d48dc24412b6548a8cc63e8187727bd29f;hpb=b1d9f2a3cb7835d73851ab7ff37d920e3c702c35 diff --git a/Tools/XMLSchema/FrameworkDataElements.xsd b/Tools/XMLSchema/FrameworkDataElements.xsd index d43cd96bbd..db1a585f8a 100644 --- a/Tools/XMLSchema/FrameworkDataElements.xsd +++ b/Tools/XMLSchema/FrameworkDataElements.xsd @@ -1,6 +1,6 @@ - + + This schema defines EFI and Framework Data Elements + + + + + + - This schema defines EFI and Framework Data Elements + Abstract is valid for all Description Files + This section is required. This is a single sentence to describe the module and will be used in sample files as the abstract data in the header comment section. - - - - - - - Abstract is valid for all Description Files - This section is required. This is a single sentence to describe the module and will be used in sample files as the abstract data in the header comment section. - - - - - This is a sub-element of AntTask - This is an ant command that will be inserted into a biuld sequence. Since ant commands are valid XML statements, special care must be taken to use the correct tokens for reserved words and escape quote characters. - - - - - - - - - - - - - - - This is a sub-element of UserDefinedAntTasks - Define a file that contains one or more ant tasks that are to be added into or replacing of sequences of build steps. These files will be called using the ant-call task on a file name. These files must be valid apache-ant formatted task files. - - - - - - - - - - - - BaseName is valid for all Description Files - We need to be able to permit different attributes for every basename - - - - - - - - - - - - BootModes is valid for all Description Files - This is a list of BootModes Supported by the Module - - - - - - - - - - - - - - - - - BuildOptions is valid for MBD and FPD files. - Specific Build Options, by Tool Chain, than should be applied, overriding any global options - - + + + + This is a sub-element of UserDefinedAntTasks + Define a file that contains one or more ant tasks that are to be added into or replacing of sequences of build steps. These files will be called using the ant-call task on a file name. These files must be valid apache-ant formatted task files. + + + + + + + + + + + + BootModes is valid for all Description Files + This is a list of BootModes Supported by the Module + + + + + + + + + + + + + + + + + BuildOptions is valid for FPD files. + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C_Name is valid for all Description Files - - - - - ComponentName is valid for all Description Files - - - - - Describe the valid Framework Component Type - - - - - - A conditional expression that must be evaluated to determine whether a feature is implemented or not. The expression must be either numeric, string or boolean. - - - - - - - - - - - - - - - - This is a list of DataHubRecord elements. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The Name of the Database, "FrameworkDatabase" - - - - - - - - - - - - The default setting of a PCD entry. - - - - - - - - - - This section is required for new modules and libraries and must contain more information than the Abstract. - - - - - - - - - - This is a list of MSA Events - - + + + + + + + + + + + + + + + This is a list of DataHubRecord elements. + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Module has an event that is waiting to be signaled. Event is named by GUID. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This is a child of MSA files. - - - - - - - - - - - Driver Module - - - - - - - Library Module - - - - - - - Allow multiple entries for DriverBinding, ComponentName, DriverConfig and DriverDiag elements. For ComponentName, DriverConfig and/or DriverDiag - you must have a 1:1 mapping to DriverBinding if the element is defined. - Permit User Defined Extern Tags - - - - - - - - - Module Call Backs - - - - - - - - - - - - - - - - - - - Driver Module - - - - - - - Library Module - - - - - - - Allow multiple entries for DriverBinding, ComponentName, DriverConfig and DriverDiag elements. For ComponentName, DriverConfig and/or DriverDiag - you must have a 1:1 mapping to DriverBinding if the element is defined. - Permit User Defined Extern Tags - - - - - - - - - Module Call Backs - - - - - - - - - - - - - - - - - - - Define the FFS File attributes within a sections and containing sections information - - + + + + + + + + + + + + The default setting of a PCD entry. + + + + + + + + + + This section is required for new modules and libraries and must contain more information than the Abstract. + + + + + Child of Framework Platform Description (FPD) + FPD uses this PCD information for Dynamic PCDs Only + + + + + - - - - - - - - - - - - - - - Describe the valid content of a filename This should extend PathAndFilename - Variable names not allowed here! - - - - - - - - - - - - This is a list of Filenames - - - - - - - - - - - - - - - - - - - Describe the list of a Formset elements - - - - - - - - - - - - - - - - - - - Describe the valid content of a Formset - - - - - - - - - - - - - - - - - - - Describe the valid content of a GUID - - - - - - - - - - - - This is a child of PackageSurfaceArea (SPD) - - + + + + + + + + + + + + + + + + + + + + + + + + + + + This is a list of MSA Events + + + + + - - - - - - - - - - - - - - - - - - - - - - Describe the valid content of a GUID element in and MSA file. - - - - - - - - - - - - Describe the valid content of a GUID element in and MSA file. - - - - - - - - - - - - - - - - - - - - - - - - - Describe the valid content of a PCD GUID element - - - - - - - - - - - - - - - - - - - - - - - - - - Describe the list of a HiiPackage elements - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - One or More Package Names or Arch sections is required. Includes are not files, but paths to where header files are located. - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + Module has an event that is waiting to be signaled. Event is named by GUID. + + - - - - - - + + + + + + + + + + + + + + + + + + This is a child of MSA files. + + + + + + + + + + + + Driver Module + + + + + + + Library Module + + + + + + + Allow multiple entries for DriverBinding, ComponentName, DriverConfig and DriverDiag elements. For ComponentName, DriverConfig and/or DriverDiag - you must have a 1:1 mapping to DriverBinding if the element is defined. + Permit User Defined Extern Tags + + + + + + + + + Module Call Backs + + + + + + + + + + + + + + Describe the valid content of a filename This should extend PathAndFilename - Variable names not allowed here! + + + + + + + + + + + + This is a list of Filenames + + + + + + + + + + This is a child of PackageSurfaceArea (SPD) + + + + + - - - - - - - - - - - Different (Module) Instances of Libraries used ONLY in FPD Files. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Used in MSA files. This defines what class of library is being supported = produced (library module) or consumed by a module. - - + + + + + + + + + + + + + + + + Describe the valid content of a GUID element in and MSA file. + + - - - - - - - - - - This element defines a class of library, along with the path to the Include Header for this library - - + + + + + + + + + + + + Describe the list of a HiiPackage elements + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - This section defines what Classes of Library that this library supports. A Library may belong to multiple different library classes. - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Different (Module) Instances of Libraries used ONLY in FPD Files. + + + + + + + + + + + + + + Used in MSA files. This defines what class of library is being supported = produced (library module) or consumed by a module. + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - This is record format for a Module entry in the Framework Database file. - - - - This describes the fields in an Module record in the Framework Database. The Path field is relative to the workspace to Module Surface Area (MSA) files. - + + + + + + + + + + + + This section defines what Classes of Library that this library supports. A Library may belong to multiple different library classes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - This tag is used in the Framework Package Database File to track package installation - - - - - - - - - - This is the valid content of a Module Name - - - - - - - - - - - - Describe the valid EFI Phase that the Module is designed to execute under. - - - - - - - - - - Surface Area Package Description (SPD) list of Module Surface Area files - - - - - - - - - - - - - - - - Describe the valid content of a Surface Area Package Description (SPD) file - - - - - - - - - - - - - - - - - - - - - - Surface Area Package Description (SPD) list of Module Surface Area files - - + + + + + + + + + + + + + + + + + + + + + + + Describe the valid EFI Phase that the Module is designed to execute under. + + + + + + MsaFiles is a child of Surface Area Package Description (SPD) files + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - Define where we want our output to go. The Attribute, IntermediateDirectories, default MODULE, says that intermediate files will be local to the module, versus a unified directory structure. - - + + + + + + + + + + + + + + + + + + + + + This tag is used in the Module Surface Area Description File (MSA) to track package dependencies for a module. + Attributes to PackageName include Required: Usage PackageGuid PackageVesion, Optional: FeatureFlag + + + + + + + + + + + + + + PackageHeaders is a child of PackageSurfaceArea (SPD) + + + + + - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - + + + + + + + + + This tag is used in the Framework Package Database File to track all packages (SPD files) installed in a workspace. (Database) + + + + + + + + + + + Child of FPD ModuleSA element for FIXED_AT_BUILD, PATCHABLE_IN_MODULE, and FEATURE_FLAG PCDS Only! + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + If HiiEnable group is specified, then HiiEnable is default true + + + + + + + + + + + If VpdEnable group is specified, then VpdEnable is default true + + + + + + + + Child of Module Surface Area Description (MSA) + + + + + - - - - - - - - - Child of Module Surface Area documents, MSA and MBD files, Library Modules and Other Modules - One or more PcdData or PcdBuildData Elements Only one type is permitted - - - - - - This is a child of PCDs and can occur in the MSA and MBD files. - This is date element is used in the Module Surface Area (MSA) file and contains references to be used by a Platform Build - There is ONE required Attribute, ItemType - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This tag is used in the Package Surface Area Description File (SPD) to track package dependencies for a module - - - - - - - - - - - - - - This is a child of PackageSurfaceArea (SPD) - - + + + + + + + + + + + + + + + + PcdDeclaratins is a child of Package Surface Area Description (SPD) + + + + + - - - - - - - - - - - - - - - - - - - This tag is used in the Framework Package Database File to track all packages installed in a workspace. (Database) - - - - - - This tag is used in the Framework Package Database File to track individual package information. The Path is a relative path to the SPD File. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This tag is used in the Package Surface Area Description File to track package dependencies for a module (SPD) - - - - - - - - This tag is used in the Package Surface Area Description File to track package dependencies for a module (SPD) - - - - - - - - - - - - - Describe the valid content of a filename - - - - - - - - - - - - Child of Framework Platform Description (FPD) - FPD uses this PCD information for Dynamic PCDs Only - - + + + + + + + + + + + + + + + + + + This tag is used in the Framework Package Database File to track all DISTRIBUTION packages (FAR files) installed in a workspace. (Database) + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Child of FPD ModuleSA element for FIXED_AT_BUILD, PATCHABLE_IN_MODULE, and FEATURE_FLAG PCDS Only! - - + + + + + + + + + + + PpiDeclarations is a child of PackageSurfaceArea (SPD) + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - If HiiEnable group is specified, then HiiEnable is default true - - - - - - - - - - - If VpdEnable group is specified, then VpdEnable is default true - - - - - - - - Child of Module Surface Area Description (MSA) - - + + + + + + + + + + + + + Provide for one or more Ppi or PpiNotify sections. + + + + + - - - 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. - This element is valid for PcdInfo.xml and FPD files. - - - - - - - - - - - - - - - - - - Child of Package Surface Area Description (SPD) - This section is for entering information about a package's PCDs - - - - - - - - - - - - - - - - - - - - - - - - Child of Package Surface Area Description (SPD) - This permits entering information about a package's PCD information - - - - - - 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. - This element is valid for PcdInfo.xml and FPD files. - There is ONE required Attribute, ItemType - - - - - - - - - - - - - - - - - Max Number of Bytes of the data. - - - - - - - - - - - - - - - - - - - - - - - Database Entry to locate the Platform Build Tips - path to FPD file. - - + + + + + + + + - - - Define the Name of a Platform - - - - - - - - - - - - - - - - - - - - - - - - This is a child of PackageSurfaceArea (SPD) - - + + + + + + + + + + + + ProtocolDeclarations is a child of PackageSurfaceArea (SPD) + + + + + - - - - - - - - - - - - - - - - - - - - Provide for one or more Ppi or PpiNotify sections. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This is a child of PackageSurfaceArea (SPD) - - + + + + + + + + + + + + + If either Protocol or ProtocolNotify sections are needed, one or more of them should be specified within this section + + + + + - - - - - - - - - - - - - - - - - - - If either Protocol or ProtocolNotify sections are needed, one or more of them should be specified within this section - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Sections refers to the Firmware Filesystem sections, PE32, UI, VER, DXS, etc. and how they are made - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Multiple Filenames may be specified, and they may also be scoped to a specific Architecture. - - - - - - - - - - - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - This string is used to provide the name and version of the Specification that the component conforms to. - - + + + + + + + + + + + + + + + - - - + + + - - - - - This is list of System Table elements. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This is a sub-element of BuildOptions - Permit Users to define their own custom ANT tasks. - - - - - - - - - + + + + + + + + + + + + + + Multiple Filenames may be specified, and they may also be scoped to a specific Architecture. + + + + + + + + + + + + + + + + + + + + + + + + + This is list of System Table elements. + + + + + - - - - - - - - - An MSA FILE list of EFI Variables described by string pair. - - - - - - This is an EFI Variable Entry - - - - - - - - - - - - - - - - - - - - - - This entry represents the Hex Byte Offset {0x0, 0xn} to where the data starts. - - - - - This entry represents the Location of the Starting Bit {0,8} of the start of Data. A value of zero or 1 indicates that there is no BitOffset into the byte. - - - - - - - - - - - This number represents the number of bits to use {0, 7} starting at the BitOffset. A value of 0 indicates that the entire Byte should be used. - - - - - - - - - - - - - - - - - - - This is an EFI Variable Entry - - - - - - - - This entry represents the Hex Byte Offset {0x0, 0xn} to where the data starts. - - - - - This entry represents the Location of the Starting Bit {0,8} of the start of Data. A value of zero or 1 indicates that there is no BitOffset into the byte. - - - - - - - - - - - This number represents the number of bits to use {0, 7} starting at the BitOffset. A value of 0 indicates that the entire Byte should be used. - - - - - - - - - - - - - - - - - - - - - - - This tag is used in the Framework Package Database File to track all DISTRIBUTION packages (FAR files) installed in a workspace. (Database) - - + + + + + + + + + + + + This is a sub-element of BuildOptions + Permit Users to define their own custom ANT tasks. + + + + + + + + + + + + + + + + + + + An MSA FILE list of EFI Variables described by string pair. + + + + + + This is an EFI Variable Entry + + - - - - + + + + + + + + + + +