<?xml version="1.0" encoding="UTF-8"?>

<!--
    Document   : ping-actor-attributes.xsd
    Created on : May 6, 2004, 12:13 PM
    Author     : bsimons
    Description:
        Purpose of XML Schema document follows.
-->

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            targetNamespace="http://ping.chip.org/schemas/ping-actor-attributes"
            xmlns:attr="http://ping.chip.org/schemas/ping-actor-attributes"
            xmlns="http://www.w3.org/2001/XMLSchema"
            elementFormDefault="unqualified">

            <element name="ActorAttributes" type="attr:ActorAttributesType"/>
            <!--Encapsulates the actor attributes-->
            <complexType name="ActorAttributesType">
                <sequence>
                    <!--A list of the roles that an actor has-->
                    <element ref="attr:Role" minOccurs="0" maxOccurs="unbounded"/>
                    <!--The actor's default role-->
                    <element ref="attr:DefaultRole" minOccurs="0"/>
                    <!--A list of groups that the actor belongs to-->
                    <element ref="attr:GroupMembership" minOccurs="0" maxOccurs="unbounded"/>
                    <!--A list of actors that the actor is proxy for-->
                    <element ref="attr:Proxy" minOccurs="0" maxOccurs="unbounded"/>
                </sequence>
            </complexType>
            
            <element name="Role" type="attr:RoleType" />
            <!--Encapsulates a role-->
            <complexType name="RoleType">
                <simpleContent>
                    <extension base="string" />
                </simpleContent>
            </complexType>
            
            <element name="DefaultRole" type="attr:RoleType" />
            
            <element name="GroupMembership" type="attr:GroupMembershipType" />
            <!--Encapsulates a group-->
            <complexType name="GroupMembershipType">
                <simpleContent>
                    <extension base="string" />
                </simpleContent>
            </complexType>
            
            <element name="Proxy" type="attr:ProxyType" />
            <!--Encapsulates a proxy-->
            <complexType name="ProxyType">
                <simpleContent>
                    <extension base="string" />
                </simpleContent>
            </complexType>
</xsd:schema>
