mirror of
				https://git.proxmox.com/git/mirror_edk2
				synced 2025-10-31 10:40:34 +00:00 
			
		
		
		
	 30fdf1140b
			
		
	
	
		30fdf1140b
		
	
	
	
	
		
			
			git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8964 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			410 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			410 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <?xml version="1.0" encoding="UTF-8"?>
 | |
| <!--
 | |
|     Filename: WorkspaceContent.xsd
 | |
|     
 | |
|     Copyright (c) 2008, Intel Corp.  All rights reserved.
 | |
|     
 | |
|     This program and the accompanying materials are licensed and made available 
 | |
|     under the terms and conditions of the BSD License which may be found at 
 | |
|     http://opensource.org/licenses/bsd-license.php
 | |
|     
 | |
|     THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
 | |
|     WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 | |
|     
 | |
| -->
 | |
| <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
 | |
| 	elementFormDefault="qualified"
 | |
| 	targetNamespace="http://edk2.TianoCore.org/2008/1.0"
 | |
| 	xmlns="http://edk2.TianoCore.org/2008/1.0">
 | |
| 	<xs:annotation>
 | |
| 		<xs:documentation xml:lang="en-us">This document covers the
 | |
| 			WorkspaceContent.xml file that tracks what has been installed into an EDK
 | |
| 			II development WORKSPACE.</xs:documentation>
 | |
| 	</xs:annotation>
 | |
| 	<xs:element name="WorkspaceContent">
 | |
| 		<xs:annotation>
 | |
| 			<xs:documentation xml:lang="en-us"> This file describes the distributions,
 | |
| 				packages, stand-alone (non-package) modules and miscellaneous files that
 | |
| 				have been installed in THIS WORKSPACE. Additionally, any tools that are
 | |
| 				installed as part of a distribution are tracked (tools are not required
 | |
| 				to be installed within a WORKSPACE.) </xs:documentation>
 | |
| 		</xs:annotation>
 | |
| 		<xs:complexType>
 | |
| 			<xs:sequence>
 | |
| 				<xs:element ref="Header" minOccurs="1" maxOccurs="1">
 | |
| 					<xs:annotation>
 | |
| 						<xs:documentation xml:lang="en-us"> This section tracks required
 | |
| 							information about this WORKSPACE. </xs:documentation>
 | |
| 					</xs:annotation>
 | |
| 				</xs:element>
 | |
| 				<xs:element ref="DistributionPackage" minOccurs="1"
 | |
| 					maxOccurs="unbounded">
 | |
| 					<xs:annotation>
 | |
| 						<xs:documentation xml:lang="en-us"> The list of UEFI/PI distribution
 | |
| 							packages that have been installed in this WORKSPACE.
 | |
| 						</xs:documentation>
 | |
| 					</xs:annotation>
 | |
| 				</xs:element>
 | |
| 			</xs:sequence>
 | |
| 		</xs:complexType>
 | |
| 	</xs:element>
 | |
| 
 | |
| 	<xs:element name="Header">
 | |
| 		<xs:complexType>
 | |
| 			<xs:sequence>
 | |
| 				<xs:element minOccurs="0" maxOccurs="1" name="Name"
 | |
| 					type="xs:normalizedString">
 | |
| 					<xs:annotation>
 | |
| 						<xs:documentation xml:lang="en-us"> This User Interface Name can be
 | |
| 							entered during initialization of a WORKSPACE to permit a developer
 | |
| 							to uniquely identify a WORKSPACE. </xs:documentation>
 | |
| 						<xs:documentation xml:lang="en-us"> This value can be used by report
 | |
| 							generators. </xs:documentation>
 | |
| 					</xs:annotation>
 | |
| 				</xs:element>
 | |
| 				<xs:element minOccurs="1" maxOccurs="1" name="AbsolutePath"
 | |
| 					type="xs:anyURI">
 | |
| 					<xs:annotation>
 | |
| 						<xs:documentation xml:lang="en-us"> When the WORKSPACE is first
 | |
| 							initialized, this is the absolute path to the WORKSPACE. If the
 | |
| 							user moves or re-names the directory, the RmPkg tool will need to
 | |
| 							verify the content of this WORKSPACE before removing any content.
 | |
| 						</xs:documentation>
 | |
| 					</xs:annotation>
 | |
| 				</xs:element>
 | |
| 				<xs:element minOccurs="1" maxOccurs="1" name="LastModifiedDate"
 | |
| 					type="xs:dateTime">
 | |
| 					<xs:annotation>
 | |
| 						<xs:documentation xml:lang="en-us"> The date and time of the last
 | |
| 							Package Installation or Removal. The format is:
 | |
| 							YYYY-MM-DDThh:mm:ss, for example: 2001-01-31T13:30:00 (note the T
 | |
| 							character separator between the calendar date and the time.
 | |
| 						</xs:documentation>
 | |
| 					</xs:annotation>
 | |
| 				</xs:element>
 | |
| 				<xs:element minOccurs="1" maxOccurs="1"
 | |
| 					name="WorkspaceContentSpecification" default="1.0" type="xs:decimal"
 | |
| 				 />
 | |
| 			</xs:sequence>
 | |
| 		</xs:complexType>
 | |
| 	</xs:element>
 | |
| 
 | |
| 
 | |
| 
 | |
| 	<xs:element name="ModuleList">
 | |
| 		<xs:complexType>
 | |
| 			<xs:sequence>
 | |
| 				<xs:element minOccurs="1" maxOccurs="unbounded" name="Module">
 | |
| 					<xs:complexType>
 | |
| 						<xs:sequence>
 | |
| 							<xs:element name="Name" minOccurs="1" maxOccurs="1">
 | |
| 								<xs:annotation>
 | |
| 									<xs:documentation xml:lang="en-us"> The User Interface Name of
 | |
| 										the module. </xs:documentation>
 | |
| 								</xs:annotation>
 | |
| 								<xs:complexType>
 | |
| 									<xs:simpleContent>
 | |
| 										<xs:extension base="xs:normalizedString">
 | |
| 											<xs:attribute name="BaseName" type="xs:NCName"
 | |
| 												use="required">
 | |
| 												<xs:annotation>
 | |
| 													<xs:documentation xml:lang="en-us"> The BaseName is
 | |
| 														used to create files and folders during a build, and
 | |
| 														is used by packaging tools as a keyword to create
 | |
| 														the INF file. </xs:documentation>
 | |
| 												</xs:annotation>
 | |
| 											</xs:attribute>
 | |
| 										</xs:extension>
 | |
| 									</xs:simpleContent>
 | |
| 								</xs:complexType>
 | |
| 							</xs:element>
 | |
| 							<xs:element ref="GUID" minOccurs="1" maxOccurs="1">
 | |
| 								<xs:annotation>
 | |
| 									<xs:documentation xml:lang="en-us"> This is the GUID of the
 | |
| 										module. Backward compatible versions of a module can use the
 | |
| 										same GUID, however the version attribute must be changed
 | |
| 										(incrementally.) Non-backward compatible versions of a
 | |
| 										module must also provide a new GUID, while resetting the
 | |
| 										version attribute is optional. </xs:documentation>
 | |
| 								</xs:annotation>
 | |
| 							</xs:element>
 | |
| 							<xs:element name="InstalledFolder" minOccurs="1" maxOccurs="1"
 | |
| 								type="xs:anyURI">
 | |
| 								<xs:annotation>
 | |
| 									<xs:documentation xml:lang="en-us"> This is the WORKSPACE
 | |
| 										relative path that the Module was installed in.
 | |
| 									</xs:documentation>
 | |
| 								</xs:annotation>
 | |
| 							</xs:element>
 | |
| 							<xs:element name="InfFilename" minOccurs="1" maxOccurs="1"
 | |
| 								type="xs:anyURI">
 | |
| 								<xs:annotation>
 | |
| 									<xs:documentation xml:lang="en-us"> This is filename of the
 | |
| 										INF file created in the InstalledFolder (listed above)
 | |
| 										during installation. </xs:documentation>
 | |
| 								</xs:annotation>
 | |
| 							</xs:element>
 | |
| 						</xs:sequence>
 | |
| 					</xs:complexType>
 | |
| 				</xs:element>
 | |
| 			</xs:sequence>
 | |
| 		</xs:complexType>
 | |
| 	</xs:element>
 | |
| 
 | |
| 	<xs:element name="DistributionPackage">
 | |
| 		<xs:complexType>
 | |
| 			<xs:sequence>
 | |
| 				<xs:element minOccurs="1" maxOccurs="1" name="Name">
 | |
| 					<xs:annotation>
 | |
| 						<xs:documentation xml:lang="en-us"> The User Interface Name of the
 | |
| 							distribution. </xs:documentation>
 | |
| 					</xs:annotation>
 | |
| 					<xs:complexType>
 | |
| 						<xs:simpleContent>
 | |
| 							<xs:extension base="xs:normalizedString">
 | |
| 								<xs:attribute name="BaseName" type="xs:NCName" use="required">
 | |
| 									<xs:annotation>
 | |
| 										<xs:documentation xml:lang="en-us"> This is the actual
 | |
| 											BaseName used during the installation. Since users may
 | |
| 											change the Distribution Package's default BaseName (used
 | |
| 											to create the PKG and MANIFEST files) this is the real
 | |
| 											name used to create the files. </xs:documentation>
 | |
| 									</xs:annotation>
 | |
| 								</xs:attribute>
 | |
| 							</xs:extension>
 | |
| 						</xs:simpleContent>
 | |
| 					</xs:complexType>
 | |
| 				</xs:element>
 | |
| 				<xs:element ref="GUID" minOccurs="1" maxOccurs="1">
 | |
| 					<xs:annotation>
 | |
| 						<xs:documentation xml:lang="en-us"> This is the GUID of the
 | |
| 							distribution, backward compatible versions of a distribution can
 | |
| 							use the same GUID, however the version attribute must be changed
 | |
| 							(incrementally.) Non-backward compatible versions of a
 | |
| 							distribution must also provide a new GUID, while resetting the
 | |
| 							version attribute is optional. </xs:documentation>
 | |
| 					</xs:annotation>
 | |
| 				</xs:element>
 | |
| 				<xs:element minOccurs="1" maxOccurs="1" name="PkgFilename"
 | |
| 					type="xs:anyURI">
 | |
| 					<xs:annotation>
 | |
| 						<xs:documentation xml:lang="en-us"> This is the filename of the XML
 | |
| 							distribution package surface area (PKG) file that was stored in
 | |
| 							the Conf/Pkgs folder of the WORKSPACE for this distribution
 | |
| 							package. </xs:documentation>
 | |
| 					</xs:annotation>
 | |
| 				</xs:element>
 | |
| 				<xs:element minOccurs="1" maxOccurs="1" name="ManifestFilename"
 | |
| 					type="xs:anyURI">
 | |
| 					<xs:annotation>
 | |
| 						<xs:documentation xml:lang="en-us"> This is the filename of the
 | |
| 							distribution package manifest (.manifest) file that was created
 | |
| 							and stored in the Conf/Pkgs folder of the WORKSPACE for this
 | |
| 							distribution package. The InstallPkg tool must create this file
 | |
| 							using the extracted locations of the content zip file (or,
 | |
| 							alternatively, the user can create the file by redirecting the
 | |
| 							output of the zip -Tv Contents.zip.) </xs:documentation>
 | |
| 					</xs:annotation>
 | |
| 				</xs:element>
 | |
| 				<xs:element minOccurs="1" maxOccurs="1" name="InstalledDate"
 | |
| 					type="xs:dateTime" />
 | |
| 				<xs:element name="DistributionProperties" minOccurs="0" maxOccurs="1"
 | |
| 					nillable="true">
 | |
| 					<xs:annotation>
 | |
| 						<xs:documentation xml:lang="en-us"> This section tracks information
 | |
| 							and content that is not associated with either packages or
 | |
| 							modules, or is not required for building packages or modules.
 | |
| 						</xs:documentation>
 | |
| 					</xs:annotation>
 | |
| 					<xs:complexType>
 | |
| 						<xs:attribute name="ReadOnly" type="xs:boolean" default="false"
 | |
| 							use="optional">
 | |
| 							<xs:annotation>
 | |
| 								<xs:documentation xml:lang="en-us">If set to true, all content
 | |
| 									within this distribution package should NOT be
 | |
| 								modified.</xs:documentation>
 | |
| 							</xs:annotation>
 | |
| 						</xs:attribute>
 | |
| 						<xs:attribute name="RePackage" type="xs:boolean" default="false"
 | |
| 							use="optional">
 | |
| 							<xs:annotation>
 | |
| 								<xs:documentation xml:lang="en-us">If set to true, then the
 | |
| 									content can be repackaged into another distribution
 | |
| 								package.</xs:documentation>
 | |
| 							</xs:annotation>
 | |
| 						</xs:attribute>
 | |
| 						<xs:attribute name="ModifiedToolsDef" type="xs:boolean"
 | |
| 							default="false" use="optional">
 | |
| 							<xs:annotation>
 | |
| 								<xs:documentation xml:lang="en-us">If set to true, then either
 | |
| 									the distribution or one of its packages has a user extensions
 | |
| 									section that modified the tools_def.txt file.
 | |
| 								</xs:documentation>
 | |
| 							</xs:annotation>
 | |
| 						</xs:attribute>
 | |
| 						<xs:attribute name="ProvidesTools" type="xs:boolean" default="false"
 | |
| 							use="optional">
 | |
| 							<xs:annotation>
 | |
| 								<xs:documentation xml:lang="en-us"> This is used to identify a
 | |
| 									distribution that provides tools that may or may not be
 | |
| 									installed in a WORKSPACE. </xs:documentation>
 | |
| 							</xs:annotation>
 | |
| 						</xs:attribute>
 | |
| 						<xs:attribute name="ProvidesMiscellaneousFiles" type="xs:boolean"
 | |
| 							default="false" use="optional">
 | |
| 							<xs:annotation>
 | |
| 								<xs:documentation xml:lang="en-us"> This is used to identify a
 | |
| 									distribution that provides miscellaneous files that must be
 | |
| 									installed in a WORKSPACE. </xs:documentation>
 | |
| 							</xs:annotation>
 | |
| 						</xs:attribute>
 | |
| 						<xs:attribute name="UnknownUserExtensions" type="xs:boolean"
 | |
| 							default="false" use="optional">
 | |
| 							<xs:annotation>
 | |
| 								<xs:documentation xml:lang="en-us"> This is used to identify a
 | |
| 									distribution that has a UserExtensions section at the
 | |
| 									Distribution, Package or Module level that uses an Identifier
 | |
| 									other than BuildOptions, ToolsDef or DistributionPackage.
 | |
| 								</xs:documentation>
 | |
| 							</xs:annotation>
 | |
| 						</xs:attribute>
 | |
| 					</xs:complexType>
 | |
| 				</xs:element>
 | |
| 				<xs:element name="PackageList" minOccurs="0" maxOccurs="1">
 | |
| 					<xs:annotation>
 | |
| 						<xs:documentation xml:lang="en-us"> This section tracks individual
 | |
| 							packages (collections of related items.) Each package listed in
 | |
| 							this section must have a DEC file associated with it.
 | |
| 						</xs:documentation>
 | |
| 					</xs:annotation>
 | |
| 					<xs:complexType>
 | |
| 						<xs:sequence>
 | |
| 							<xs:element name="Package" minOccurs="1" maxOccurs="unbounded">
 | |
| 								<xs:complexType>
 | |
| 									<xs:sequence>
 | |
| 										<xs:element name="Name" minOccurs="1" maxOccurs="1">
 | |
| 											<xs:annotation>
 | |
| 												<xs:documentation xml:lang="en-us"> The User Interface
 | |
| 													Name of the package. </xs:documentation>
 | |
| 											</xs:annotation>
 | |
| 											<xs:complexType>
 | |
| 												<xs:simpleContent>
 | |
| 													<xs:extension base="xs:normalizedString">
 | |
| 														<xs:attribute name="BaseName" type="xs:NCName"
 | |
| 															use="required">
 | |
| 															<xs:annotation>
 | |
| 																<xs:documentation xml:lang="en-us"> The BaseName
 | |
| 																	is used to create files and folders during a
 | |
| 																	build, and is used by packaging tools as a
 | |
| 																	keyword to create the DEC file.
 | |
| 																</xs:documentation>
 | |
| 															</xs:annotation>
 | |
| 														</xs:attribute>
 | |
| 													</xs:extension>
 | |
| 												</xs:simpleContent>
 | |
| 											</xs:complexType>
 | |
| 										</xs:element>
 | |
| 										<xs:element ref="GUID" minOccurs="1" maxOccurs="1">
 | |
| 											<xs:annotation>
 | |
| 												<xs:documentation xml:lang="en-us"> This is the GUID of
 | |
| 													the package, backward compatible versions of a package
 | |
| 													can use the same GUID, however the version attribute
 | |
| 													must be changed (incrementally.) Non-backward
 | |
| 													compatible versions of a package must also provide a
 | |
| 													new GUID, while resetting the version attribute is
 | |
| 													optional. </xs:documentation>
 | |
| 											</xs:annotation>
 | |
| 										</xs:element>
 | |
| 										<xs:element name="InstalledFolder" type="xs:anyURI"
 | |
| 											minOccurs="1" maxOccurs="1">
 | |
| 											<xs:annotation>
 | |
| 												<xs:documentation xml:lang="en-us"> This is used to
 | |
| 													track the actual installation location, relative to
 | |
| 													the WORKSPACE. During an installation, the user may be
 | |
| 													presented with an option to relocate package content
 | |
| 													from the ZIP portion of the archive into a different
 | |
| 													location. </xs:documentation>
 | |
| 												<xs:documentation> Any installation tools must modify
 | |
| 													this value if the location is different from the
 | |
| 													default location. </xs:documentation>
 | |
| 												<xs:documentation> Any removal tools must check this
 | |
| 													value to locate correctly, the items that will be
 | |
| 													removed. </xs:documentation>
 | |
| 											</xs:annotation>
 | |
| 										</xs:element>
 | |
| 										<xs:element name="DecFilename" minOccurs="1" maxOccurs="1"
 | |
| 											type="xs:anyURI">
 | |
| 											<xs:annotation>
 | |
| 												<xs:documentation xml:lang="en-us"> This is the filename
 | |
| 													of the package declaration (DEC) filename created
 | |
| 													during installation in the InstalledFolder listed
 | |
| 													above. </xs:documentation>
 | |
| 											</xs:annotation>
 | |
| 										</xs:element>
 | |
| 										<xs:element ref="ModuleList" minOccurs="0" maxOccurs="1">
 | |
| 											<xs:annotation>
 | |
| 												<xs:documentation xml:lang="en-us"> This section is used
 | |
| 													to track the actual installation location, relative to
 | |
| 													the WORKSPACE. Every module that is part of this
 | |
| 													package must be listed here. During an installation,
 | |
| 													the user may be presented with an option to relocate
 | |
| 													module content from the ZIP portion of the archive
 | |
| 													into a different location, the installation tools must
 | |
| 													modify this value if the location is different from
 | |
| 													the default location. Any removal tools must check
 | |
| 													this value to locate correctly, the items that will be
 | |
| 													removed. </xs:documentation>
 | |
| 												<xs:documentation xml:lang="en-us"> The name of any INF
 | |
| 													files that were created during the installation of a
 | |
| 													distribution must also be listed in this section.
 | |
| 												</xs:documentation>
 | |
| 											</xs:annotation>
 | |
| 										</xs:element>
 | |
| 									</xs:sequence>
 | |
| 								</xs:complexType>
 | |
| 							</xs:element>
 | |
| 						</xs:sequence>
 | |
| 					</xs:complexType>
 | |
| 				</xs:element>
 | |
| 				<xs:element ref="ModuleList" minOccurs="0" maxOccurs="1">
 | |
| 					<xs:annotation>
 | |
| 						<xs:documentation xml:lang="en-us"> This section is used to record
 | |
| 							distribution packages that contain modules that are not part of a
 | |
| 							package. Modules that are part of packages are listed under the
 | |
| 							Package element of the PackageList section. </xs:documentation>
 | |
| 						<xs:documentation xml:lang="en-us"> Module only distribution will
 | |
| 							typically be for binary only modules, like the enhanced FAT
 | |
| 							driver. </xs:documentation>
 | |
| 					</xs:annotation>
 | |
| 				</xs:element>
 | |
| 			</xs:sequence>
 | |
| 		</xs:complexType>
 | |
| 	</xs:element>
 | |
| 
 | |
| 	<xs:element name="GUID">
 | |
| 		<xs:complexType>
 | |
| 			<xs:simpleContent>
 | |
| 				<xs:extension base="RegistryFormatGuid">
 | |
| 					<xs:attribute name="Version" type="xs:decimal" use="required" />
 | |
| 				</xs:extension>
 | |
| 			</xs:simpleContent>
 | |
| 		</xs:complexType>
 | |
| 	</xs:element>
 | |
| 
 | |
| 	<!-- Simple Types that further restrict allowed content. -->
 | |
| 
 | |
| 	<xs:simpleType name="RegistryFormatGuid">
 | |
| 		<xs:annotation>
 | |
| 			<xs:documentation xml:lang="en-us"> A Registry format GUID must contain
 | |
| 				five different Hexadecimal character sets that are separated by a dash
 | |
| 				(-) character. </xs:documentation>
 | |
| 		</xs:annotation>
 | |
| 		<xs:restriction base="xs:normalizedString">
 | |
| 			<xs:pattern
 | |
| 				value="\s*[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\s*"
 | |
| 			 />
 | |
| 		</xs:restriction>
 | |
| 	</xs:simpleType>
 | |
| 
 | |
| </xs:schema>
 |