Intermediate Check-in this MSA schema handles both old and new elements.

This is not the final version of the XML Transition Schema - what is here works.
THE LAST SECTION, FPD File, still to come.  Now this handles both old and new MSA and SPD formats.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@450 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lhauch
2006-06-09 04:32:47 +00:00
parent eaa6aeba69
commit 5c5b48998b
6 changed files with 162 additions and 39 deletions

View File

@ -236,7 +236,7 @@
<xs:element name="E-Mail" type="E-Mail"/>
<xs:element name="Events">
<xs:annotation>
<xs:documentation xml:lang="en">This is a list of Events</xs:documentation>
<xs:documentation xml:lang="en">This is a list of MSA Events</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
@ -246,7 +246,12 @@
<xs:element name="Event">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/>
<xs:choice>
<xs:element minOccurs="0" maxOccurs="1" name="GuidC_Name" type="GuidC_NameType"/>
<!-- DO NOT USE, removing C_Name in final -->
<xs:element minOccurs="0" maxOccurs="1" ref="C_Name"/>
</xs:choice>
<!-- DO NOT USE, removing Guid and GuidValue from Final -->
<xs:choice minOccurs="0">
<xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>
<xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>
@ -287,7 +292,12 @@
<xs:element name="Event">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/>
<xs:choice>
<xs:element minOccurs="0" maxOccurs="1" name="GuidC_Name" type="GuidC_NameType"/>
<!-- DO NOT USE, removing C_Name in final -->
<xs:element minOccurs="0" maxOccurs="1" ref="C_Name"/>
</xs:choice>
<!-- DO NOT USE, removing Guid and GuidValue from Final -->
<xs:choice minOccurs="0">
<xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>
<xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>
@ -321,8 +331,7 @@
<xs:element name="ExitBootServicesCallBack" type="C_Name"/>
<xs:element name="Externs">
<xs:annotation>
<xs:documentation xml:lang="en">This is a child of MSA files, both Library and Module.</xs:documentation>
<xs:documentation xml:lang="en">This is a list of Extern statements, right now, only Driver Binding information is provided.</xs:documentation>
<xs:documentation xml:lang="en">This is a child of MSA files.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence minOccurs="1">
@ -437,7 +446,7 @@
</xs:element>
<xs:element name="Filename">
<xs:annotation>
<xs:documentation xml:lang="en">Describe the valid content of a filename</xs:documentation>
<xs:documentation xml:lang="en">Describe the valid content of a filename This should extend PathAndFilename - Variable names not allowed here!</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
@ -543,16 +552,20 @@
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element name="GuidEntry">
<xs:annotation>
<xs:documentation xml:lang="en">Describe the valid content of a PCD GUID element</xs:documentation>
<xs:documentation xml:lang="en">Describe the valid content of a GUID element in and MSA file.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="1">
<xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/>
<!-- DO NOT USE removing GuidValue from use -->
<xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>
<!-- DO NOT USE removing FeatureFlag from use, use FeatureFlag Attribute instead -->
<xs:element minOccurs="0" maxOccurs="unbounded" name="FeatureFlag" type="C_Name"/>
<!-- DO NOT USE remove ConditionalExpression and use FeatureFlag instead -->
<xs:element minOccurs="0" maxOccurs="unbounded" ref="ConditionalExpression"/>
<!-- DO NOT USE, remove DefaultValue from use -->
<xs:element minOccurs="0" maxOccurs="1" ref="DefaultValue"/>
<!-- DO NOT USE, remove HelpText from use -->
<xs:element minOccurs="0" maxOccurs="1" ref="HelpText"/>
</xs:sequence>
<xs:attributeGroup ref="GuidAttributes"/>
@ -598,7 +611,7 @@
<xs:complexType>
<xs:simpleContent>
<xs:extension base="C_Name">
<xs:attributeGroup ref="FormsetAttributes"/>
<xs:attributeGroup ref="HiiPackageAttributes"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
@ -612,8 +625,14 @@
<xs:element name="Hob">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:normalizedString"/>
<xs:choice>
<!-- Remove Name from use -->
<xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:normalizedString"/>
<xs:element minOccurs="0" maxOccurs="1" name="GuidC_Name" type="GuidC_NameType"/>
</xs:choice>
<!-- Remove C_Name from use -->
<xs:element minOccurs="0" maxOccurs="1" ref="C_Name"/>
<!-- Remove Guid and GuidValue from use -->
<xs:choice minOccurs="0">
<xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>
<xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>
@ -733,7 +752,7 @@
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="BaseNameConvention">
<xs:extension base="xs:NCName">
<xs:attributeGroup ref="LibraryClassAttributes"/>
</xs:extension>
</xs:simpleContent>
@ -772,7 +791,7 @@
<xs:annotation>
<xs:documentation xml:lang="en">This section defines what Classes of Library that this library supports. A Library may belong to multiple different library classes.</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element ref="LibraryClass"/>
</xs:sequence>
@ -949,7 +968,7 @@
</xs:element>
<xs:element name="PackageDependencies">
<xs:annotation>
<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>
<xs:documentation xml:lang="en">This tag is used in the Package Surface Area Description File (SPD) to track package dependencies for a module</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
@ -1020,7 +1039,7 @@
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="BaseNameConvention">
<xs:extension base="UiNameType">
<xs:attributeGroup ref="PackageAttributes"/>
</xs:extension>
</xs:simpleContent>
@ -1729,8 +1748,12 @@
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element name="SystemTable">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="Entry" type="xs:normalizedString"/>
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:choice>
<xs:element minOccurs="0" maxOccurs="1" name="GuidC_Name" type="GuidC_NameType"/>
<!-- Remove Entry from Use -->
<xs:element minOccurs="0" maxOccurs="1" name="Entry" type="xs:normalizedString"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="SystemTableAttributes"/>
</xs:complexType>
@ -1765,7 +1788,7 @@
</xs:element>
<xs:element name="Variables">
<xs:annotation>
<xs:documentation xml:lang="en">A list of EFI Variables described by GUID string pair.</xs:documentation>
<xs:documentation xml:lang="en">An MSA FILE list of EFI Variables described by string pair.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="unbounded">
@ -1775,11 +1798,21 @@
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="String" type="xs:normalizedString"/>
<xs:choice minOccurs="1">
<xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>
<xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>
<xs:choice>
<!-- DO NOT USE remove String from final -->
<xs:element minOccurs="1" maxOccurs="1" name="String" type="xs:normalizedString"/>
<!-- Make VariableName required -->
<xs:element minOccurs="0" maxOccurs="1" name="VariableName" type="VariableNameDataType"/>
</xs:choice>
<xs:choice minOccurs="1">
<!-- DO NOT USE, use GuidC_Name instead -->
<xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>
<!-- DO NOT USE, use GuidC_Name instead -->
<xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>
<!-- Make GuidC_Name required -->
<xs:element minOccurs="0" maxOccurs="1" name="GuidC_Name" type="GuidC_NameType"/>
</xs:choice>
<!-- DO NOT USE, removiing ByteOffset, Bit Offset and OffsetBitSize-->
<xs:element minOccurs="0" maxOccurs="1" name="ByteOffset" type="HexWordDataType">
<xs:annotation>
<xs:documentation xml:lang="en">This entry represents the Hex Byte Offset {0x0, 0xn} to where the data starts.</xs:documentation>