<?xml version="1.0"?>
<Schema 
    name="TsecSchema" 
    xmlns="urn:schemas-microsoft-com:xml-data"
    xmlns:dt="urn:schemas-microsoft-com:datatypes">

    <ElementType name="Address" content="textOnly" model="closed">
        <description>A dialable address on a line device</description>
    </ElementType>
    <ElementType name="PermanentID" content="textOnly" model="closed" dt:type="ui4">
        <description>Line device Permanent ID</description>
    </ElementType>

    <AttributeType name="Remove" default="0" required="no" dt:type="boolean">
        <description>Line device to be removed from user access</description>
    </AttributeType>

    <ElementType name="Line" content="eltOnly" model="closed">
        <description>A line device to be added to or removed from user's access</description>
        <attribute type="Remove" required="no" />
        <group minOccurs="1" maxOccurs="1" order="one">
            <element type="Address" minOccurs="1" maxOccurs="1" />
            <element type="PermanentID" minOccurs="1" maxOccurs="1" />
        </group>
    </ElementType>

    <ElementType name="LineList" content="eltOnly" model="closed">
        <description>List of line devices</description>
        <element type="Line" minOccurs="1" maxOccurs="*" />
    </ElementType>

    <ElementType name="DomainUser" content="textOnly" model="closed" dt:type="string">
        <description>Domain user account like corpdomain\jonsmith </description>
    </ElementType>
    <ElementType name="FriendlyName" content="textOnly" model="closed" dt:type="string">
        <description>User friendly name like Jon Smith</description>
    </ElementType>
    <AttributeType name="NoMerge" default="0" required="no" dt:type="boolean">
        <description>Old line devices for this user are to be removed first</description>
    </AttributeType>

    <ElementType name="User" content="eltOnly" model="closed">
        <description>A user whose line devices are to be changed</description>
        <attribute type="NoMerge" required="no" />
        <element type="DomainUser" minOccurs="1" maxOccurs="1" />
        <element type="FriendlyName" minOccurs="0" maxOccurs="1" />
        <element type="LineList" minOccurs="0" maxOccurs="1" />
    </ElementType>

    <ElementType name="UserList" content="eltOnly" model="closed">
        <description>List of users</description>
        <element type="User" minOccurs="0" maxOccurs="*" />
    </ElementType>

    <ElementType name="TsecRoot" content="eltOnly" model="closed">
        <element type="UserList" minOccurs="1" maxOccurs="1" />
    </ElementType>
</Schema>


