Updated Schema per e-mails.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@379 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lhauch 2006-06-02 00:24:08 +00:00
parent c2d2d94c36
commit 2fdd0c7d64
5 changed files with 66 additions and 17 deletions

View File

@ -52,6 +52,7 @@
<xs:attributeGroup name="FilenameAttributes">
<xs:attribute name="Usage" type="FileNameUsage" use="optional"/>
<xs:attribute name="Guid" type="GuidType" use="optional"/>
<xs:attribute name="GuidValue" type="GuidType" use="optional"/>
<xs:attribute name="Path" type="DirectoryNamingConvention" use="optional"/>
<xs:attribute name="FileType" type="xs:string" use="optional"/>
<xs:attribute name="ToolChain" type="ToolChains" use="optional"/>
@ -91,7 +92,12 @@
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="ModuleNameAttributes">
<xs:attribute name="Guid" type="GuidType" use="optional"/>
<xs:attribute name="Guid" type="GuidType" use="required"/>
<xs:attribute name="Version" type="VersionDataType" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="ModuleNameSaAttributes">
<xs:attribute name="ModuleName" type="xs:NCName" use="required"/>
<xs:attribute name="Guid" type="GuidType" use="required"/>
<xs:attribute name="Version" type="VersionDataType" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="MsaAttributes">
@ -107,6 +113,7 @@
<xs:attribute name="Platform" type="PlatformNamingConvention" use="optional"/>
<xs:attribute name="OverrideID" type="xs:int" use="optional"/>
<xs:attribute name="ToolChain" type="ToolChains" use="optional"/>
<xs:attribute name="BuildTarget" type="BuildTargets" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="PackageAttributes">
<xs:attribute name="Usage" type="PackageUsage" use="optional"/>
@ -116,6 +123,7 @@
<xs:attributeGroup name="PackageNameAttributes">
<xs:attribute name="Guid" type="GuidType" use="optional"/>
<xs:attribute name="Version" type="VersionDataType" use="optional"/>
<xs:attribute name="Arch" type="SupportedArchitectures" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="PcdAttributes">
<xs:annotation>

View File

@ -677,12 +677,14 @@
</xs:element>
<xs:element name="LibraryClass">
<xs:annotation>
<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>
<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>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="BaseNameConvention">
<xs:attribute name="Usage" type="LibraryUsage" use="optional"/>
<xs:attribute name="Usage" type="LibraryUsage" use="required"/>
<xs:attribute name="RecommendedInstance" type="BaseNameConvention" use="optional"/>
<xs:attribute name="RecommendedInstanceGuid" type="GuidType" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
@ -693,7 +695,19 @@
</xs:annotation>
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element minOccurs="1" maxOccurs="1" ref="LibraryClass"/>
<xs:element minOccurs="1" maxOccurs="1" name="LibraryClass">
<xs:annotation>
<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>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="BaseNameConvention">
<xs:attribute name="RecommendedInstance" type="BaseNameConvention" use="optional"/>
<xs:attribute name="RecommendedInstanceGuid" type="GuidType" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element minOccurs="1" maxOccurs="1" ref="IncludeHeader"/>
</xs:sequence>
</xs:complexType>
@ -779,7 +793,7 @@
<xs:sequence minOccurs="1">
<xs:element minOccurs="0" maxOccurs="unbounded" name="MsaFile">
<xs:annotation>
<xs:documentation xml:lang="en">Describe the valid content of a Surface Area Package Description (SPD) file</xs:documentation>
<xs:documentation xml:lang="en">Surface Area Package Description (SPD) list of Module Surface Area files</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="1">
@ -811,6 +825,24 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MsaFileList">
<xs:annotation>
<xs:documentation xml:lang="en">Surface Area Package Description (SPD) list of Module Surface Area files</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Filename">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:anyURI">
<xs:attributeGroup ref="ModuleNameSaAttributes"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="OutputDirectory">
<xs:annotation>
<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>

View File

@ -113,6 +113,13 @@
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="BuildTargets">
<xs:restriction base="xs:NCName">
<xs:enumeration value="DEBUG"/>
<xs:enumeration value="RELEASE"/>
<xs:enumeration value="BOTH"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ComponentExecutionPhase">
<xs:annotation>
<xs:documentation xml:lang="en">These are the supported EFI/Framework Execution Phases</xs:documentation>

View File

@ -63,6 +63,7 @@
<xs:element minOccurs="1" maxOccurs="1" ref="Description"/>
<xs:element minOccurs="1" maxOccurs="1" ref="Copyright"/>
<xs:element minOccurs="1" maxOccurs="1" ref="License"/>
<xs:element minOccurs="0" maxOccurs="1" ref="Specification"/>
<xs:choice minOccurs="1" maxOccurs="1">
<xs:element minOccurs="0" maxOccurs="1" ref="Created"/>
<xs:element minOccurs="0" maxOccurs="1" ref="CreatedDate"/>
@ -87,6 +88,7 @@
<xs:element minOccurs="1" maxOccurs="1" ref="Description"/>
<xs:element minOccurs="1" maxOccurs="1" ref="Copyright"/>
<xs:element minOccurs="1" maxOccurs="1" ref="License"/>
<xs:element minOccurs="0" maxOccurs="1" ref="Specification"/>
<xs:choice minOccurs="1" maxOccurs="1">
<xs:element minOccurs="0" maxOccurs="1" ref="Created"/>
<xs:element minOccurs="0" maxOccurs="1" ref="CreatedDate"/>
@ -104,7 +106,10 @@
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" ref="BaseName"/>
<xs:choice>
<xs:element minOccurs="0" maxOccurs="1" ref="BaseName"/>
<xs:element minOccurs="0" maxOccurs="1" name="ModuleName" type="xs:NCName"/>
</xs:choice>
<xs:element minOccurs="1" maxOccurs="1" ref="ModuleType"/>
<xs:element minOccurs="1" maxOccurs="1" ref="ComponentType"/>
<xs:choice>
@ -150,12 +155,12 @@
<xs:element minOccurs="1" maxOccurs="1" ref="Description"/>
<xs:element minOccurs="1" maxOccurs="1" ref="Copyright"/>
<xs:element minOccurs="1" maxOccurs="1" ref="License"/>
<xs:element minOccurs="0" maxOccurs="1" ref="Specification"/>
<xs:choice minOccurs="1" maxOccurs="1">
<xs:element minOccurs="0" maxOccurs="1" ref="Created"/>
<xs:element minOccurs="0" maxOccurs="1" ref="CreatedDate"/>
</xs:choice>
<xs:element minOccurs="0" maxOccurs="1" ref="Updated"/>
<xs:element minOccurs="0" maxOccurs="1" ref="Specification"/>
</xs:sequence>
</xs:complexType>
</xs:element>
@ -216,16 +221,7 @@
<xs:documentation xml:lang="en">DO NOT USE! removing from XMLSchema</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="BuildTarget">
<!-- BuildTarget needs to be required -->
<xs:simpleType>
<xs:restriction base="xs:NCName">
<xs:enumeration value="DEBUG"/>
<xs:enumeration value="RELEASE"/>
<xs:enumeration value="BOTH"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="BuildTarget" type="BuildTargets"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="Specification"/>
<!-- Specification needs to be required - FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00090000 -->
</xs:sequence>

View File

@ -166,6 +166,12 @@
</xs:annotation>
<xs:restriction base="xs:normalizedString"/>
</xs:simpleType>
<xs:simpleType name="PathAndFilename">
<xs:annotation>
<xs:documentation xml:lang="en"> Naming convention for a path and file name</xs:documentation>
</xs:annotation>
<xs:union memberTypes="Directory_DOS Directory_UNIX"/>
</xs:simpleType>
<xs:simpleType name="PlatformNamingConvention">
<xs:annotation>
<xs:documentation xml:lang="en"> This defines what a Platform Name is: Alphanumeric characters and optional underscore (_) or dash (-) characters, followed by a dot and more alphanumeric characters. </xs:documentation>