<xs:complexType>\r
<xs:sequence minOccurs="1" maxOccurs="unbounded">\r
<xs:element minOccurs="0" maxOccurs="unbounded" ref="PackageName"/>\r
+ <!-- remove Arch element, start using the Arch attribute for the PackageName element above. -->\r
<xs:element minOccurs="0" maxOccurs="unbounded" name="Arch">\r
<xs:complexType>\r
<xs:sequence minOccurs="1">\r
<xs:element name="InstalledDate" type="DateType"/>\r
<xs:element name="Libraries">\r
<xs:annotation>\r
- <xs:documentation xml:lang="en">Different Instances of Libraries</xs:documentation>\r
+ <xs:documentation xml:lang="en">Different (Module) Instances of Libraries used ONLY in FPD Files.</xs:documentation>\r
</xs:annotation>\r
<xs:complexType>\r
<xs:sequence minOccurs="1">\r
<xs:element minOccurs="0" maxOccurs="unbounded" name="Library">\r
<xs:complexType>\r
<xs:simpleContent>\r
- <xs:extension base="BaseNameConvention">\r
+ <xs:extension base="xs:NCName">\r
<xs:attributeGroup ref="LibraryAttributes"/>\r
</xs:extension>\r
</xs:simpleContent>\r
</xs:complexType>\r
</xs:element>\r
+ <!-- remove Arch Element HERE, start using the Arch attribute in Library element above. -->\r
<xs:element minOccurs="0" maxOccurs="unbounded" name="Arch">\r
<xs:complexType>\r
<xs:choice minOccurs="1" maxOccurs="unbounded">\r
<xs:attribute name="ArchType" type="SupportedArchitectures"/>\r
</xs:complexType>\r
</xs:element>\r
+ <!-- /remove Arch Element -->\r
</xs:sequence>\r
</xs:complexType>\r
</xs:element>\r
<xs:element name="LibraryClass">\r
<xs:annotation>\r
- <xs:documentation xml:lang="en">Define in the MSA and/or SPD, what class of library is being produced by a library module - for components, it can also specify what class of library is consumed.</xs:documentation>\r
+ <xs:documentation xml:lang="en">Used in MSA files. This defines what class of library is being supported = produced (library module) or consumed by a module.</xs:documentation>\r
</xs:annotation>\r
<xs:complexType>\r
<xs:simpleContent>\r
<xs:extension base="BaseNameConvention">\r
- <xs:attribute name="Usage" type="LibraryUsage" use="optional"/>\r
+ <xs:attribute name="Usage" type="LibraryUsage" use="required"/>\r
+ <xs:attribute name="RecommendedInstance" type="xs:NCName" use="optional"/>\r
+ <xs:attribute name="RecommendedInstanceGuid" type="GuidType" use="optional"/>\r
</xs:extension>\r
</xs:simpleContent>\r
</xs:complexType>\r
</xs:annotation>\r
<xs:complexType>\r
<xs:sequence minOccurs="0">\r
- <xs:element minOccurs="1" maxOccurs="1" ref="LibraryClass"/>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="LibraryClass">\r
+ <xs:annotation>\r
+ <xs:documentation xml:lang="en">Used in MSA and SPD files. This defines what class of library is being supported = produced (library module) or consumed by a module.</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:simpleContent>\r
+ <xs:extension base="BaseNameConvention">\r
+ <xs:attribute name="RecommendedInstance" type="xs:NCName" use="optional"/>\r
+ <xs:attribute name="RecommendedInstanceGuid" type="GuidType" use="optional"/>\r
+ </xs:extension>\r
+ </xs:simpleContent>\r
+ </xs:complexType>\r
+ </xs:element>\r
<xs:element minOccurs="1" maxOccurs="1" ref="IncludeHeader"/>\r
</xs:sequence>\r
</xs:complexType>\r
</xs:annotation>\r
<xs:complexType>\r
<xs:simpleContent>\r
- <xs:extension base="BaseNameConvention">\r
+ <xs:extension base="xs:NCName">\r
<xs:attributeGroup ref="ModuleNameAttributes"/>\r
</xs:extension>\r
</xs:simpleContent>\r
<xs:sequence minOccurs="1">\r
<xs:element minOccurs="0" maxOccurs="unbounded" name="MsaFile">\r
<xs:annotation>\r
- <xs:documentation xml:lang="en">Describe the valid content of a Surface Area Package Description (SPD) file</xs:documentation>\r
+ <xs:documentation xml:lang="en">Surface Area Package Description (SPD) list of Module Surface Area files</xs:documentation>\r
</xs:annotation>\r
<xs:complexType>\r
<xs:sequence minOccurs="0" maxOccurs="1">\r
</xs:sequence>\r
</xs:complexType>\r
</xs:element>\r
+ <xs:element name="MsaFileList">\r
+ <xs:annotation>\r
+ <xs:documentation xml:lang="en">Surface Area Package Description (SPD) list of Module Surface Area files</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="Filename">\r
+ <xs:complexType>\r
+ <xs:simpleContent>\r
+ <xs:extension base="xs:anyURI">\r
+ <xs:attributeGroup ref="ModuleNameSaAttributes"/>\r
+ </xs:extension>\r
+ </xs:simpleContent>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
<xs:element name="OutputDirectory">\r
<xs:annotation>\r
<xs:documentation xml:lang="en">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.</xs:documentation>\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:element default="false" minOccurs="0" maxOccurs="1" name="HiiEnable" type="xs:boolean"/>\r
<xs:element default="false" minOccurs="0" maxOccurs="1" name="VpdEnable" type="xs:boolean"/>\r
</xs:element>\r
<xs:element name="PackageList">\r
<xs:annotation>\r
- <xs:documentation xml:lang="en">This tag is used in the Framework Package Database File to track all packages installed in a workspace.</xs:documentation>\r
+ <xs:documentation xml:lang="en">This tag is used in the Framework Package Database File to track all packages installed in a workspace. (Database)</xs:documentation>\r
</xs:annotation>\r
<xs:complexType>\r
<xs:sequence maxOccurs="unbounded">\r
<xs:complexType>\r
<xs:sequence maxOccurs="unbounded">\r
<xs:element minOccurs="0" maxOccurs="1" ref="PackageName"/>\r
- <xs:element minOccurs="1" maxOccurs="1" ref="Guid"/>\r
- <xs:element minOccurs="1" maxOccurs="1" ref="Version"/>\r
+ <xs:choice minOccurs="1">\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
+ <!-- DO NOT USE Guid should be removed, use PackageGuid instead -->\r
+ <xs:element minOccurs="0" maxOccurs="1" name="PackageGuid" type="GuidType"/>\r
+ </xs:choice>\r
+ <xs:choice minOccurs="1">\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="Version"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" name="PackageVersion" type="VersionDataType"/>\r
+ </xs:choice>\r
<xs:element minOccurs="1" maxOccurs="1" ref="Path"/>\r
<xs:element minOccurs="1" maxOccurs="1" ref="InstalledDate"/>\r
</xs:sequence>\r
</xs:element>\r
<xs:element name="PackageName">\r
<xs:annotation>\r
- <xs:documentation xml:lang="en">This tag is used in the Package Surface Area Description File to track package dependencies for a module</xs:documentation>\r
+ <xs:documentation xml:lang="en">This tag is used in the Package Surface Area Description File to track package dependencies for a module (SPD) </xs:documentation>\r
</xs:annotation>\r
<xs:complexType>\r
<xs:simpleContent>\r
</xs:simpleContent>\r
</xs:complexType>\r
</xs:element>\r
+ <xs:element minOccurs="0" maxOccurs="1" name="TokenSpaceGuid" type="GuidType"/>\r
<xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDataTypes">\r
<xs:annotation>\r
<xs:documentation xml:lang="en">This specifies the size of the Pcd Datum. It is either 8, 16, 32 or 64 bits for values, 1 bit for BOOLEAN and variable length for elements defined as VOID*</xs:documentation>\r
</xs:simpleContent>\r
</xs:complexType>\r
</xs:element>\r
+ <xs:element minOccurs="0" maxOccurs="1" name="TokenSpaceGuid" type="GuidType"/>\r
<xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDataTypes">\r
<xs:annotation>\r
<xs:documentation xml:lang="en">This specifies the size of the Pcd Datum. It is either 8, 16, 32 or 64 bits for values, 1 bit for BOOLEAN and variable length for elements defined as VOID*</xs:documentation>\r
<xs:sequence>\r
<xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/>\r
<xs:element minOccurs="1" maxOccurs="1" name="Token" type="Token"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" name="TokenSpaceGuid" type="GuidType"/>\r
<xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDataTypes"/>\r
<xs:element default="false" minOccurs="0" maxOccurs="1" name="HiiEnable" type="xs:boolean"/>\r
<xs:element default="false" minOccurs="0" maxOccurs="1" name="VpdEnable" type="xs:boolean"/>\r