settingsengines/sdb/src/sdb2.0.xsd
author terytkon
Sat, 06 Nov 2010 16:59:14 +0200
changeset 9 63964d875993
parent 1 b538b70cbe51
permissions -rw-r--r--
Merge changes to system model generator to SF tip.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
	targetNamespace="http://www.symbian.com/sdbcreator/symbiansecuritysettings"
	xmlns:xs="http://www.w3.org/2001/XMLSchema"
	xmlns:sdb="http://www.symbian.com/sdbcreator/symbiansecuritysettings">
	
	<xs:element name="sdb">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="database"  minOccurs="1" maxOccurs="2">		
					<xs:complexType>	
						<xs:sequence>				 
							<xs:element name="policy"  type="sdb:policy_type" minOccurs="0" maxOccurs="4"/>
							<xs:element name="configuration"  type="sdb:configuration_type" minOccurs="0" maxOccurs="4"/>
						</xs:sequence>	
						<xs:attribute name="type" use="required" type="sdb:db_type" />	
					</xs:complexType>					
				</xs:element>		
				<xs:element name="common"  minOccurs="0" maxOccurs="2">		
					<xs:complexType>	
						<xs:sequence>	
							<xs:element name="applicable" minOccurs="1" maxOccurs="2" > 
								<xs:complexType>
									<xs:attribute name="type" use="required" type="sdb:db_type" />
								</xs:complexType>
							</xs:element>
							<xs:element name="database">		
								<xs:complexType>	
									<xs:sequence>				 
										<xs:element name="policy"  type="sdb:policy_type" minOccurs="0" maxOccurs="4"/>
										<xs:element name="configuration"  type="sdb:configuration_type" minOccurs="0" maxOccurs="4"/>
									</xs:sequence>	
								</xs:complexType>					
							</xs:element>	
						</xs:sequence>	
							
					</xs:complexType>					
				</xs:element>	
			</xs:sequence>				
			<xs:attribute name="version" use="required">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:pattern value="\d+(.)?\d*"></xs:pattern>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>			
	
	<xs:simpleType name="PolicyType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="default"/>
			<xs:enumeration value="read"/>
			<xs:enumeration value="schema"/>
			<xs:enumeration value="write"/>
		</xs:restriction>
	</xs:simpleType>    
    
	<xs:simpleType name="always">
		<xs:restriction base="xs:string">
			<xs:enumeration value="pass"/>
			<xs:enumeration value="fail"/>
		</xs:restriction>
	</xs:simpleType> 
	
	<xs:complexType name="policy_type">
		<xs:sequence>
			<xs:element name="capability" minOccurs="0" maxOccurs="7">
				<xs:complexType>
				<xs:attribute name="type" type="sdb:capabilitytype"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="type" type="sdb:PolicyType" use="required"/>
		<xs:attribute name="VID" type="xs:string" use="optional"/>
		<xs:attribute name="SID" type="xs:string" use="optional"/>								
		<xs:attribute name="always" type="sdb:always" use="optional"/>
	</xs:complexType>


	<xs:complexType name="configuration_type">
		<xs:attribute name="name" use="required" type="sdb:config_name"/>
		<xs:attribute name="value" use="required"/>
	</xs:complexType>

	<xs:simpleType name="capabilitytype">
		<xs:restriction base="xs:string">
			<xs:enumeration value="NetworkServices" />
			<xs:enumeration value="LocalServices" />
			<xs:enumeration value="ReadUserData" />
			<xs:enumeration value="WriteUserData" />
			<xs:enumeration value="Location" />
			<xs:enumeration value="UserEnvironment" />
			<xs:enumeration value="TCB" />
			<xs:enumeration value="CommDD" />
			<xs:enumeration value="PowerMgmt" />
			<xs:enumeration value="MultimediaDD" />
			<xs:enumeration value="ReadDeviceData" />
			<xs:enumeration value="WriteDeviceData" />
			<xs:enumeration value="DRM" />
			<xs:enumeration value="TrustedUI" />
			<xs:enumeration value="ProtSrv" />
			<xs:enumeration value="DiskAdmin" />
			<xs:enumeration value="NetworkControl" />
			<xs:enumeration value="AllFiles" />
			<xs:enumeration value="SwEvent" />
			<xs:enumeration value="SurroundingsDD" />
		</xs:restriction>
	</xs:simpleType>
	    
	<xs:simpleType name="db_type">
		<xs:restriction base="xs:string">
			<xs:enumeration value="sqlite"/>
			<xs:enumeration value="dbms"/>
		</xs:restriction>
	</xs:simpleType>

		
	<xs:simpleType name="config_name">
		<xs:restriction base="xs:string">
			<xs:enumeration value="page_size"/>
			<xs:enumeration value="encoding"/>	
			<xs:enumeration value="locale"/>
			<xs:enumeration value="block_size"/>
			<xs:enumeration value="cluster_size"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>