<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.3 U (http://www.xmlspy.com) by ABC (XYZ University) -->
<xs:schema targetNamespace="http://crypto.stanford.edu/dc/RTMLv1.0" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://crypto.stanford.edu/dc/RTMLv1.0" elementFormDefault="qualified">
	<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
	<xs:element name="CredentialStore">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="DefaultPrincipal" type="Principal" minOccurs="0"/>
				<xs:element ref="ApplicationDomainSpecification" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="PrincipalInfo" type="PrincipalInfo" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="Credential" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="ApplicationDomainSpecification">
		<xs:annotation>
			<xs:documentation>This specifies data types and role names used in one application domain.		</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="ImportDomain" type="ImportDomain" minOccurs="0" maxOccurs="unbounded"/>
				<xs:choice minOccurs="0" maxOccurs="unbounded">
					<xs:element name="IntegerType" type="IntegerTypeDeclaration"/>
					<xs:element name="DecimalType" type="DecimalTypeDeclaration"/>
					<xs:element name="EnumType" type="EnumTypeDeclaration"/>
					<xs:element name="StringType" type="StringTypeDeclaration"/>
					<xs:element name="RecordType" type="RecordTypeDeclaration"/>
					<xs:element name="TreeType" type="TreeTypeDeclaration"/>
				</xs:choice>
				<xs:element name="PrincipalType" type="PrincipalTypeDeclaration" minOccurs="0"/>
				<xs:element name="RoleDeclaration" type="RoleDeclaration" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="uri" type="xs:anyURI" use="required"/>
			<xs:attribute name="id" type="HashID"/>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="ImportDomain">
		<xs:sequence>
			<xs:element name="Location" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="name" type="Identifier" use="required"/>
		<xs:attribute name="idref" type="HashID" use="required"/>
		<xs:attribute name="uri" type="xs:anyURI"/>
	</xs:complexType>
	<xs:complexType name="IntegerTypeDeclaration">
		<xs:annotation>
			<xs:documentation>It is required that base  is between min and max.  A legal value is between min and max, and satisfies (v-base) % step = 0.</xs:documentation>
		</xs:annotation>
		<xs:attribute name="name" type="Identifier" use="required"/>
		<xs:attribute name="min" type="xs:long" use="required"/>
		<xs:attribute name="includeMin" type="xs:boolean" default="true"/>
		<xs:attribute name="max" type="xs:long" use="required"/>
		<xs:attribute name="includeMax" type="xs:boolean" default="true"/>
		<xs:attribute name="step" type="xs:long" default="1"/>
		<xs:attribute name="base" type="xs:long" default="0"/>
	</xs:complexType>
	<xs:complexType name="DecimalTypeDeclaration">
		<xs:annotation>
			<xs:documentation>Similar to IntType.</xs:documentation>
		</xs:annotation>
		<xs:attribute name="name" type="Identifier" use="required"/>
		<xs:attribute name="min" type="xs:decimal" use="required"/>
		<xs:attribute name="includeMin" type="xs:boolean"/>
		<xs:attribute name="max" type="xs:decimal" use="required"/>
		<xs:attribute name="includeMax" type="xs:boolean"/>
		<xs:attribute name="step" type="xs:decimal" default="1"/>
		<xs:attribute name="base" type="xs:decimal" default="0"/>
	</xs:complexType>
	<xs:complexType name="EnumTypeDeclaration">
		<xs:sequence>
			<xs:element name="EnumValue" type="Enum" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="name" type="Identifier" use="required"/>
		<xs:attribute name="ignoreCase" type="xs:boolean" default="false"/>
		<xs:attribute name="ordered" type="xs:boolean" default="false"/>
		<xs:attribute name="size" type="xs:int"/>
	</xs:complexType>
	<xs:complexType name="StringTypeDeclaration">
		<xs:attribute name="name" type="Identifier" use="required"/>
		<xs:attribute name="ignoreCase" type="xs:boolean" default="false"/>
		<xs:attribute name="ordered" type="xs:boolean" default="false"/>
	</xs:complexType>
	<xs:complexType name="TreeTypeDeclaration">
		<xs:annotation>
			<xs:documentation>The three attributes rootsymbol, separator, and rootFirst determine how a constant of a tree type looks like.</xs:documentation>
		</xs:annotation>
		<xs:attribute name="name" type="Identifier" use="required"/>
		<xs:attribute name="separator" type="xs:string" use="required"/>
		<xs:attribute name="order" type="TreeValueOrderType" use="required"/>
	</xs:complexType>
	<xs:simpleType name="TreeValueOrderType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="rootFirst"/>
			<xs:enumeration value="rootLast"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="RecordTypeDeclaration">
		<xs:sequence>
			<xs:element name="Field" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Type" type="NameRef"/>
					</xs:sequence>
					<xs:attribute name="name" type="Identifier" use="required"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="name" type="Identifier" use="required"/>
	</xs:complexType>
	<xs:attributeGroup name="NameRef">
		<xs:attribute name="name" type="Identifier" use="required"/>
		<xs:attribute name="domain" type="Identifier"/>
	</xs:attributeGroup>
	<xs:complexType name="NameRef">
		<xs:attributeGroup ref="NameRef"/>
	</xs:complexType>
	<xs:complexType name="PrincipalTypeDeclaration">
		<xs:sequence>
			<xs:element name="Type" type="NameRef"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="RoleDeclaration">
		<xs:sequence>
			<xs:element name="Description" minOccurs="0" maxOccurs="unbounded"/>
			<xs:choice minOccurs="0">
				<xs:element name="Restriction">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="BaseRole" type="NameRef"/>
							<xs:element name="Parameter" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Type" type="NameRef"/>
									</xs:sequence>
									<xs:attribute name="name" type="Identifier" use="required"/>
									<xs:attribute name="requireSafety" type="xs:boolean" default="false"/>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Extension">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="BaseRole" type="NameRef"/>
							<xs:element name="Parameter" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Type" type="NameRef"/>
									</xs:sequence>
									<xs:attribute name="name" type="Identifier" use="required"/>
									<xs:attribute name="requireSafety" type="xs:boolean" default="false"/>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Projection">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="BaseRole"/>
							<xs:element name="Parameter" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:attribute name="name" type="Identifier" use="required"/>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Plain">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Identity" minOccurs="0">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="BaseRole" type="NameRef"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="Parameter" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Type" type="NameRef"/>
									</xs:sequence>
									<xs:attribute name="name" type="Identifier" use="required"/>
									<xs:attribute name="requireSafety" type="xs:boolean" default="false"/>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="dimension" type="xs:int" default="1"/>
						<xs:attribute name="issuerTraces" type="IssuerTracesType" default="rule"/>
						<xs:attribute name="subjectTraces" type="SubjectTracesType" default="fact"/>
					</xs:complexType>
				</xs:element>
			</xs:choice>
		</xs:sequence>
		<xs:attribute name="name" type="Identifier" use="required"/>
		<xs:attribute name="isIdentity" type="xs:boolean" default="false"/>
	</xs:complexType>
	<xs:simpleType name="IssuerTracesType">
		<xs:restriction base="xs:token">
			<xs:enumeration value="all"/>
			<xs:enumeration value="def"/>
			<xs:enumeration value="rule"/>
			<xs:enumeration value="none"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="SubjectTracesType">
		<xs:restriction base="xs:token">
			<xs:enumeration value="all"/>
			<xs:enumeration value="fact"/>
			<xs:enumeration value="none"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:element name="Credential">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Preamble" type="Preamble"/>
				<xs:element name="Issuer">
					<xs:complexType>
						<xs:sequence>
							<xs:group ref="PrincipalValue"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:group ref="Definition" maxOccurs="unbounded"/>
				<xs:element name="ValidityTime" type="ValidityTime"/>
				<xs:element name="ValidityRule" type="ValidityRule" minOccurs="0" maxOccurs="unbounded"/>
				<xs:choice minOccurs="0">
					<xs:element ref="ds:Signature"/>
					<xs:element ref="ds:X509Data"/>
				</xs:choice>
			</xs:sequence>
			<xs:attribute name="id" type="HashID"/>
		</xs:complexType>
		<xs:unique name="principalShortName">
			<xs:selector xpath=".//Principal"/>
			<xs:field xpath="@shortName"/>
		</xs:unique>
		<xs:keyref name="principalShortNameRef" refer="principalShortName">
			<xs:selector xpath=".//PrincipaRef"/>
			<xs:field xpath="@shortName"/>
		</xs:keyref>
	</xs:element>
	<xs:element name="LocalStatement">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Preamble" type="Preamble"/>
				<xs:element name="RuleIdentifier" type="xs:token" minOccurs="0"/>
				<xs:group ref="Definition" maxOccurs="unbounded"/>
				<xs:element name="ValidityTime" type="ValidityTime"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="Preamble">
		<xs:sequence>
			<xs:element name="ImportDomain" type="ImportDomain" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Principal" type="Principal" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ValidityTime">
		<xs:sequence>
			<xs:element name="IssueTime" type="xs:dateTime"/>
			<xs:element name="NotBefore" type="xs:dateTime" minOccurs="0"/>
			<xs:element name="NotAfter" type="xs:dateTime" minOccurs="0"/>
			<xs:element name="LifeTime" type="xs:duration" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="CRLLocator">
		<xs:sequence>
			<xs:group ref="PrincipalValue"/>
		</xs:sequence>
		<xs:attribute name="frequency" type="xs:duration"/>
		<xs:attribute name="uri" type="xs:anyURI"/>
	</xs:complexType>
	<xs:complexType name="ValidityRule">
		<xs:sequence>
			<xs:any/>
		</xs:sequence>
	</xs:complexType>
	<xs:group name="VerificationRecord">
		<xs:sequence/>
	</xs:group>
	<xs:complexType name="RoleTerm">
		<xs:sequence>
			<xs:element name="Parameter" type="Field" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attributeGroup ref="NameRef"/>
	</xs:complexType>
	<xs:group name="Role">
		<xs:choice>
			<xs:element name="RoleTerm" type="RoleTerm"/>
			<xs:element name="ExternalRole">
				<xs:complexType>
					<xs:sequence>
						<xs:group ref="PrincipalValue"/>
						<xs:element name="RoleTerm" type="RoleTerm"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:choice>
	</xs:group>
	<xs:complexType name="Field">
		<xs:group ref="Constraint" minOccurs="0"/>
		<xs:attribute name="name" type="Identifier" use="required"/>
		<xs:attribute name="id" type="xs:ID"/>
	</xs:complexType>
	<xs:complexType name="Record">
		<xs:sequence>
			<xs:element name="Field" type="Field" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="SpecialPrincipalType">
		<xs:restriction base="xs:token">
			<xs:enumeration value="this"/>
			<xs:enumeration value="issuer"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:group name="Constraint">
		<xs:choice>
			<xs:element name="IntegerValue" type="Integer"/>
			<xs:element name="DecimalValue" type="Decimal"/>
			<xs:element name="StringValue" type="String"/>
			<xs:element name="EnumValue" type="Enum"/>
			<xs:element name="TimeValue" type="Time"/>
			<xs:element name="TreeValue" type="Tree"/>
			<xs:element name="Record" type="Record"/>
			<xs:group ref="PrincipalValue"/>
			<xs:element name="SpecialPrincipal"/>
			<xs:element name="Interval" type="Interval"/>
			<xs:element name="Set" type="Set"/>
			<xs:element name="Equals">
				<xs:complexType>
					<xs:attribute name="ref" type="xs:IDREF"/>
				</xs:complexType>
			</xs:element>
		</xs:choice>
	</xs:group>
	<xs:group name="Definition">
		<xs:choice>
			<xs:element name="SimpleMember" type="SimpleMember"/>
			<xs:element name="SimpleContainment" type="SimpleContainment"/>
			<xs:element name="LinkedContainment" type="LinkingContainment"/>
			<xs:element name="IntersectionContainment" type="IntersectionContainment"/>
			<xs:element name="ProductContainment" type="ProductContainment"/>
			<xs:element name="ExclusiveProductContainment" type="ExclusiveProductContainment"/>
			<xs:element name="SimpleDelegation" type="SimpleDelegation"/>
			<xs:element name="AdvancedDelegation" type="AdvancedDelegation"/>
		</xs:choice>
	</xs:group>
	<xs:complexType name="RoleSequence">
		<xs:sequence>
			<xs:group ref="Role" minOccurs="2" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DefinitionBase" abstract="true">
		<xs:sequence>
			<xs:element name="HeadRoleTerm" type="RoleTerm"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SimpleMember">
		<xs:complexContent>
			<xs:extension base="DefinitionBase">
				<xs:sequence>
					<xs:group ref="PrincipalValue"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SimpleContainment">
		<xs:complexContent>
			<xs:extension base="DefinitionBase">
				<xs:sequence>
					<xs:group ref="Role"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="IntersectionContainment">
		<xs:complexContent>
			<xs:extension base="DefinitionBase">
				<xs:sequence>
					<xs:element name="Intersection" type="RoleSequence"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="LinkingContainment">
		<xs:complexContent>
			<xs:extension base="DefinitionBase">
				<xs:sequence>
					<xs:element name="LinkedRole">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="RoleTerm" type="RoleTerm"/>
								<xs:element name="RoleTerm" type="RoleTerm"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ProductContainment">
		<xs:complexContent>
			<xs:extension base="DefinitionBase">
				<xs:sequence>
					<xs:element name="Product" type="RoleSequence"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ExclusiveProductContainment">
		<xs:complexContent>
			<xs:extension base="DefinitionBase">
				<xs:sequence>
					<xs:element name="ExclusiveProduct" type="RoleSequence"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SimpleDelegation">
		<xs:complexContent>
			<xs:extension base="DefinitionBase">
				<xs:sequence>
					<xs:element name="DelegateTo">
						<xs:complexType>
							<xs:sequence>
								<xs:group ref="PrincipalValue"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="Control" minOccurs="0">
						<xs:complexType>
							<xs:sequence>
								<xs:group ref="Role"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="AdvancedDelegation">
		<xs:complexContent>
			<xs:extension base="DefinitionBase">
				<xs:sequence>
					<xs:element name="DelegateTo">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="RoleTerm" type="RoleTerm"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="Control" minOccurs="0">
						<xs:complexType>
							<xs:sequence>
								<xs:group ref="Role"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:simpleType name="Identifier">
		<xs:annotation>
			<xs:documentation>The schema data type of identifier used for domain names, role names, type names, etc.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:token"/>
	</xs:simpleType>
	<xs:simpleType name="HashID">
		<xs:restriction base="xs:base64Binary"/>
	</xs:simpleType>
	<xs:simpleType name="Integer">
		<xs:annotation>
			<xs:documentation>The schema data type for IntegerValue.  Although it is xs:long, the current xerces parser only allows int.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:long"/>
	</xs:simpleType>
	<xs:simpleType name="Decimal">
		<xs:annotation>
			<xs:documentation>The schema data type for DecimalValue.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:decimal"/>
	</xs:simpleType>
	<xs:simpleType name="String">
		<xs:annotation>
			<xs:documentation>The schema data type for the StringValue element in RTML credentials.  Now using token.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:token"/>
	</xs:simpleType>
	<xs:simpleType name="Enum">
		<xs:restriction base="xs:token"/>
	</xs:simpleType>
	<xs:simpleType name="Time">
		<xs:union memberTypes="xs:dateTime xs:date xs:time xs:gYear xs:gYearMonth xs:gMonth xs:gMonthDay xs:gDay"/>
	</xs:simpleType>
	<xs:complexType name="Tree">
		<xs:annotation>
			<xs:documentation>A tree value contains a string which consists of token values separated by a separator symbol, which is declared in TreeType.  The attributes determines whether the current node, children, and descendents are included.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="includeCurrent" type="xs:boolean" default="true"/>
				<xs:attribute name="includeChildren" type="xs:boolean" default="false"/>
				<xs:attribute name="includeDescendents" type="xs:boolean" default="false"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="Principal">
		<xs:choice>
			<xs:element name="KeyHash" type="HashID"/>
			<xs:element name="IntegerValue" type="Integer"/>
			<xs:element name="StringValue" type="String"/>
		</xs:choice>
		<xs:attribute name="shortName" type="Identifier"/>
	</xs:complexType>
	<xs:complexType name="PrincipalRef">
		<xs:attribute name="shortName" type="Identifier"/>
	</xs:complexType>
	<xs:complexType name="PrincipalInfo">
		<xs:sequence>
			<xs:element ref="ds:KeyValue"/>
		</xs:sequence>
	</xs:complexType>
	<xs:group name="PrincipalValue">
		<xs:choice>
			<xs:element name="Principal" type="Principal"/>
			<xs:element name="PrincipalRef" type="PrincipalRef"/>
		</xs:choice>
	</xs:group>
	<xs:complexType name="Interval">
		<xs:choice>
			<xs:sequence>
				<xs:element name="From" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="IntegerValue" type="Integer"/>
						</xs:sequence>
						<xs:attribute name="included" type="xs:boolean" default="true"/>
					</xs:complexType>
				</xs:element>
				<xs:element name="To" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="IntegerValue" type="Integer"/>
						</xs:sequence>
						<xs:attribute name="included" type="xs:boolean" default="true"/>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:sequence>
				<xs:element name="From" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="DecimalValue" type="Decimal"/>
						</xs:sequence>
						<xs:attribute name="included" type="xs:boolean" default="true"/>
					</xs:complexType>
				</xs:element>
				<xs:element name="To" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="DecimalValue" type="Decimal"/>
						</xs:sequence>
						<xs:attribute name="included" type="xs:boolean" default="true"/>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:sequence>
				<xs:element name="From" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="EnumValue" type="Enum"/>
						</xs:sequence>
						<xs:attribute name="included" type="xs:boolean" default="true"/>
					</xs:complexType>
				</xs:element>
				<xs:element name="To" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="EnumValue" type="Enum"/>
						</xs:sequence>
						<xs:attribute name="included" type="xs:boolean" default="true"/>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:sequence>
				<xs:element name="From" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="StringValue" type="String"/>
						</xs:sequence>
						<xs:attribute name="included" type="xs:boolean" default="true"/>
					</xs:complexType>
				</xs:element>
				<xs:element name="To" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="StringValue" type="String"/>
						</xs:sequence>
						<xs:attribute name="included" type="xs:boolean" default="true"/>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:sequence>
				<xs:element name="From" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="TimeValue" type="Time"/>
						</xs:sequence>
						<xs:attribute name="included" type="xs:boolean" default="true"/>
					</xs:complexType>
				</xs:element>
				<xs:element name="To" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="TimeValue" type="Time"/>
						</xs:sequence>
						<xs:attribute name="included" type="xs:boolean" default="true"/>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="Set">
		<xs:choice>
			<xs:element name="IntegerValue" type="Integer" maxOccurs="unbounded"/>
			<xs:element name="DecimalValue" type="Decimal" maxOccurs="unbounded"/>
			<xs:element name="StringValue" type="String" maxOccurs="unbounded"/>
			<xs:element name="EnumValue" type="Enum" maxOccurs="unbounded"/>
			<xs:group ref="PrincipalValue" maxOccurs="unbounded"/>
		</xs:choice>
	</xs:complexType>
</xs:schema>
