<?xml version="1.0" encoding="UTF-8"?>

<xs:schema  xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
	<xs:element name="JiveMessenger">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="User" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
	<xs:element name="User">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Username" use="required"/>
				<xs:element ref="Password" use="required"/>
				<xs:element ref="Email"/>
				<xs:element ref="Name"/>
				<xs:element ref="CreationDate"/>
				<xs:element ref="ModifiedDate"/>
				<xs:element ref="Roster"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>	
	<xs:element name="Username" type="xs:string"/>
	<xs:element name="Password" type="xs:string"/>
	<xs:element name="Email" type="xs:string"/>
	<xs:element name="Name" type="xs:string"/>
	<xs:element name="CreationDate" type="jive-date"/>
	<xs:element name="ModifiedDate" type="jive-date"/>
	<xs:element name="Roster">		
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Item" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>		
	</xs:element>	
	<xs:element name="Item">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Group" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute ref="jid" use="required"/>
			<xs:attribute name="askstatus" use="required"/>
			<xs:attribute name="recvstatus" use="required"/>
			<xs:attribute name="substatus" use="required"/>
			<xs:attribute name="name"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="Group" type="xs:string"/>
	<xs:attribute name="jid" type="xs:string"/>	
	<xs:attribute name="name" type="xs:string"/>	
	<xs:attribute name="askstatus">
		<xs:simpleType>
			<xs:restriction base="xs:integer">
				<xs:minInclusive value="-1"/>
				<xs:maxInclusive value="3"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:attribute>	
	<xs:attribute name="recvstatus">
		<xs:simpleType>
			<xs:restriction base="xs:integer">
				<xs:minInclusive value="-1"/>
				<xs:maxInclusive value="3"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:attribute>	
	<xs:attribute name="substatus">
		<xs:simpleType>
			<xs:restriction base="xs:integer">
				<xs:minInclusive value="-1"/>
				<xs:maxInclusive value="3"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:attribute>	
	<xs:simpleType name="jive-date">
		<xs:restriction base="xs:string">
		</xs:restriction>
	</xs:simpleType>
</xs:schema>