From: wuyizhong Date: Fri, 30 Jun 2006 17:55:30 +0000 (+0000) Subject: Change to new XML Schema X-Git-Tag: edk2-stable201903~25154 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=92fb44010ea599ab658671a0e1c8064b09cc7112 Change to new XML Schema git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@680 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/Tools/XMLSchema/FrameworkDataAttributes.xsd b/Tools/XMLSchema/FrameworkDataAttributes.xsd index 2210d9faf4..aedfc86885 100644 --- a/Tools/XMLSchema/FrameworkDataAttributes.xsd +++ b/Tools/XMLSchema/FrameworkDataAttributes.xsd @@ -1,6 +1,6 @@ - + + This schema defines EFI and Framework Attribute. Only attributeGroups are specified in this file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - This schema defines EFI and Framework Attribute. Only attributeGroups are specified in this file. + These attributes are for the Pcds listed in PcdData, PcdEntry and/or PcdBuildData entries. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - These attributes are for the Pcds listed in PcdData, PcdEntry and/or PcdBuildData entries. - PcdUsage is only valid for PcdItemTypes = FEATURE_FLAG - Only NON FEATURE_FLAG PCDS should have the FeatureFlag attribute set. - - - - - - - - - - - - - - - These attributes are for the Pcds listed in PcdData, PcdEntry and/or PcdBuildData entries. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Attributes are either compressable and/or sequence order binding - - - - - - - - - - - - - - Attributes for Sections, EncapsulationTag, EncapsulationType and FeatureFlag - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Attributes are either compressable and/or sequence order binding - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Attributes are either compressable and/or sequence order binding + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Attributes for Sections, EncapsulationTag and EncapsulationType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tools/XMLSchema/FrameworkDataElements.xsd b/Tools/XMLSchema/FrameworkDataElements.xsd index 4bf1ee177b..59bdcbdebe 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 - - + + + + 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. + + + + + + + + + - - - + + + + + + + + + + - - - - - 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 - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is a list of DataHubRecord elements. + + + + + - - - - - - - - - - - - - - - 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) - - + + + + + + + + + + + + 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 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. - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + This is a list of MSA Events + + + + + - - - - - - + + + + + + + + + + + + + + + Module has an event that is waiting to be signaled. Event is named by GUID. + + - - - - - - - - - - - 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 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) + + + + + - - - - - - - - - - This element defines a class of library, along with the path to the Include Header for this library - - + + + + + + + + + + + + + + + + Describe the valid content of a GUID element in and MSA file. + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + 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. - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - 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. - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 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 - - + + + + + + + + + + + + This section defines what Classes of Library that this library supports. A Library may belong to multiple different library classes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - 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. - - + + + + + + + + + + + + + + + + + + + Describe the valid EFI Phase that the Module is designed to execute under. + + + + + + MsaFiles is a child of Surface Area Package Description (SPD) files + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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. - - + + + + + + + + + + + + + + + + + + + + + + + + + Multiple Filenames may be specified, and they may also be scoped to a specific Architecture. + + + + + + + + + + + + - - - + + + - - - - - This is list of System Table elements. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This is a sub-element of BuildOptions - Permit Users to define their own custom ANT tasks. - - - - - - - - - + + + + + + + + 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 + + - - - - + + + + + + + + + + + diff --git a/Tools/XMLSchema/FrameworkDataTypes.xsd b/Tools/XMLSchema/FrameworkDataTypes.xsd index 33145ef18b..c6494ba8aa 100644 --- a/Tools/XMLSchema/FrameworkDataTypes.xsd +++ b/Tools/XMLSchema/FrameworkDataTypes.xsd @@ -1,6 +1,6 @@ - - - This schema defines EFI and Framework Data Types. Only simpleType are specified in this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This defines what an FFS Name can consist of. - - - - - - - - - - + + This schema defines EFI and Framework Data Types. Only simpleType are specified in this file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tools/XMLSchema/FrameworkHeaders.xsd b/Tools/XMLSchema/FrameworkHeaders.xsd index a0104f5c6e..c14254cd93 100644 --- a/Tools/XMLSchema/FrameworkHeaders.xsd +++ b/Tools/XMLSchema/FrameworkHeaders.xsd @@ -1,9 +1,10 @@ - - - - - This is the header for the Framework Package Database file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DO NOT USE! This is the header for the Component Module Build Description (MBD) file. NOTE: The GUID may be different from the GUID in the MSA file, as the Guid is updated every time the file is changed, as the Guid may change if the contents of the file are changed. - - - - - - - - - - - - - - - - - - - - - - - - - DO NOT USE! This is the header for the Library Module Build Description (MBD) file. NOTE: The Guid may be different from the Guid in the MSA file, as the Guid may change when the contents of the file are changed.. - - - - - - - - - - - - - - - - - - - - - - - - This is the Component Module Surface Area Description Header - a replacement for INF files. The GUID may change when the contents of the file are changed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DO NOT USE! This is the Library Module Surface Area Description Header - a replacement for INF files. The Guid may change when the contents of the file are changed. - - - - - - - - - - - - - - - - - - - - - - - - This head is for the Framework Platform Description file (FPD.) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This head is for the Surface Area Package Description file (SPD) - The Guid MUST change when the contents of the file undergo MAJOR FUNCTIONALITY changes. - The Version MUST change when the contents of the file undergo MINOR FUNCTIONALITY changes. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + This is the header for the Framework Package Database (DB) file. + The Guid MUST change if backward compatibility breaks caused by a new release of XML Schema. + The Version will change if a minor change to XML Schema has been made, but backward compatiblity is maintained. + + + + + + + + + + + + + + + + + This is the header for the Framework Archive Manifest file. + + + + + + + + + + + + + + + + + This header is for the Module Surface Area Description (MSA) files + The Guid MUST change if the Module changes break backward compatibility. + The Version MUST change if the Module changes, however, backward compatiblity is maintained. + + + + + + + + + + + + + + + + + + This header is for the Framework Platform Description (FPD) files. + The Guid MUST change if the FPD changes break backward compatibility. + The Version MUST change if the FPD changes, however, backward compatiblity is maintained. + + + + + + + + + + + + + + + + + This head is for the Surface Area Package Description file (SPD) + The Guid MUST change when the contents of the file undergo MAJOR FUNCTIONALITY changes. + The Version MUST change when the contents of the file undergo MINOR FUNCTIONALITY changes. + + + + + + + + + + + + + + diff --git a/Tools/XMLSchema/FrameworkPlatformDataElements.xsd b/Tools/XMLSchema/FrameworkPlatformDataElements.xsd index 234535901f..85ed426f95 100644 --- a/Tools/XMLSchema/FrameworkPlatformDataElements.xsd +++ b/Tools/XMLSchema/FrameworkPlatformDataElements.xsd @@ -1,466 +1,437 @@ - - - - - This schema defines EFI and Framework Platform Data Elements that are specific to platform creation. - - - - - - - - - - - - - - - - - - This element is used specify different name value pairs. - - - - - - - - - - - - This element is used specify different name value pairs. - - - - - - - - - - - - Permit multiple Capsule Sections - - - - - - - - - - - - - We allow specifying the Flash layout in this directory, or we allow specifying a flashmap filename - - - - - - - - - - - - - - - Define contents of the regions in flash. The files and data are placed in the output image in the order they are encountered in this definition. Multiple FlashDeviceImage sections may be defined. Which one the tool should use is specified by Name on the command line. - - - - - - - - - - - - - - - - - - - - - - - This is the Flash Devcie definition List - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Define OVERRIDE contents of the regions in flash. Only what is different here from what may defined in other areas (or files) is needed - - - - - - - - - - - This is the Flash Devcie Override Definition list. Only what is different from the previously defined stuff needs to be included. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This element is used specify different name value pairs. - - - - - - - - - - - - This section allows the user to define specific information regarding the FvImage - - - - - - - - - - - - - - - - - - - - - - - - This element is used to specify information in the Platform Description File. - This is a mixed element, allowing the user to specify the name of the MSA file, as well as to optionally specify additional override information. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Only specification is allow here. We need to let this be an addtion OR, if the WORD portion exists, this entry takes precedence. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DO NOT USE! - Removing this from Schema - - - - - - - - - - - DO NOT USE! - Use PlatformList instead - - - - - - - - - - This is used in the Framework Database file - - - - - - - - - - - This is used in a Framework Platform Description (FPD) file - - - - - - - - - - - - - - - - - - - - DO NOT USE - Use FrameworkModules Instead. - - - - - - - - - - - - - - - - We allow specifying the FlashMap filename - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Define the regions and their uses for the device - - - - - - - - - - - - Define the regions and their uses for the device - - - - - - - - - - - + + + + + This schema defines EFI and Framework Platform Data Elements that are specific to platform creation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + We allow specifying the FlashMap filename + + + + + + + + + + + + + This is used in a Framework Platform Description (FPD) file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This section allows the user to define specific information regarding the FvImage + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This element is used to specify information in the FPD ModuleSA section. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is used in the FrameworkDatabase file + + + + + + + + diff --git a/Tools/XMLSchema/FrameworkPlatformDataTypes.xsd b/Tools/XMLSchema/FrameworkPlatformDataTypes.xsd index ddb27d21ed..8631918cc7 100644 --- a/Tools/XMLSchema/FrameworkPlatformDataTypes.xsd +++ b/Tools/XMLSchema/FrameworkPlatformDataTypes.xsd @@ -1,6 +1,6 @@ - + + This schema defines EFI and Framework Platform Data Types. + + + + + + + + + + + + + + + + + + + + + + - This schema defines EFI and Framework Platform Data Types. + The list of valid EFI Area Types - - - - - - The list of EFI_FLASH_AREA Attributes - - - - - - - - - - The list of valid EFI Area Types - - - - - - - - - - - - - - Right now, only EFI_FLASH_MAP_HOB_GUID is defined - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + The list of EFI_FLASH_AREA Attributes + + + + + + + + + + + Right now, only EFI_FLASH_MAP_HOB_GUID is defined + + + + + + + + + + + + + This defines what an FFS Name can consist of. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tools/XMLSchema/NamingConvention.xsd b/Tools/XMLSchema/NamingConvention.xsd index 987c97155c..ce477cc59d 100644 --- a/Tools/XMLSchema/NamingConvention.xsd +++ b/Tools/XMLSchema/NamingConvention.xsd @@ -1,6 +1,6 @@ - + + This schema defines various data types and naming conventions including: base name, filename and directory naming conventions. These are all simple data types. + + - This schema defines various data types and naming conventions including: base name, filename and directory naming conventions. These are all simple data types. + C_Names must start with either an underscore (_) character followed by one or more alpha characters, followed by any combination of underscore or alphanumeric characters. - - - Base Names must start with an upper case character, followed by one or more alphanumeric characters and/or an optional underscore (_) character followed by one or more alphanumeric characters. Examples: Base_name3, BASE_NAME3, BaseName3 - - - - - - - - C_Names must start with either an underscore (_) character followed by one or more alpha characters, followed by any combination of underscore or alphanumeric characters. - - - - - - - - C_Names must start with either an underscore (_) character followed by one or more alpha characters, followed by any combination of underscore or alphanumeric characters. - - - - - - - - Directory naming convention is a UNION of DOS an UNIX directory path names - - - - - - Directory naming convention for Windows backslash (\) directory path name - - - - - - - - Directory naming convention for UNIX forwardslash (/) directory path name - - - - - - - - - - - - - This defines what a Filename is: Alphanumeric characters and optional underscore (_) or dash (-) characters, followed by a optional dot and more alphanumeric characters. - - - - - - - - This defines the minimum specification for a GUID Array which is 8 Hex Digits - 4 Hex Digits - 4 Hex Digits - 8 Hex Bytes, the last 16 Hex Digits can be enclosed in sqiggle {} brackets. - - - - - - - - C_Names must start with either an underscore (_) character followed by one or more alpha characters, followed by any combination of underscore or alphanumeric characters. - - - - - - - - A GUID must contain five different Hexadecimal character sets that are separated by a dash (-) character. - - - - - - - - The GUID data is union of GuidNaming Convetion and GuidArrayType. - - - - - - Define a Hex 64 Bit Value to be 0x[a-f0-9]{16} - - - - - - - - Define a Hex Address, 0x[a-fA-F0-9]{1,16} - - - - - - - - Define a Hex Byte Value to be 0x[a-f0-9]{2} - - - - - - - - Define a Hex Value to be 0x[a-f0-9]+ - - - - - - - - Define a Hex Diget to be 0x[a-f0-9] - - - - - - - - Define a Hex Double Word Value to be 0x[a-f0-9]{8} - - - - - - - - Define a Hex Word Value to be 0x[a-f0-9]{4} - - - - - - - - This defines what a Library name is: alphanumeric characters and optional underscore (_) characters. - - - - - - - - What is a name, any series of alphanumeric characters and one or more underline characters that may occur in any position - - - - - - - - This describes the normal text of a paragraph that can be used in a license or description tag. - - - - - - Naming convention for a path and file name - - - - - - This defines what a Platform Name is: Alphanumeric characters and optional underscore (_) or dash (-) characters, followed by a dot and more alphanumeric characters. - - - - - - - - Limit Polarity vaild values to -1, 0 and 1 - - - - - - - - This data type requires two or more words - - - - - - - - This defines what a Tool name is: Alphanumeric characters and optional underscore (_) or dash (-) characters, optionally followed by a dot and more alphanumeric characters. - - - - - - - - This data type is used for ToolCommand, ToolChainFamily and TagName. - - - - - - - - Definition of a UpperCase Letter type, which can be any combination of upper case characters followed by zero or more underscore and/or uppercase alphanumeric characters - - - - - - - - Definition of a UpperCase Name, which can be any combination of upper case characters followed by zero or more underscore and/or uppercase alphanumeric characters - - - - - - - - Specify a User Name - - - - - - - - %VAR%(Directory)*(File_Names)* - - - - - - - - ($VAR | $( VAR) | ${VAR})(Directory)*(File_Names) - - - - - - - - VariableConvention is a UNION of: $VAR, $( VAR), ${VAR} and %VAR% and Directory and File Names - - - - - - The GUID data is union of GuidNaming Convetion and GuidArrayType. - - - - - - VariableConvention is a UNION of: $VAR, $( VAR), ${VAR} and %VAR% - - - - - - Definition of a DOS Variable Name: %VAR% It must start with an Upper Case character. - - - - - - - - Definition of a UNIX Variable Name: $VAR It must start with an Upper Case character. - - - - - - - - Definition of a UNIX Variable Name: $( VAR1) It must start with an Upper Case character. - - - - - - - - Definition of a UNIX Variable Name: ${ VAR1} It must start with an Upper Case character. - - - - - - - - Definition of a Version Number, which must be a decimal number (or Zero) - - - - - - - - Define Zero as a vaild value - - - - - - - - Definition of a Version Number, which can be any combination of a number followed by zero or more alphanumeric-dot-alphanumeric characters - - - - - - - - - - + + + + + + + This defines what a Filename is: Alphanumeric characters and optional underscore (_) or dash (-) characters, followed by a optional dot and more alphanumeric characters. + + + + + + + + The GUID data was a union of GuidType1 and GuidType2; standardizing on GuidType2. + + + + + + This defines the minimum specification for a GUID Array which is 8 Hex Digits - 4 Hex Digits - 4 Hex Digits - 8 Hex Bytes, the last 16 Hex Digits can be enclosed in sqiggle {} brackets. + + + + + + + + A GUID must contain five different Hexadecimal character sets that are separated by a dash (-) character. + + + + + + + + Define a Hex 64 Bit Value to be 0x[a-f0-9]{16} + + + + + + + + Define a Hex Address, 0x[a-fA-F0-9]{1,16} + + + + + + + + Define a Hex Byte Value to be 0x[a-f0-9]{2} + + + + + + + + Define a Hex Value to be 0x[a-f0-9]+ + + + + + + + + Define a Hex Diget to be 0x[a-f0-9] + + + + + + + + Define a Hex Double Word Value to be 0x[a-f0-9]{8} + + + + + + + + Define a Hex Word Value to be 0x[a-f0-9]{4} + + + + + + + + + + + + + This describes the normal text of a paragraph that can be used in a license or description tag. + + + + + + Naming convention for a path and file name + + + + + + Limit Polarity vaild values to 0 and 1 + + + + + + + + This data type requires two or more words + + + + + + + + This data type is used for ToolCommand, ToolChainFamily and TagName. + + + + + + + + Definition of a UpperCase Name, which can be any combination of upper case characters followed by zero or more underscore and/or uppercase alphanumeric characters + + + + + + + + Definition of a Version Number, which is one or more strings of decimal digits separated by dots. + + The algorithm to compare two versions A and B is as follows. if A==B, then A is the same version as B. Otherwise, say A is a1.a2.a3...an and B is b1.b2.b3...bn. For the first pair (ai, bi), for i less than n and i less than m, where ai is not equal to bi, if ai is less than bi, then A is less than B. If ai is greater than bi, then A is greater than B. + + + + + + + + + Define Zero as a vaild value + + + + + diff --git a/Tools/XMLSchema/SurfaceArea.xsd b/Tools/XMLSchema/SurfaceArea.xsd index b9157f525d..76461be78d 100644 --- a/Tools/XMLSchema/SurfaceArea.xsd +++ b/Tools/XMLSchema/SurfaceArea.xsd @@ -1,6 +1,6 @@ - - - - - - The following defines the valid format for the Framework Database (DB) File. - - - + + + + + This describes the valid content of a FrameworkDatabase (DB) File. + + + + + + + + + + + + + + This describes the valid content of a Framework Platform Description (FPD) File. + + + + + + + + + + + + + + + + + + This describes the valid content for a Module Surface Area Description (MSA) file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + This describes the valid content for a Package Surface Area Description (SPD) file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + - - - - The following describes the valid format for the Framework Platform Description (FPD) File. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DO NOT USE removing all Library Module files - PUT IN PLATFORM DESCRIPTION FILE, FPD - - - - - - - - - - - - - - - - - - - - - - - - - - DO NOT USE Removing all Library Module files - USE MODULE DESCRIPTION FILE, MSA - - - - - - - - - - - - - - - - - - - - - - - - - - - - DO NOT USE Removing Build Description files - PUT IN PLATFORM DESCRIPTION FILE, FPD or RecommendedInstance Attribute in MSA LibraryClass - - - - - - - - - - - - - - - - - - - - - - - - - - This is the Module Surface Area Description (MSA) that contains the list of the module's source files, library classes that can or must be used by the module, the Include Paths, Protocols and Ppi's that are either produced or consued. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This describes the valid content for a Package Surface Area Description (SPD) file. - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +