Updated for EDK II Prime
[people/mcb30/basetools.git] / Conf / XMLSchema / FrameworkPlatformDataTypes.xsd
1 <?xml version="1.0" encoding="UTF-8"?>\r
2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://www.TianoCore.org/2006/Edk2.0" targetNamespace="http://www.TianoCore.org/2006/Edk2.0">\r
3   <!--\r
4     Filename: FrameworkPlatformDataTypes.xsd\r
5     \r
6     Copyright (c) 2006, Intel Corp.\r
7     All rights reserved. This program and the accompanying materials\r
8     are licensed and made available under the terms and conditions of the BSD License\r
9     which may be found at http://opensource.org/licenses/bsd-license.php\r
10     \r
11     THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12     WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13   -->\r
14   <xs:annotation>\r
15     <xs:documentation xml:lang="en"> This schema defines EFI and Framework Platform Data Types.</xs:documentation>\r
16   </xs:annotation>\r
17   <xs:include schemaLocation="NamingConvention.xsd"/>\r
18   <xs:include schemaLocation="FrameworkDataAttributes.xsd"/>\r
19   <xs:include schemaLocation="FrameworkDataTypes.xsd"/>\r
20   <xs:simpleType name="EfiFfsFileTypes">\r
21     <xs:restriction base="UCNameType">\r
22       <xs:enumeration value="EFI_FV_FILETYPE"/>\r
23       <xs:enumeration value="EFI_FV_FILETYPE_ALL"/>\r
24       <xs:enumeration value="EFI_FV_FILETYPE_RAW"/>\r
25       <xs:enumeration value="EFI_FV_FILETYPE_FREEFORM"/>\r
26       <xs:enumeration value="EFI_FV_FILETYPE_SECURITY_CORE"/>\r
27       <xs:enumeration value="EFI_FV_FILETYPE_PEI_CORE"/>\r
28       <xs:enumeration value="EFI_FV_FILETYPE_DXE_CORE"/>\r
29       <xs:enumeration value="EFI_FV_FILETYPE_PEIM"/>\r
30       <xs:enumeration value="EFI_FV_FILETYPE_DRIVER"/>\r
31       <xs:enumeration value="EFI_VF_FILETYPE_COMBINED_PEIM_DRIVER"/>\r
32       <xs:enumeration value="EFI_VF_FILETYPE_APPLICATION"/>\r
33       <xs:enumeration value="EFI_VF_FILETYPE_FIRMWARE_VOLUME_IMAGE"/>\r
34       <xs:enumeration value="EFI_FV_FILETYPE_FFS_PAD"/>\r
35     </xs:restriction>\r
36   </xs:simpleType>\r
37   <xs:simpleType name="EfiFvAreaType">\r
38     <xs:annotation>\r
39       <xs:documentation xml:lang="en">The list of valid EFI Area Types</xs:documentation>\r
40     </xs:annotation>\r
41     <xs:restriction base="UCNameType">\r
42       <xs:enumeration value="EFI_FLASH_AREA_RECOVERY_BIOS"/>\r
43       <xs:enumeration value="EFI_FLASH_AREA_MAIN_BIOS"/>\r
44       <xs:enumeration value="EFI_FLASH_AREA_PAL_B"/>\r
45       <xs:enumeration value="EFI_FLASH_AREA_RESERVED_03"/>\r
46       <xs:enumeration value="EFI_FLASH_AREA_RESERVED_04"/>\r
47       <xs:enumeration value="EFI_FLASH_AREA_DMI_FRU"/>\r
48       <xs:enumeration value="EFI_FLASH_AREA_OEM_BINARY"/>\r
49       <xs:enumeration value="EFI_FLASH_AREA_RESERVED_07"/>\r
50       <xs:enumeration value="EFI_FLASH_AREA_RESERVED_08"/>\r
51       <xs:enumeration value="EFI_FLASH_AREA_RESERVED_09"/>\r
52       <xs:enumeration value="EFI_FLASH_AREA_RESERVED_0A"/>\r
53       <xs:enumeration value="EFI_FLASH_AREA_EFI_VARIABLES"/>\r
54       <xs:enumeration value="EFI_FLASH_AREA_MCA_LOG"/>\r
55       <xs:enumeration value="EFI_FLASH_AREA_SMBIOS_LOG"/>\r
56       <xs:enumeration value="EFI_FLASH_AREA_FTW_BACKUP"/>\r
57       <xs:enumeration value="EFI_FLASH_AREA_FTW_STATE"/>\r
58       <xs:enumeration value="EFI_FLASH_AREA_UNUSED"/>\r
59       <xs:enumeration value="EFI_FLASH_AREA_GUID_DEFINED"/>\r
60     </xs:restriction>\r
61   </xs:simpleType>\r
62   <xs:simpleType name="EfiFvAttributeListType">\r
63     <xs:list itemType="EfiFvAttributeType"/>\r
64   </xs:simpleType>\r
65   <xs:simpleType name="EfiFvAttributeType">\r
66     <xs:annotation>\r
67       <xs:documentation xml:lang="en">The list of EFI_FLASH_AREA Attributes</xs:documentation>\r
68     </xs:annotation>\r
69     <xs:restriction base="UCNameType">\r
70       <xs:enumeration value="EFI_FLASH_AREA_FV"/>\r
71       <xs:enumeration value="EFI_FLASH_AREA_MEMMAPPED_FV"/>\r
72       <xs:enumeration value="EFI_FLASH_AREA_SUBFV"/>\r
73       <xs:enumeration value="EFI_FLASH_AREA_REQUIRED"/>\r
74     </xs:restriction>\r
75   </xs:simpleType>\r
76   <xs:simpleType name="EfiNameGuidType">\r
77     <xs:annotation>\r
78       <xs:documentation xml:lang="en">Right now, only EFI_FLASH_MAP_HOB_GUID is defined</xs:documentation>\r
79     </xs:annotation>\r
80     <xs:restriction base="UCNameType">\r
81       <xs:enumeration value="EFI_FLASH_MAP_HOB_GUID"/>\r
82     </xs:restriction>\r
83   </xs:simpleType>\r
84   <xs:simpleType name="FfsDataAlignmentType">\r
85     <xs:restriction base="xs:nonNegativeInteger">\r
86       <xs:pattern value="\s*[0-7]{1}\s*"/>\r
87     </xs:restriction>\r
88   </xs:simpleType>\r
89   <xs:simpleType name="FfsNameType">\r
90     <xs:annotation>\r
91       <xs:documentation xml:lang="en"> This defines what an FFS Name can consist of.</xs:documentation>\r
92     </xs:annotation>\r
93     <xs:restriction base="xs:string">\r
94       <xs:pattern value="\s*[a-zA-Z][_\-a-zA-Z0-9]*(\.)?[a-zA-Z0-9]*\s*"/>\r
95     </xs:restriction>\r
96   </xs:simpleType>\r
97   <xs:simpleType name="FlashSize">\r
98     <xs:restriction base="xs:string">\r
99       <xs:enumeration value="256KB"/>\r
100       <xs:enumeration value="512KB"/>\r
101       <xs:enumeration value="1MB"/>\r
102       <xs:enumeration value="2MB"/>\r
103       <xs:enumeration value="4MB"/>\r
104     </xs:restriction>\r
105   </xs:simpleType>\r
106   <xs:simpleType name="FvImageTypes">\r
107     <xs:restriction base="xs:NCName">\r
108       <xs:enumeration value="Attributes"/>\r
109       <xs:enumeration value="Options"/>\r
110       <xs:enumeration value="Components"/>\r
111       <xs:enumeration value="ImageName"/>\r
112     </xs:restriction>\r
113   </xs:simpleType>\r
114   <xs:simpleType name="FvSubRegionTypes">\r
115     <xs:restriction base="UCNameType">\r
116       <xs:enumeration value="NV_VARIABLE_STORE"/>\r
117       <xs:enumeration value="MICROCODE"/>\r
118       <xs:enumeration value="NV_FTW_WORKING"/>\r
119     </xs:restriction>\r
120   </xs:simpleType>\r
121   <xs:simpleType name="ValidRegionNameListType">\r
122     <xs:list itemType="KeywordType"/>\r
123   </xs:simpleType>\r
124 </xs:schema>\r