<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="urn:icsy:venice:types:domain" xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:icsy:venice:types:domain">
	<simpleType name="DomainName">
		<annotation>
			<documentation>The domain name type.</documentation>
		</annotation>
		<restriction base="string">
			<minLength value="4"/>
			<maxLength value="256"/>
			<whiteSpace value="collapse"/>
		</restriction>
	</simpleType>
	<simpleType name="UserName">
		<annotation>
			<documentation>A user name.</documentation>
		</annotation>
		<restriction base="string">
			<minLength value="4"/>
			<maxLength value="256"/>
			<whiteSpace value="collapse"/>
		</restriction>
	</simpleType>
	<simpleType name="RoleName">
		<annotation>
			<documentation>A role name.</documentation>
		</annotation>
		<restriction base="string">
			<minLength value="4"/>
			<maxLength value="256"/>
			<whiteSpace value="collapse"/>
		</restriction>
	</simpleType>
	<simpleType name="ServiceName">
		<annotation>
			<documentation>The service name type.</documentation>
		</annotation>
		<restriction base="string">
			<minLength value="16"/>
			<maxLength value="512"/>
			<whiteSpace value="collapse"/>
		</restriction>
	</simpleType>
	<complexType name="UserIdentification">
		<annotation>
			<documentation>A domain user is represented by this data type.</documentation>
		</annotation>
		<all>
			<element name="userName" type="tns:UserName">
				<annotation>
					<documentation>The user's ID in the domain.</documentation>
				</annotation>
			</element>
			<element name="domainName" type="tns:DomainName">
				<annotation>
					<documentation>The user's authentication domain name.</documentation>
				</annotation>
			</element>
			<element name="extAuthDomainName" type="tns:DomainName" minOccurs="0">
				<annotation>
					<documentation>The user's external authentication domain name.</documentation>
				</annotation>
			</element>
			<element name="identifiedBy" type="tns:SSOInformation" minOccurs="0">
				<annotation>
					<documentation>The SSO information that has been used to identify the user. Might be used as evidence.</documentation>
				</annotation>
			</element>
		</all>
	</complexType>
	<element name="UserIdentification" type="tns:UserIdentification">
		<annotation>
			<documentation>A domain user is represented by this data type.</documentation>
		</annotation>
	</element>
	<complexType name="SSOInformation">
		<annotation>
			<documentation>Single sign on is being implemented by this (encrypted) data structure.</documentation>
		</annotation>
		<all>
			<element name="serviceToken" type="base64Binary"/>
			<element name="authenticator" type="base64Binary"/>
		</all>
	</complexType>
	<element name="SSOInformation">
		<annotation>
			<documentation>Single sign on is being implemented by this (encrypted) data structure.</documentation>
		</annotation>
	</element>
	<complexType name="UserNameArray">
		<annotation>
			<documentation>An array of UserNames.</documentation>
		</annotation>
		<sequence>
			<element name="contents" type="tns:UserName" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<element name="UserNameArray" type="tns:UserNameArray">
		<annotation>
			<documentation>An array of UserNames.</documentation>
		</annotation>
	</element>
	<complexType name="DomainNameArray">
		<annotation>
			<documentation>An array of DomainNames.</documentation>
		</annotation>
		<sequence>
			<element name="contents" type="tns:DomainName" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<element name="DomainNameArray" type="tns:DomainNameArray">
		<annotation>
			<documentation>An array of DomainNames.</documentation>
		</annotation>
	</element>
	<complexType name="ServiceNameArray">
		<annotation>
			<documentation>An array of ServiceNames.</documentation>
		</annotation>
		<sequence>
			<element name="contents" type="tns:ServiceName" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<element name="ServiceNameArray" type="tns:ServiceNameArray">
		<annotation>
			<documentation>An array of ServiceNames.</documentation>
		</annotation>
	</element>
	<complexType name="RoleNameArray">
		<annotation>
			<documentation>An array of RoleNames.</documentation>
		</annotation>
		<sequence>
			<element name="contents" type="tns:RoleName" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<element name="RoleNameArray" type="tns:RoleNameArray">
		<annotation>
			<documentation>An array of RoleNames.</documentation>
		</annotation>
	</element>
</schema>

