summaryrefslogtreecommitdiff
path: root/Tools
diff options
context:
space:
mode:
authorlhauch <lhauch@6f19259b-4bc3-4df7-8a09-765794883524>2006-06-02 00:24:08 +0000
committerlhauch <lhauch@6f19259b-4bc3-4df7-8a09-765794883524>2006-06-02 00:24:08 +0000
commit2fdd0c7d649cc5dd14bb372460856cb67bedc1ca (patch)
treecfc509ac4d3e574a5c60a67590364645d6eb274a /Tools
parentc2d2d94c36f0496c941145ce6efd1e681965a8b0 (diff)
downloadedk2-platforms-2fdd0c7d649cc5dd14bb372460856cb67bedc1ca.tar.xz
Updated Schema per e-mails.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@379 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'Tools')
-rw-r--r--Tools/XMLSchema/FrameworkDataAttributes.xsd10
-rw-r--r--Tools/XMLSchema/FrameworkDataElements.xsd40
-rw-r--r--Tools/XMLSchema/FrameworkDataTypes.xsd7
-rw-r--r--Tools/XMLSchema/FrameworkHeaders.xsd20
-rw-r--r--Tools/XMLSchema/NamingConvention.xsd6
5 files changed, 66 insertions, 17 deletions
diff --git a/Tools/XMLSchema/FrameworkDataAttributes.xsd b/Tools/XMLSchema/FrameworkDataAttributes.xsd
index 63d88231f7..77f3adad66 100644
--- a/Tools/XMLSchema/FrameworkDataAttributes.xsd
+++ b/Tools/XMLSchema/FrameworkDataAttributes.xsd
@@ -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>
diff --git a/Tools/XMLSchema/FrameworkDataElements.xsd b/Tools/XMLSchema/FrameworkDataElements.xsd
index 52e5c1cc07..8579d790b6 100644
--- a/Tools/XMLSchema/FrameworkDataElements.xsd
+++ b/Tools/XMLSchema/FrameworkDataElements.xsd
@@ -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>
diff --git a/Tools/XMLSchema/FrameworkDataTypes.xsd b/Tools/XMLSchema/FrameworkDataTypes.xsd
index 87889e911d..ecdc6d66d9 100644
--- a/Tools/XMLSchema/FrameworkDataTypes.xsd
+++ b/Tools/XMLSchema/FrameworkDataTypes.xsd
@@ -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>
diff --git a/Tools/XMLSchema/FrameworkHeaders.xsd b/Tools/XMLSchema/FrameworkHeaders.xsd
index aeae77b144..718ce84d60 100644
--- a/Tools/XMLSchema/FrameworkHeaders.xsd
+++ b/Tools/XMLSchema/FrameworkHeaders.xsd
@@ -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>
diff --git a/Tools/XMLSchema/NamingConvention.xsd b/Tools/XMLSchema/NamingConvention.xsd
index b44a37e539..ca19200321 100644
--- a/Tools/XMLSchema/NamingConvention.xsd
+++ b/Tools/XMLSchema/NamingConvention.xsd
@@ -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>