﻿<xs:schema id="PresentationModels.ModelDefinition"
    targetNamespace="http://schemas.neptuo.com/xsd/neptuo-presentationmodels-modeldefinition.xsd"
    elementFormDefault="qualified"
    xmlns="http://schemas.neptuo.com/xsd/neptuo-presentationmodels-modeldefinition.xsd"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">

    <xs:complexType name="MetadataType">
        <xs:attribute name="Key" type="xs:string" use="required" />
        <xs:attribute name="Value" type="xs:string" use="required" />
    </xs:complexType>

    <xs:element name="ModelDefinition">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Metadata" type="MetadataType" minOccurs="0" maxOccurs="unbounded" />
                <xs:element name="FieldDefinition" minOccurs="0" maxOccurs="unbounded" >
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="Metadata" type="MetadataType" minOccurs="0" maxOccurs="unbounded" />
                        </xs:sequence>
                        <xs:attribute name="Identifier" type="xs:string" use="required" />
                        <xs:attribute name="FieldType" type="xs:string" use="required" />
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
            <xs:attribute name="Identifier" type="xs:string" />
        </xs:complexType>
    </xs:element>
    
</xs:schema>