<xs:element minOccurs="0" maxOccurs="unbounded" ref="Ffs"/>\r
<xs:element minOccurs="0" maxOccurs="1" ref="Sections"/>\r
<xs:element minOccurs="0" maxOccurs="unbounded" ref="Filenames"/>\r
+ <xs:element ref="Options" minOccurs="0" maxOccurs="1"/>\r
<xs:sequence minOccurs="0">\r
<xs:element minOccurs="0" maxOccurs="unbounded" name="Option">\r
<xs:complexType>\r
</xs:complexType>\r
</xs:element>\r
</xs:sequence>\r
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="UserExtensions"/> \r
</xs:sequence>\r
<xs:attribute name="ToolChain" type="ToolChains"/>\r
</xs:complexType>\r
</xs:element>\r
+ <xs:element name="Options">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="1" maxOccurs="unbounded" ref="Option"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="Option">\r
+ <!-- This element is used to store flags from the Tools -->\r
+ <xs:complexType>\r
+ <xs:simpleContent>\r
+ <xs:extension base="xs:normalizedString">\r
+ <xs:attributeGroup ref="OptionAttributes"/>\r
+ </xs:extension>\r
+ </xs:simpleContent>\r
+ </xs:complexType>\r
+ </xs:element> \r
+ <xs:element name="ModuleBuildOptions">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##local"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="ModuleSaBuildOptions">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="0" maxOccurs="1" name="FvBinding" type="FfsNameType"/>\r
+ <!-- The FfsFileNameGuid allows the Platform Integrator to specify a GUID for the FFS File Name GUID -->\r
+ <xs:element minOccurs="0" maxOccurs="1" name="FfsFileNameGuid" type="GuidType"/>\r
+ <!-- If binding is specified, you MUST specify the FfsFormatKey -->\r
+ <xs:element minOccurs="0" maxOccurs="1" name="FfsFormatKey" type="FfsNameType"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="Options"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="ModuleDefinitions">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="SupportedArchitectures" type="ArchListType"/>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="BinaryModule" type="xs:boolean" default="false"/>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="OutputFileBasename" type="FileNameConvention"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element> \r
<xs:element name="C_Name" type="C_Name">\r
<xs:annotation>\r
<xs:documentation xml:lang="en">C_Name is valid for all Description Files</xs:documentation>\r
<xs:complexType>\r
<xs:sequence minOccurs="1">\r
<xs:element minOccurs="0" maxOccurs="1" name="PcdIsDriver" type="PcdDriverTypes"/>\r
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="Specification"/>\r
<xs:element minOccurs="0" maxOccurs="unbounded" name="Extern">\r
<xs:complexType>\r
<xs:choice minOccurs="1">\r
<xs:attributeGroup ref="ExternAttributes"/>\r
</xs:complexType>\r
</xs:element>\r
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="Specification"/>\r
<!-- Remove Arch and use Arch Attribute in above. -->\r
<xs:element minOccurs="0" maxOccurs="unbounded" name="Arch">\r
<xs:complexType>\r
<xs:annotation>\r
<xs:documentation xml:lang="en">Describe the valid content of a GUID element in and MSA file.</xs:documentation>\r
</xs:annotation>\r
- <xs:complexType>\r
+ <xs:complexType mixed="true">\r
<xs:sequence minOccurs="0" maxOccurs="1">\r
<xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/>\r
<!-- DO NOT USE removing GuidValue from use -->\r
<xs:element name="IndustryStdHeader">\r
<xs:complexType>\r
<xs:sequence>\r
- <xs:element minOccurs="1" maxOccurs="1" name="Header" type="UiNameType"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" name="Header" type="UiNameType"/>\r
<xs:element minOccurs="1" maxOccurs="1" name="IncludeHeader" type="PathAndFilename"/>\r
<xs:element minOccurs="1" maxOccurs="1" ref="HelpText"/>\r
</xs:sequence>\r
<xs:complexType>\r
<xs:sequence minOccurs="1">\r
<xs:element minOccurs="0" maxOccurs="unbounded" name="Library">\r
- <xs:complexType>\r
+ <xs:complexType mixed="true">\r
<xs:simpleContent>\r
<xs:extension base="xs:NCName">\r
<xs:attributeGroup ref="LibraryAttributes"/>\r
</xs:simpleContent>\r
</xs:complexType>\r
</xs:element>\r
- <xs:element minOccurs="1" maxOccurs="1" ref="IncludeHeader"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="IncludeHeader"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" name="RecommendedInstanceGuid" type="GuidType"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" name="RecommendedInstanceVersion" type="xs:decimal"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="HelpText"/>\r
</xs:sequence>\r
</xs:complexType>\r
</xs:element>\r
<xs:complexType>\r
<xs:sequence>\r
<xs:element minOccurs="1" maxOccurs="unbounded" ref="LibraryClassDeclaration"/>\r
+ <xs:element name="LibraryClass" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element name="IncludeHeader" type="PathAndFilename" minOccurs="1" maxOccurs="1"/>\r
+ <xs:element ref="HelpText" minOccurs="1" maxOccurs="1"/>\r
+ </xs:sequence>\r
+ <xs:attributeGroup ref="LibraryClassAttributes"/>\r
+ </xs:complexType>\r
+ </xs:element> \r
</xs:sequence>\r
</xs:complexType>\r
</xs:element>\r
<xs:element name="ModuleUnloadImage" type="xs:normalizedString"/>\r
<xs:element name="MsaFiles">\r
<xs:complexType>\r
+ <xs:choice minOccurs="1" maxOccurs="unbounded">\r
<xs:sequence minOccurs="1">\r
<xs:element minOccurs="0" maxOccurs="unbounded" name="MsaFile">\r
<xs:annotation>\r
</xs:complexType>\r
</xs:element>\r
</xs:sequence>\r
+ <xs:element minOccurs="1" maxOccurs="unbounded" ref="Filename"/>\r
+ </xs:choice>\r
</xs:complexType>\r
</xs:element>\r
<!-- Use in Final -->\r
</xs:simpleContent>\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="1" maxOccurs="1" name="ToolArgs" type="xs:string"/>\r
+ <!-- Input patterns to be processed by the tool above -->\r
+ <xs:element minOccurs="1" maxOccurs="unbounded" 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="SectionAttributes"/>\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="PackageDefinitions">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="ReadOnly" type="xs:boolean" default="false"/>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="RePackage" type="xs:boolean" default="false"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element> \r
<xs:element name="PCDs">\r
<!-- PCDs section is going away to be replaced by something else TB Named later -->\r
<xs:annotation>\r
</xs:annotation>\r
<xs:complexType>\r
<xs:sequence maxOccurs="unbounded">\r
- <xs:element minOccurs="1" maxOccurs="unbounded" ref="PackageName"/>\r
+ <xs:choice>\r
+ <xs:element minOccurs="1" maxOccurs="unbounded" ref="Package"/>\r
+ <xs:element minOccurs="1" maxOccurs="unbounded" ref="PackageName"/> \r
+ </xs:choice>\r
</xs:sequence>\r
<xs:attributeGroup ref="PackageNameAttributes"/>\r
</xs:complexType>\r
</xs:annotation>\r
<xs:complexType>\r
<xs:sequence maxOccurs="unbounded">\r
- <xs:element minOccurs="1" name="Package">\r
+ <xs:element minOccurs="0" name="Package">\r
<xs:annotation>\r
<xs:documentation xml:lang="en">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.</xs:documentation>\r
</xs:annotation>\r
<xs:attributeGroup ref="PackageAttributes"/>\r
</xs:complexType>\r
</xs:element>\r
+ <xs:element name="Filename" type="PathAndFilename" minOccurs="0" maxOccurs="unbounded"/>\r
</xs:sequence>\r
</xs:complexType>\r
</xs:element>\r
+ <xs:element name="Package">\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 (SPD) </xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:simpleContent>\r
+ <xs:extension base="UiNameType">\r
+ <xs:attributeGroup ref="PackageAttributes"/>\r
+ </xs:extension>\r
+ </xs:simpleContent>\r
+ </xs:complexType>\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 (SPD) </xs:documentation>\r
<xs:complexType>\r
<xs:sequence minOccurs="1" maxOccurs="unbounded">\r
<xs:element name="SystemTable">\r
- <xs:complexType>\r
+ <xs:complexType mixed="true">\r
<xs:sequence minOccurs="1" maxOccurs="unbounded">\r
- <xs:choice>\r
- <xs:element minOccurs="0" maxOccurs="1" name="GuidC_Name" type="GuidC_NameType"/>\r
- <!-- Remove Entry from Use -->\r
- <xs:element minOccurs="0" maxOccurs="1" name="Entry" type="xs:normalizedString"/>\r
- </xs:choice>\r
+ <!-- Remove Entry from Use -->\r
+ <xs:element minOccurs="0" maxOccurs="1" name="Entry" type="xs:normalizedString"/>\r
</xs:sequence>\r
<xs:attributeGroup ref="SystemTableAttributes"/>\r
</xs:complexType>\r
</xs:element>\r
<xs:element name="UserExtensions">\r
<xs:complexType>\r
- <xs:complexContent mixed="true">\r
- <xs:extension base="xs:anyType">\r
- <xs:attribute name="UserID" type="xs:NCName" use="required"/>\r
- <xs:attribute name="Identifier" type="xs:integer" use="required"/>\r
- </xs:extension>\r
- </xs:complexContent>\r
+ <xs:sequence>\r
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##local"/>\r
+ </xs:sequence>\r
+ <xs:attribute name="UserID" type="xs:NCName" use="required"/>\r
+ <xs:attribute name="Identifier" type="xs:integer" use="required"/>\r
</xs:complexType>\r
</xs:element>\r
<xs:element name="Variables">\r
</xs:complexType>\r
</xs:element>\r
<xs:element name="Version" type="xs:normalizedString"/>\r
+ <xs:element name="FarList">\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="PathAndFilename"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element> \r
</xs:schema>\r