Final Check-for TRUNK transition schema that handles both old and new elements.

This will handle both.  I will start doing the Branch stripped out version with only new stuff in it now.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@451 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lhauch 2006-06-09 05:51:19 +00:00
parent 5c5b48998b
commit 2bf4e0a163
6 changed files with 66 additions and 48 deletions

View File

@ -367,6 +367,10 @@
<!-- DO NOT USE remove OverrideID from use --> <!-- DO NOT USE remove OverrideID from use -->
<xs:attribute name="OverrideID" type="xs:int" use="optional"/> <xs:attribute name="OverrideID" type="xs:int" use="optional"/>
</xs:attributeGroup> </xs:attributeGroup>
<xs:attributeGroup name="PcdBuildDefinitionAttributes">
<xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
<xs:attribute name="ItemType" type="PcdItemTypes" use="required"/>
</xs:attributeGroup>
<xs:attributeGroup name="PcdDeclarationAttributes"> <xs:attributeGroup name="PcdDeclarationAttributes">
<xs:attribute name="SupArchList" type="ArchListType" use="optional"/> <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
<xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/> <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>

View File

@ -1293,16 +1293,22 @@
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/> <xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/>
<xs:element minOccurs="1" maxOccurs="1" name="Token" type="HexDoubleWordDataType"/> <xs:element minOccurs="1" maxOccurs="1" name="Token" type="TokenDataType"/>
<xs:element minOccurs="0" maxOccurs="1" name="TokenSpaceGuid" type="GuidType"/> <xs:element minOccurs="0" maxOccurs="1" name="TokenSpaceGuid" type="GuidType"/>
<xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDataTypes"/> <xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDataTypes"/>
<xs:group minOccurs="0" maxOccurs="1" ref="SkuGroup"/> <xs:element minOccurs="0" maxOccurs="1" name="MaxDatumSize" type="DatumSizeLimitation"/>
<xs:choice minOccurs="0" maxOccurs="1"> <xs:element minOccurs="1" maxOccurs="unbounded" name="SkuInfo">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" name="SkuId" type="xs:nonNegativeInteger"/>
<xs:choice>
<xs:group minOccurs="0" maxOccurs="1" ref="HiiEnable"/> <xs:group minOccurs="0" maxOccurs="1" ref="HiiEnable"/>
<xs:group minOccurs="0" maxOccurs="1" ref="VpdEnable"/> <xs:group minOccurs="0" maxOccurs="1" ref="VpdEnable"/>
<xs:group minOccurs="0" maxOccurs="1" ref="DefaultGroup"/>
</xs:choice> </xs:choice>
<xs:element minOccurs="1" maxOccurs="1" name="DatumSize" type="DatumSizeLimitation"/> </xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="Value" type="xs:normalizedString"/> </xs:complexType>
</xs:element>
</xs:sequence> </xs:sequence>
<xs:attributeGroup ref="PcdAttributes"/> <xs:attributeGroup ref="PcdAttributes"/>
</xs:complexType> </xs:complexType>
@ -1320,23 +1326,22 @@
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/> <xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/>
<xs:element minOccurs="1" maxOccurs="1" name="Token" type="HexDoubleWordDataType"/> <xs:element minOccurs="1" maxOccurs="1" name="Token" type="TokenDataType"/>
<xs:element minOccurs="0" maxOccurs="1" name="TokenSpaceGuid" type="GuidType"/> <xs:element minOccurs="0" maxOccurs="1" name="TokenSpaceGuid" type="GuidType"/>
<xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDataTypes"/> <xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDataTypes"/>
<xs:group minOccurs="0" maxOccurs="1" ref="SkuGroup"/> <xs:element minOccurs="0" maxOccurs="unbounded" name="Value" type="xs:normalizedString"/>
<xs:choice minOccurs="0" maxOccurs="1">
<xs:group minOccurs="0" maxOccurs="1" ref="HiiEnable"/>
<xs:group minOccurs="0" maxOccurs="1" ref="VpdEnable"/>
</xs:choice>
<xs:element minOccurs="0" maxOccurs="1" name="DatumSize" type="DatumSizeLimitation"/>
<xs:element minOccurs="0" maxOccurs="1" name="Value" type="xs:normalizedString"/>
</xs:sequence> </xs:sequence>
<xs:attributeGroup ref="PcdAttributes"/> <xs:attributeGroup ref="PcdBuildDefinitionAttributes"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:group name="DefaultGroup">
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="Value" type="xs:normalizedString"/>
</xs:sequence>
</xs:group>
<xs:group name="HiiEnable"> <xs:group name="HiiEnable">
<xs:annotation> <xs:annotation>
<xs:documentation xml:lang="en">If HiiEnable group is specified, then HiiEnable is default true</xs:documentation> <xs:documentation xml:lang="en">If HiiEnable group is specified, then HiiEnable is default true</xs:documentation>
@ -1355,21 +1360,6 @@
<xs:element minOccurs="0" maxOccurs="1" name="VpdOffset" type="Hex64BitDataType"/> <xs:element minOccurs="0" maxOccurs="1" name="VpdOffset" type="Hex64BitDataType"/>
</xs:sequence> </xs:sequence>
</xs:group> </xs:group>
<xs:group name="SkuGroup">
<xs:sequence>
<xs:element default="0x00" minOccurs="0" maxOccurs="1" name="SkuSet" type="SkuListType"/>
<xs:element default="0x00" minOccurs="0" maxOccurs="1" name="SkuList" type="SkuListType"/>
<xs:element default="false" minOccurs="0" maxOccurs="1" name="SkuDataArrayEnable" type="xs:boolean"/>
<xs:element minOccurs="0" maxOccurs="unbounded" name="SkuData">
<xs:complexType>
<xs:sequence minOccurs="1">
<xs:element name="Id" type="xs:int"/>
<xs:element name="Value" type="xs:normalizedString"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:group>
<xs:element name="PcdCoded"> <xs:element name="PcdCoded">
<xs:annotation> <xs:annotation>
<xs:documentation xml:lang="en">Child of Module Surface Area Description (MSA)</xs:documentation> <xs:documentation xml:lang="en">Child of Module Surface Area Description (MSA)</xs:documentation>
@ -1406,7 +1396,7 @@
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/> <xs:element minOccurs="1" maxOccurs="1" ref="C_Name"/>
<xs:element minOccurs="1" maxOccurs="1" name="Token" type="Token"/> <xs:element minOccurs="1" maxOccurs="1" name="Token" type="TokenDataType"/>
<xs:element minOccurs="1" maxOccurs="1" name="TokenSpaceGuid" type="GuidType"/> <xs:element minOccurs="1" maxOccurs="1" name="TokenSpaceGuid" type="GuidType"/>
<xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDataTypes"/> <xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDataTypes"/>
<xs:element minOccurs="1" maxOccurs="1" name="ValidUsage" type="PcdListType"/> <xs:element minOccurs="1" maxOccurs="1" name="ValidUsage" type="PcdListType"/>

View File

@ -429,6 +429,10 @@
<xs:simpleType name="Token"> <xs:simpleType name="Token">
<xs:union memberTypes="GuidArrayType GuidNamingConvention HexDoubleWordDataType"/> <xs:union memberTypes="GuidArrayType GuidNamingConvention HexDoubleWordDataType"/>
</xs:simpleType> </xs:simpleType>
<!-- TokenDataType is xs:nonNegativeInteger in final -->
<xs:simpleType name="TokenDataType">
<xs:union memberTypes="HexDoubleWordDataType xs:nonNegativeInteger"/>
</xs:simpleType>
<xs:simpleType name="ToolChains"> <xs:simpleType name="ToolChains">
<xs:restriction base="UCNameType"> <xs:restriction base="UCNameType">
<xs:enumeration value="MSFT"/> <xs:enumeration value="MSFT"/>

View File

@ -188,29 +188,32 @@
<xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/> <xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>
<!-- GuidValue needs to be required --> <!-- GuidValue needs to be required -->
</xs:choice> </xs:choice>
<!-- Version needs to be xs:decimal in final -->
<xs:element minOccurs="0" maxOccurs="1" ref="Version"/> <xs:element minOccurs="0" maxOccurs="1" ref="Version"/>
<xs:element minOccurs="1" maxOccurs="1" ref="Abstract"/> <xs:element minOccurs="1" maxOccurs="1" ref="Abstract"/>
<xs:element minOccurs="1" maxOccurs="1" ref="Description"/> <xs:element minOccurs="1" maxOccurs="1" ref="Description"/>
<xs:element minOccurs="0" maxOccurs="1" ref="Copyright"/> <xs:element minOccurs="0" maxOccurs="1" ref="Copyright"/>
<xs:element minOccurs="0" maxOccurs="1" ref="License"/> <xs:element minOccurs="0" maxOccurs="1" ref="License"/>
<xs:choice minOccurs="1" maxOccurs="1"> <xs:choice minOccurs="1" maxOccurs="1">
<xs:element minOccurs="0" maxOccurs="1" ref="Created"/>
<!-- DO NOT USE Created needs to be removed --> <!-- DO NOT USE Created needs to be removed -->
<xs:element minOccurs="0" maxOccurs="1" ref="Created"/>
<!-- DO NOT USE CreatedDate needs to be removed -->
<xs:element minOccurs="0" maxOccurs="1" ref="CreatedDate"/> <xs:element minOccurs="0" maxOccurs="1" ref="CreatedDate"/>
<!-- CreatedDate needs to be required -->
</xs:choice> </xs:choice>
<xs:element minOccurs="0" maxOccurs="1" ref="CreatedBy"/>
<!-- DO NOT USE CreatedBy needs to be removed --> <!-- DO NOT USE CreatedBy needs to be removed -->
<xs:element minOccurs="0" maxOccurs="1" ref="CreatedBy"/>
<xs:choice> <xs:choice>
<xs:element minOccurs="0" maxOccurs="1" ref="Updated"/>
<!-- DO NOT USE Updated needs to be removed --> <!-- DO NOT USE Updated needs to be removed -->
<xs:element minOccurs="0" maxOccurs="1" ref="Updated"/>
<!-- DO NOT USE ModifiedDate needs to be removed -->
<xs:element minOccurs="0" maxOccurs="1" ref="ModifiedDate"/> <xs:element minOccurs="0" maxOccurs="1" ref="ModifiedDate"/>
</xs:choice> </xs:choice>
<xs:element minOccurs="0" maxOccurs="1" ref="PackageType"/>
<!-- DO NOT USE PackageType needs to be removed --> <!-- DO NOT USE PackageType needs to be removed -->
<xs:element minOccurs="0" maxOccurs="1" ref="PackageType"/>
<!-- DO NOT USE BuildTarget needs to be removed -->
<xs:element minOccurs="0" maxOccurs="1" name="BuildTarget" type="BuildTargets"/> <xs:element minOccurs="0" maxOccurs="1" name="BuildTarget" type="BuildTargets"/>
<!-- Specification needs to be required - FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052 -->
<xs:element minOccurs="0" maxOccurs="unbounded" ref="Specification"/> <xs:element minOccurs="0" maxOccurs="unbounded" ref="Specification"/>
<!-- Specification needs to be required - FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00090000 -->
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>

View File

@ -259,8 +259,20 @@
<xs:element minOccurs="0" maxOccurs="1" ref="Formsets"/> <xs:element minOccurs="0" maxOccurs="1" ref="Formsets"/>
<!-- DO NOT USE! REMOVE Guids in FINAL --> <!-- DO NOT USE! REMOVE Guids in FINAL -->
<xs:element minOccurs="0" maxOccurs="1" ref="Guids"/> <xs:element minOccurs="0" maxOccurs="1" ref="Guids"/>
<!-- EXTERNS stays in FINAL --> <xs:choice minOccurs="0">
<!-- DO NOT USE! REMOVE Externs stays in FINAL -->
<xs:element minOccurs="0" maxOccurs="1" ref="Externs"/> <xs:element minOccurs="0" maxOccurs="1" ref="Externs"/>
<xs:element minOccurs="0" maxOccurs="1" name="Extern">
<xs:annotation>
<xs:documentation xml:lang="en">Only specification is allow here. We need to let this be an addtion OR, if the WORD portion exists, this entry takes precedence.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="unbounded" ref="Specification"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:choice> <xs:choice>
<!-- DO NOT USE! REMOVE PcdBuildDeclarations in FINAL --> <!-- DO NOT USE! REMOVE PcdBuildDeclarations in FINAL -->
<xs:element minOccurs="0" maxOccurs="1" ref="PcdBuildDeclarations"/> <xs:element minOccurs="0" maxOccurs="1" ref="PcdBuildDeclarations"/>
@ -319,6 +331,8 @@
<xs:documentation xml:lang="en">This is used in a Framework Platform Description (FPD) file</xs:documentation> <xs:documentation xml:lang="en">This is used in a Framework Platform Description (FPD) file</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType> <xs:complexType>
<xs:sequence>
<xs:choice>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="SEC" type="Components"/> <xs:element minOccurs="0" maxOccurs="1" name="SEC" type="Components"/>
<xs:element minOccurs="0" maxOccurs="1" name="PEI_CORE" type="Components"/> <xs:element minOccurs="0" maxOccurs="1" name="PEI_CORE" type="Components"/>
@ -327,6 +341,9 @@
<xs:element minOccurs="0" maxOccurs="1" name="DXE_DRIVERS" type="Components"/> <xs:element minOccurs="0" maxOccurs="1" name="DXE_DRIVERS" type="Components"/>
<xs:element minOccurs="0" maxOccurs="1" name="OTHER_COMPONENTS" type="Components"/> <xs:element minOccurs="0" maxOccurs="1" name="OTHER_COMPONENTS" type="Components"/>
</xs:sequence> </xs:sequence>
<xs:element minOccurs="1" maxOccurs="unbounded" ref="ModuleSA"/>
</xs:choice>
</xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="TianoImage"> <xs:element name="TianoImage">

View File

@ -184,7 +184,7 @@
<xs:annotation> <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> <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>
</xs:annotation> </xs:annotation>
<xs:restriction base="xs:string"> <xs:restriction base="xs:NCName">
<xs:pattern value="(([a-zA-Z][a-zA-Z0-9]*)(_)*(.)*)+"/> <xs:pattern value="(([a-zA-Z][a-zA-Z0-9]*)(_)*(.)*)+"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>