<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           targetNamespace="http://nwillc.github.io/scotty" xmlns="http://nwillc.github.io/scotty"
           elementFormDefault="qualified">

    <xs:element name="type">
        <xs:complexType>
            <xs:group ref="elements"/>
            <xs:attribute name="name" type="xs:string" use="required"/>
        </xs:complexType>
    </xs:element>

    <xs:group name="elements">
        <xs:sequence>
            <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:element name="attribute" type="Attribute"/>
                <xs:element name="context" type="Context"/>
                <xs:element name="instance" type="Instance"/>
            </xs:choice>
        </xs:sequence>
    </xs:group>

    <xs:complexType name="Attribute">
        <xs:sequence>
            <xs:element name="value" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="value" type="xs:string" use="optional"/>
        <xs:attribute name="name" type="xs:string" use="required"/>
    </xs:complexType>

    <xs:complexType name="Context">
        <xs:group ref="elements"/>
    </xs:complexType>

    <xs:complexType name="Instance">
        <xs:group ref="elements"/>
        <xs:attribute name="name" type="xs:string" use="optional"/>
    </xs:complexType>


</xs:schema>
